7.2 Modules de traitements et ressources
7.2.3 CasEN : système à base de connaissances
Comme nous l’avons mentionné en section3.3, notre travail s’inspire conjointement des approches orientées connaissances et orientées données. Dans ce cadre, nous nous situons dans la continuité des travaux de Friburger [Friburger, 2002,Friburger, 2006] et disposons en particulier de la cascade CasEN (librement distribuée1 avec le module de cascade de transducteurs Cassys pour la chaîne de traitement Unitex). En plus d’exploiter des res-sources communes pour enrichir les données (c.f. 7.2.2), nous utilisons ce système orienté connaissances de reconnaissance d’entités nommées.
Initialement conçu pour reconnaître des noms propres sur des textes écrits par recon-naissance de preuves contextuelles externes ou internes [Friburger, 2002,Friburger, 2006], le systèmeCasENest constitué d’un ensemble de transducteurs qui s’appuient sur des diction-naires à large couverture (dont Prolex [Tran et Maurel, 2006,Bouchou et Maurel, 2008]) pour reconnaître les entités nommées incrémentalement [Friburger et Maurel, 2004, Fribur-ger et Maurel, 2011,Maurel et al., 2011]. Implémenté par introspection, ce système a été régulièrement évalué et amélioré afin de s’adapter au traitement de la parole et à divers schémas d’annotation. Nous décrivons ici ce système dans les grandes lignes, tel qu’il a été utilisé dans le cadre de la campagne d’évaluation Etape (c.f. 7.3.3).
7.2. MODULES DE TRAITEMENTS ET RESSOURCES
Les dictionnaires mis à disposition des transducteurs contiennent au total 888 561 ex-pressions distinctes, réparties au sein de quatre dictionnaires comme le décrit le tableau
7.4. Pour chaque entrée, de nombreux traits peuvent être définis, qui peuvent être morpho-logiques, morpho-syntaxiques ou sémantiques. Tous ne sont pas dédiés à la reconnaissance d’entités nommées, notamment le dictionnaire Delaf conçu pour le TAL sans visée appli-cative particulière.
Dictionnaire Contenu Taille
Delaf Formes fléchies (hors noms propres) 682 418
Prolex Noms propres et dérivés 118 309
DicoCasEN Noms propres complémentaires, description définies 87 408 DicoCasENambiguïtés Noms propres particulièrement ambigus 426
Table7.4 – Dictionnaires CasEN
Le systèmeCasENrepose sur le principe d’une cascade : des transducteurs sont appliqués sur les textes selon un ordre prédéfini. Ces transducteurs peuvent faire appel à d’autres transducteurs en leur sein, afin de détecter des indices locaux ou reconnaître des expressions imbriquées. Ils peuvent également tirer parti d’annotations précédemment établies au sein de la cascade. Au total, CasEN comporte 790 transducteurs implémentés manuellement. Parmi ceux-ci, la cascade fait directement appel à 100 d’entre eux. Nous voyons dès lors que le système est élaboré selon une récursivité importante, pour partie lié à la nécessité de factoriser certaines reconnaissances, en particulier les expressions qu’il est utile de détecter pour plusieurs types d’entités nommées (assimilées dans le projet Etape auxcomposants). La figure 7.4illustre ce mode de fonctionnement. Nous voyons que sa complexité rend difficile une visualisation globale des dépendances entre transducteurs. A gauche de la figure se trouvent les types principaux d’entités nommées à reconnaître. Au centre apparaissent, dans l’ordre, les 100 transducteurs dont est constituée la cascade. Sur la partie droite se trouvent, dans un ordre arbitraire, les autres transducteurs auxquels il est fait appel. Les arcs tracés entre les types d’entités nommées et les transducteurs de la cascade indiquent les reconnaissances réalisées par les transducteurs (y compris par appel de transducteurs). Les arcs entre les transducteurs au centre et ceux de droite correspondent aux appels de transducteurs. Notons que nous n’y affichons pas les dépendances entre transducteurs au sein du groupe du milieu ou du groupe de droite, ni l’utilisation d’annotations établies par d’autres transducteurs au cours de la cascade.
Deux mécanismes permettent donc de construire la représentation incrémentale. D’une part, un transducteur peut faire appel à d’autres transducteurs en son sein, ils réalisent alors les reconnaissances simultanément. D’autre part, une annotation établie par un trans-ducteur de la cascade est disponible pour les transtrans-ducteurs ultérieurs au sein de la cascade. Précisons à ce sujet que le système ne permet pas de modifier une annotation établie par un transducteur de la cascade, seulement de l’imbriquer à l’intérieur d’une autre annota-tion. De ce point de vue, les reconnaissance réalisées par un transducteur de la cascade ne peuvent être remises en cause. Il ne s’agit donc pas d’émettre des hypothèses entre lesquelles prendre une décision en fin de cascade, mais d’ordonner correctement les transducteurs afin que chaque reconnaissance réalisée soit correcte.
re-7.2. MODULES DE TRAITEMENTS ET RESSOURCES Temps Montant Organisation Personne Fonction Lieu Produit toolAdhocEsterEffacerParentheses toolFigement persNoel prodMediaEmission amount amountAmount timeDateCalendaireAvecFin timeDateCalendaire timeAnneeSiecle timeDateRelative timeDateAbsolue timePeriode timePrep amountPrepDuree amountDureeLesHour timeHoraire timeLocution time timeDet0 adhocEtapeTimeMois adhocEtapeTime persCollectif foncCollectiveExtractor foncCollective foncCollectiveCtxtD orgInstitution orgCtxtDico orgCtxt orgCommerceDroite orgDivers orgEcoleEtranger orgCommerceMin orgCommerceMinPre orgProximiteTag orgProximitePre orgLaboratoireDe persTitrePolitique fonc orgDeFonc locAvantPers locAdresse persReligieux persCivilitePrenomNom persFamillePrenomNom persPrenomNomCtxtG persPrenomNomCtxtD persPrenomSuiviDeNom persCiviliteNom persFamilleNom persNomCtxtG persNomCtxtD persDynastie persDivers persGroupeMusical foncMetierDeOrg persAnimal prod locPatternEtranger orgSansCtxt locGeographiePhysiqueDico locBatimentTag locBatimentPre persCoordination persPrenomCoordination orgPersSuiviDeLoc orgCoordination orgOf locOrgSuiviDeLoc orgOrgSuiviDeParenthese locBatimentPluriel loc locPointCardinal persApostrophe locAdministratif locPersDico prodDico locCoordination locCoordinationTop orgCoordinationTop persPrenomSeul persLeNom orgCommerceEtranger locPersOrgSeul persAvantFonc foncCollective foncIndividuelle foncDivers locBatimentSansNom orgProximiteSansNom orgCommerceSansNom toolNumero amountDivers amountEmpan timeHistoire timeDateNum adhocTimeDateAbsPatch tagVilleRegNatSup persTagCelebrite persTagPrenom toolDefigement
adhocEsterEtapeamountAmountParamountAngleamountCoordonneesGeoamountDebitMassiqueamountDebitVolumiqueamountDuree amountDureeHouramountDureeTimeamountEnergieamountEspaceamountForceamountGeographieamountLongueur
amountMasseamountMonnaieamountNombreamountOctetamountParamountParMesureamountParSur amountPressionamountPrixamountPuissanceamountSansUniteamountSeismeamountSurfaceamountTemperature
amountTimeamountVitesseamountVolumecallOrgDicocallOrgDicoNombreCasENeventDico
eventeventGuerreeventManifestationeventManifestationSportiveextimeAnneePeriodeextimeDateRelativePeriodefoncAdministrativeDico foncAdministrativefoncDicofoncDiversOrgfoncFoncDeOrgfoncGouvernementDicofoncGouvernementfoncIndOuPersInd
foncInsitutionfoncInstitutionfoncJusticefoncMilitairefoncNoblefoncPolitiqueAvantOrgfoncPolitiqueDico foncPolitiquefoncReligieusehesitationlist0-24list0-59Flist0-99Mlist0-9M
list1000-2999list1000-999999list10-999999list10-999list10-99list1-29Flist1-30 list1-59Flist2000-2999list2-24Flist2-29list2-30list2-31list2-59F list2-999999list2-999list2-99list2-9list2-milliardslist2-millionslist32-999999
list32-999list32-99list50-99list7JourlistAdjectifDatelistAdjectifPartilistAdjectifPatternToponymique listAdminlistAdminPluriellistAlistAine8-100listALelistALeTimelistAn
listApresAnlistApresHorairelistArtisanlistArtisanPluriellistArtistelistautresPrixlistAvantAn listAvantAnneelistBatimentlistBatimentReligieuxlistBatimentVillelistBoutiquelistBoutiquePluriellistCatPrix
listCelistCentiemelistCeTimelistCiviliteNobiliairelistCiviliteSlistClublistClubPluriel
listCommerceEtrangerlistCommerceSansNomlistCoordNomVillelistDebutFinlistDebutNomVillelistDeCelistDeCeTime listDelistDeJourEnJourlistDeLelistDeLeTimelistDePointCardinallistDeQuelJourAQuelJourlistDeQuelleHeureAQuelleHeure listDernierelistDernierlistDeterminantAdjectivallistDeterminantAdverbiallistDeterminantNominallistDeTimelistDetPluriel listDHeureEnHeurelistDixiemelistDizaineCentlistDizainelistDocumentlistEcoleEtrangerlistEcole
listEcolePluriellistEnLelistEnLeTimelistEntrepriselistEntreprisePluriellistEtOulistFamille
listFinDelistFoncCollectivelistFoncGouvernementlistFoncMilitairelistFoncPolitiquelistFoncPolitiqueRegionlistFoncReligieuse listHeureCtxtGlistHopitallistHopitalPluriellistHorairePeriodelistHotellistHotelPluriellistInstrument
listJourCtxtDlistJourlistJourMoislistJournallistJourneelistLelistLendemain
listLeTimelistLettreMajusculelistLitrelistLoisirlistLoisirPluriellistLongueurEtrangerelistLongueur listLongueurSurfacelistLongueurVolumelistMasselistMetrelistMidi listMinutelistMois
listMouvementlistMouvementPluriellistNomDeFetelistNomDeTempsAnlistNomDeTempsJourMoinslistNomDeTempsJourPluslistNomDeTempsPeriode listNomMinisterelistNomMinistereMajlistNomMinistereOrgAdmlistNomPartilistNomPrixlistNomRuelistNomRuePluriel
listNum0-24CtxtGlistNum0-24listNum0-59CtxtDlistNum0-59listNum0-99CtxtDlistNum0-99listNum0-9CtxtD listNum0-9listNum1000-2999listNum1000-9999listNum10-9999listNum1-29CtxtDlistNum1-29listNum1-30CtxtG listNum1-30listNum1-31CtxtGlistNum1-31listNum1-54listNum1-59listNum1-999999CtxtGlistNum1-999999 listNum1-9999CtxtDlistNum1-9999CtxtGlistNum1-9999listNum1-999CtxtGlistNum1-999listNum1-99CtxtGlistNum1-99
listNum1-9CtxtDlistNum1-9listNum2000-2999listNum2-24listNum2-29listNum2-30listNum2-31
listNum2-59listNum2-999999listNum2CtxtDlistNum32-999999CtxtDlistNum32-999999CtxtGlistNum32-999999listNum3CtxtD
listNum50-99CtxtGlistNum50-99listNumDizaineCtxtDlistNumDizainelistNumHeureMinuteSecondeCtxtGCtxtDlistNumHeureMinuteSecondeCtxtGlistNumHeureMinuteSeconde listNumJourCtxtDlistNumJourlistNumJourMoisAnlistNumJourMoisCtxtGlistNumJourMoislistNumJourNumMoisCtxtDlistNumJourNumMois
listNumNumJourMoisAnlistNumNumJourMoislistNumO1-39CtxtGlistNumO1-39listNumO1-999CtxtGlistNumO1-999listNumO5-99 listO1-39listO2-999listO2-99listO2-99PluriellistO5-99listOeuvrelistOeuvreMusical
listOrganisationMinDelistOrganisationMinlistOrganisationPrelistOrgCommerceDroitelistOrgCommerceGauchelistParticulelistPartieJournee listPersCollectivelistPersIndividuellistPeulistPlusieurslistPointCardinallistPointCardinalMinlistPointCardinalQualifier listPredeterminantlistPrepAnneelistPresentatiflistPrixNobellistRelationlistSecondelistSigleParti
listSiteInternetlistSpecialiteMedicalelistSportiflistSuffixePersonnelistSurfacelistTimePointlistTitre listTitreNobiliairelistTitreReligieuxlistUnitlistVehiculeslistVolumelocAdresseWeblocDico locGeographiePhysiqueDico2locGeographiePhysiquelocPayslocRouteslocVilleorgAdministrativeorgArmeeDico
orgArmeeorgCommerceGaucheDicoorgCommerceGaucheorgDicoDicoorgDicoorgDivertissementorgDivertissementSortiesDico orgDivertissementSortiesorgDivertissementSportDicoorgDivertissementSportorgorgIndustrieDicoorgIndustrieorgJournalDico
orgJournalEtrangerorgJournalorgJusticeDicoorgJusticeorgMusiqueDicoorgMusiqueorgOrgSigleMarque orgPartiPolitiqueDicoorgPartiPolitiqueorgPatternGaucheorgPolitiqueDicoorgPolitiqueorgRadioTVorgReligion
orgSigleorgWebSuiviDePrepatternAdjectifpatternArrondissementpatternAuDroitPrepatternAvantJourpatternBoitePostale patternCedexpatternChiffreRomainspatternCodePostalpatternCoordinationLocpatternCoordinationOrgpatternCoordinationPerspatternCR patternCRO1-39patternCtxtPersonnepatternDebutEntitepatternDeDroitMinpatternDeDroitPrepatternDeterminantpatternDroitNomAdjectif patternDroitOrganisationpatternDroitPrepatternEnChargeDepatternFetepatternFinEntitepatternFonctionPolitiquepatternJourCtxtD
patternJourpatternJourMoisCtxtDpatternJourMoispatternJournalEtrangerpatternJourNonNumpatternMajpatternMajHorsDico patternMajMinAmbigupatternMajMinpatternMajMinNbpatternMajMinNonAmbigupatternMoispatternNbpatternNomFamille
patternNompatternNomMinisterepatternNomOrganisationpatternNomRuepatternNumArrondissementpatternNumJourMoisAnCtxtGCtxtDpatternNumJourMoisAnCtxtGD patternNumJourMoisAnpatternNumJourMoisCtxtGpatternNumJourMoispatternNumJourNumMoisCtxtDpatternNumJourNumMoispatternOrganisationEtrangerpatternOrgProximite
patternPersonnepatternPFXPhonepatternPointCardinalpatternPrepatternPreHorsDicopatternPreNbAmbigupatternPreNb patternPreNbHorsDicopatternProdObjetpatternReelpatternSaintpatternSaisonpatternSemainepatternSigle patternSuiteLettresSiglepatternToponymiquepatternViceExpatternWebpersCollGroupesHumainspersCollPolitiquepersDico persPrenomEtPrenomNompersPrenomVirgulotpersProfessionprodArtprodDocumentprodFinancierprodMedia
prodMusiqueprodObjetprodPrixprodSofttag7JourstagAdjectiftagAdjNonToponymique
tagAdjNonToponymiquePlurieltagAdjPolitiquetagAdjZ1Z3tagAdresseRuetagAdresseVilletagAliastagAmountDateSuivante tagAmountDureeMatintagAmountDureeTimetagAmountHourtagAmountTimetagAngletagApproximatiftagApresAn
tagApresEntiertagApresHorairetagApresMesuretagArrondissementtagAvantAntagAvantCoordonneestagAvantDuree tagAvantEntiertagAvantFonctiontagAvantFonctionPlurieltagAvanttagAvantJourtagAvantJourMoistagAvantMesureDivers
tagAvantMesuretagAvantNombretagBatimentCultureltagBatimentCulturelPlurieltagBatimentHabitattagBatimentHabitatPlurieltagBatimentHistorique tagBatimentHistoriquePlurieltagBatimentIndustrieltagBatimentIndustrielPlurieltagBatimentPlurieltagBatimentReligieuxtagBatimentReligieuxPlurieltagBatimentSportif
tagBatimentSportifPlurieltagBatimentTransporttagBatimentTransportPlurieltagBatimentVilletagBatimentVillePlurieltagCeHourtagCelebrite tagCemtagCentiemesUnittagCentimestagCeTimetagCitagCiviliteNobiliairetagCiviliteP
tagCiviliteStagClubtagDateSuivantetagDebutFintagDebutPrepDetDateAbsolueAnneetagDegretagDemonym tagDemonymPlurieltagDemonymSansHesitationtagDemonymVilleRegNatSuptagDeNtpstagDixiemesUnittagDureeHourtagDureeMatin
tagDureeTimetagEnDoMajeurtagEnergietagEntiertagEntreEntiertagEntreMesuretagEtatsAssemblee tagEtQuarttagExtractortagFinDateAbsolueAnneetagFinDateRelativetagFonctionstagForcetagFraction tagGentiletagGeographieAdministrativetagGeoPhyEautagGeoPhytagGroupesHumainstagHeuresUnittagHoraireCtxtD tagHoraireCtxtGCtxtDtagHoraireCtxtGtagHorairetagHourtagHydroPhytagInsertionAdverbetagJour
tagJourMoistagKindPartieJourneetagKindTimePointtagLeCeftagLeCemtagLeHourtagLem tagLendemaintagLeTimetagList7JourtagListArtistetagListFamilletagListFoncCollectivetagListFoncPolitique
tagListFoncReligieusetagListGeographieAdministrativetagListHommeFemmetagListJournaltagListKindMouvementPlurieltagListMouvementPlurieltagListNomVille tagListOeuvretagListSportiftagListTitretagMassetagMatineetagMinutesSecondestagMinutesUnit
tagMoistagMoisSeultagNameVilleRegNatSuptagNNomFamilletagNNomtagNomAParticuletagNombreLettres
tagNomDeFetetagNomFamilletagNomtagNomJournaltagNomVilletagNumHeureMinuteSecondeCtxtDtagNumHeureMinuteSecondeCtxtGCtxtD tagNumHeureMinuteSecondeCtxtGtagNumHeureMinuteSecondetagNumJourtagNumJourMoisAntagNumJourMoisCtxtGtagNumJourMoistagNumJourNumMois
tagNumMinutesSecondesCtxtDtagNumMinutesSecondestagNumOHourCtxtGtagNumOHourtagNumOTimeAntagNumOTimeCtxtGtagNumOTime tagNumRuetagObjettagObjetPourAmounttagOctettagOHourCtxtGtagOHourtagOrganisation
tagOrgCommerceGauchetagOrgCommercGauchetagOrgVilleRegNatSuptagOTimeAntagOTimeCtxtGtagOTimetagParNomDeTemps tagPartieJourneetagPartitagPatternNumTelephonetagPatternPersonnetagPatternToponymiquetagPaystagPeriodeDeFete
tagPersonnetagPFXTiretNationtagPrenomtagPrepAnneeChiffretagPrepAnneetagPrepDatetagPrepDuree tagPrepHorairetagPrepPointtagPrepTimetagPrepTimeLeOtagPressiontagProfessiontagProfessionPluriel tagQualifierDebutFintagQualifierDettagQualifierPerstagQualifierPredtagSainttagSaisontagSansHesitationDemonym tagSansHesitationDemonymPlurieltagSecondesUnittagSemainetagTelephoneCtxtGtagTelephoneCtxttagTemperaturetagTerritoire
tagTimeDateSuivantetagTimeDettagTimeDureeMatintagTimeDureeTimetagTimetagTimeHourtagTimePoint tagTimePredtagTimeTimetagUpletagValtagVilletagZipCodetagZoneIndustrielle
temptimeAdvdatetimeAdverbeTempstimeAdverbeTempsHourtimeAdverbeTempsTimetimeAnneetimeAnneePeriode2000
timeAnneePeriodetimeDateAbsolueAnneetimeDateAbsoluePeriodetimeDateCalendaireAbsolueAnneetimeDateCalendaireAbsoluetimeDateCalendaireRelativetimeDateLe2 timeDateNumJourNumMoistimeDateRelativeDebutPeriodetimeDateRelativeFinPeriodetimeDateRelativePeriodetimeDecennietimeDeEntimeHorairePeriode
timeMillenairetimeNumONtpsDatePeriodetimeNumONtpsHorairePeriodetimePrepAnneetimePrepCeNomDeTempstimePrepDatetimePrepDuree timePrepHorairetimePrepLeNomDeTempstimePrepONomDeTempstimePrepTimetimeSiecletoolChercheSigleAvecPointstoolCopieLettre toolHesitationEtapetoolIdiomestoolNoeltoolRechercheEntitetoolSupprimePointDansSigle
7.2. MODULES DE TRAITEMENTS ET RESSOURCES
connaissance de noms d’organisations commerciales comme ‘France-Presse’ qui sollicite le transducteur morphologique génériquepatternPreNbAmbigu (potentiellement utilisable par d’autres transducteurs) et au transducteur contextuel spécifique aux organisations
listOrgCommerceDroite. L’utilisation des reconnaissances au sein de la cascade est pré-senté en figure 7.6, avec un transducteur qui reconnaît des fonctions lorsqu’un trait d’or-ganisation commerciale (‘N+Commerce’) est disponible, et de même manière des personnes à l’aide de fonctions (‘func’) préalablement reconnues. Ces exemples nous permettent d’illustrer les nombreuses possibilités offertes par utilisation de transducteurs lors de l’im-plémentation d’un système orienté connaissances.
(a) Organisation commerciale
(b) Morphologie de noms d’organisa-tionpatternPreNbAmbigu
(c) Liste de suffixes d’organisations
listOrgCommerceDroite
Figure 7.5 – Appels de transducteurs
Pour illustrer en pratique le fonctionnement des transducteurs, considérons l’énoncé suivant :
‘Le musée Georges Pompidou est inauguré le 31 janvier 1977.’
La première analyse réalisée par la chaîne de traitement Unitex comporte une toke-nisation et une application de dictionnaires qui fournissent des informations morpholo-giques, morpho-syntaxiques ou lexicales. La richesse des dictionnaires Unitex (dont locu-tions et expressions composées) donne lieu à de nombreuses analyses possibles dès ces premières étapes. Pour prendre en compte les diverses hypothèses d’analyses, la
repré-7.2. MODULES DE TRAITEMENTS ET RESSOURCES
(a) Fonction administrative au sein d’une organisation commerciale
(b) Personne reconnue avec sa fonction administrative
Figure 7.6 – Cascade de transducteurs
sentation construite prend la forme d’un DAG (Directed Acyclic Graph2), comme nous l’illustrons en figure 7.7. Outre les ambiguïtés concernant les formes, nous y notons une tokenisation fine des chiffres‘31’ et‘1977’ ainsi que les nombreux traits sémantiques affec-tés à ‘Georges Pompidou’ à l’aide des dictionnaires (‘Hum’, ‘Anthroponyme’,‘Celebrite’, mais aussi‘Toponyme’,‘Ville’).
Figure 7.7 – Texte représenté sous forme de DAG
Le transducteur affiché en figure7.8reconnaitra, à l’aide du trait sémantique‘Celebrite’
et du préfixe ‘musée’, une organisation de divertissement nommée d’après une célébrité. Nous y remarquons en particulier l’appel au transducteur‘tagCelebrite’, lui-même chargé de reconnaître une célébrité d’après les traits sémantiques. Dans son ensemble, nous voyons que le transducteur réalise la description du langage naturel selon un modèle génératif (c.f.
1.3). Par ailleurs, nous notons que la sortie générée par le transducteur peut fournir, en plus des entités nommées, des informations supplémentaires sur les transducteurs qui ont