Graphist est un logiciel d'indexation, de lemmatisation et de modernisation automatique pour les textes allant du XVIe siècle à nos jours. Il a été développé au sein de l'équipe HESO (Histoire et Structure de l'Orthographe) du CNRS, spécialiste de l'orthographe française et de son histoire. Le projet a donc bénéficié d'un environnement particulièrement riche en compétences, et constitue d'une certaine façon une synthèse de nombreux travaux linguistiques menés à HESO depuis plus de 20 ans par Nina Catach et son équipe, en matière de lexicologie, de morphologie et d'histoire de l'orthographe (N. Catach 1985).
Le logiciel Graphist permet, dans une première phase, d'effectuer la lemmatisation automatique d'un texte en procédant à l'analyse de tous les mots: recherche de la nature (graphie ancienne ou non), catégorie grammaticale, lemme (forme moderne vedette), flexion, éventuellement forme moderne, et fréquence dans le texte. À partir de ces informations, le logiciel construit ensuite l'index lemmatisé, c'est-à-dire la liste hiérarchisée des lemmes accompagnés de toutes leurs formes: variantes anciennes et/ou formes flexionnelles.
Cet index lemmatisé peut ensuite être consulté, trié, révisé de multiples manières. Il permet également d'interroger le texte par lemmes, c'est-à-dire de visualiser les contextes (ligne, phrase) d'un lemme sous toutes ses formes, anciennes et flexionnelles. Enfin, le logiciel permet d'effectuer une modernisation automatique du texte, en remplaçant dans celui-ci les formes anciennes par leurs graphies modernes, calculées automatiquement par le programme.
Graphist se démarque ainsi nettement des logiciels de traitements textuels de même type -- Stella (Martin 1989), WordCruncher, TACT (Wooldridge 1991) --, ou les logiciels utilisés en GED (Gestion Électronique de Documents) s'appuyant sur des noyaux du type "full text", puisqu'il est capable de créer des index hiérarchisés de formes, organisés en lemmes. Outre les particularités propres au français (où la morphologie est plus complexe qu'en anglais), cette approche devient cruciale pour le traitement des textes anciens, où la variation graphique est non seulement très étendue mais surtout quasiment imprévisible, même pour un utilisateur averti: comment, par exemple, rechercher dans un texte ancien le mot lierre, alors que celui-ci peut s'écrire hierre, ierre, liarre, etc.?
Graphist a été initialement conçu pour traiter des textes allant du XVIe siècle à nos jours. Cependant, le logiciel, muni d'un dictionnaire de référence approprié, pourrait aisément être adapté à des périodes plus anciennes.
Graphist est constitué de plusieurs modules spécialisés, ayant fait l'objet d'une recherche en profondeur:
Graphist, écrit en Prolog et développé sur micro-ordinateurs PC, a été abondamment testé sur de nombreux textes, allant du XVe au XXe siècle. Des résultats quantitatifs sont indiqués dans cet article.
Le dictionnaire de référence utilisé dans Graphist est issu du Dictionnaire Historique de l'Orthographe Française (N. Catach et al. 1994) élaboré à HESO depuis de nombreuses années. Ce dictionnaire est composé de deux parties: le RENA, comprenant l'analyse détaillée de 2000 mots (histoire, étymologie, prononciation et évolution au travers des dictionnaires et grammaires depuis le XVIe siècle), et le DAC, répertoriant les entrées des huit éditions du Dictionnaire de l'Académie française depuis 1694 ainsi que les dictionnaires de R. Estienne (1549), J. Thierry (1564) et J. Nicot (1606), soit onze dictionnaires.
Le DAC existe initialement sous la forme d'une base de données (80.000 entrées, 32.000 graphies, 18.000 mots), dont l'intérêt majeur est que toutes les évolutions graphiques des mots y sont codées, ce qui lui confère un aspect descriptif inégalé des modifications orthographiques du français. Cette base a ainsi permis de mettre au point un ensemble de près de 600 règles, dont un sous-ensemble a été extrait pour le projet Graphist (v. 3.4).
Cette base de données a ensuite été compactée pour constituer le dictionnaire de référence de Graphist. Afin d'avoir un dictionnaire contemporain (la dernière édition de l'Académie datant de 1935), la base a également été enrichie par la base lexicale VoisiLex de 60.000 mots développée à HESO (N. Catach et al. 1994), qui fait office de douzième dictionnaire.
Ainsi, chaque entrée du DAC contient l'historique du mot dans les douze dictionnaires, les catégories grammaticales et indicateurs morphologiques (genre, nombre, série flexionnelle); pour un certain nombre de mots (homographes, mots disparus), une courte définition est également indiquée, ce qui est particulièrement important pour le traitement des ambiguïtés dans Graphist (v. 3.3).
On aura par exemple:
savoir, v.: 1549, 1564 scauoir, sauoir; 1606 sçauoir, sauoir; 1694, 1718 scavoir, sçavoir; 1740-1935 savoir.
armoire, n.f.: 1549 armaire, ormaire; 1564, 1606 armaire m., ormaire; 1694-1935 armoire.
Enfin, un système hiérarchique a été mis au point pour les homographes, permettant d'indiquer les plus fréquents dans une série: cela permet, lors du traitement des ambiguïtés, de toujours proposer en premier lieu les mots les plus fréquents (v. 3.3). Par exemple, pour la forme appeler, on aura:
appeler, v. "attirer l'attention; donner ou avoir un nom" (+): 1549-1606 appeler; 1694, 1718 appeller; 1740-1935 appeler.
épeler, v. "nommer les lettres": 1549, 1564 espeler, epeler, eppeler, eppeller, appeler, appeller; 1606 espeller, epeler, espeler, eppeler, eppeller, appeler, appeller; 1694 epeler; 1718-1935 épeler.
ce qui permet de privilégier la première analyse.[1]
La lemmatisation consiste en l'identification d'un mot par son lemme, c'est-à-dire sa forme moderne non fléchie: aimèrent --> aimer; aymeroyent --> aimer; actuels --> actuel; actifues --> actif; seront --> être.
Dans Graphist, il s'agit de la phase essentielle de l'analyse d'un document dont dérivent les autres fonctionnalités (consultation de l'index lemmatisé, interrogation par lemmes, modernisation automatique).
Traditionnellement, la lemmatisation -- et particulièrement celle des textes anciens -- est effectuée manuellement, par les éditeurs, chercheurs ou étudiants. Si cette méthode a l'avantage de fournir des résultats extrêmement fiables et précis, elle s'avère cependant inenvisageable pour traiter des corpus textuels importants.
L'automatisation de la lemmatisation, si elle constitue donc un outil de premier intérêt pour l'analyse des textes, soulève elle aussi des difficultés:
Dans Graphist, l'analyse morphologique s'effectue par la confrontation entre des règles de désinences et le lexique de référence. Plus précisément:
Les raisons de cette séparation sont simples: d'une part, comme il a été dit plus haut, la prise en compte de la variation graphique nous conduit à privilégier les règles par rapport au lexique,[2] et d'autre part la conjugaison des verbes du 3e groupe est trop complexe -- pour moins de 300 verbes -- pour justifier un module d'analyse dédié, alors que la conjugaison des verbes des 1er et 2e groupes peut être maîtrisée avec un ensemble restreint de règles de désinences.[3] La méthode d'analyse morphologique est la suivante:
forme --> lexique [formes non fléchies]
forme --> (règles) --> lexique [formes fléchies]
ce qui signifie que (1) une forme est toujours recherchée telle quelle dans le lexique, que (2) toutes les règles lui sont appliquées, même si (1) réussit, et que (3) la méthode peut fournir plusieurs solutions (d'où les ambiguïtés). Notons également que les règles morphologiques, qui s'appliquent essentiellement sur la finale des mots, fournissent des lemmes potentiels qui sont ensuite confrontés au lexique. Ces lemmes peuvent être anciens (comme aymer) ou modernes. Les règles sont de la forme:
<désinence> --> <radical>, <série>, <type>, <flexion>
où le type indique s'il s'agit d'une désinence ancienne (1) ou non (0). Pour les verbes, on aura par exemple ("1" et "33" représentent les séries des verbes des 1er et 2e groupes et "B" le temps de l'imparfait):
issais --> ir, 33, 0, B1B2 (ex. finissais --> finir)
issois --> ir, 33, 1, B1B2 (ex. finissois --> finir)
ais --> er, 1, 0, B1B2 (ex. aimais --> aimer)
ois --> er, 1, 1, B1B2 (ex. aymois --> aymer)
ce qui, par exemple, pour la forme finissais donnera en fait 2 candidats: finir et finisser, ce dernier étant ensuite filtré par le lexique. De même, pour les substantifs, on aura, par exemple:
s --> Ø, 1, 0, pl. (ex. amis --> ami)
z --> Ø, 1, 1, pl. (ex. amiz --> ami)
aux --> al, 50, 0, m.pl. (ex. chevaux --> cheval)
aulx --> al, 50, 1, m.pl. (ex. chevaulx --> cheval)
ans --> ant, 1, 1, pl. (ex. enfans --> enfant)
Pour Graphist, l'élaboration de ces règles morphologiques, en prenant bien sûr comme point de départ la morphologie du français moderne, a été fondée sur de nombreux travaux, portant notamment sur la morphologie verbale (cf., par ex., Monsonégo 1989), dont nous avons effectué une synthèse. Le choix de textes postérieurs au XVIe siècle a été déterminant, et la prise en compte de périodes antérieures supposerait un enrichissement de ces règles.
L'analyse morphologique peut fournir plusieurs solutions correspondant à des interprétations différentes d'une forme. Ces cas d'ambiguïtés, qui représentent entre 10 et 16% des mots d'un texte (v. 5), posent donc un obstacle à la lemmatisation automatique, et devraient en principe être résolus manuellement. Cependant, si l'on envisage le traitement de corpus importants, les interventions manuelles doivent être limitées au maximum, et il devient nécessaire d'envisager une méthode de résoluiton automatique des ambiguïtés.
Comme il a été évoqué ci-dessus, le traitement des graphies anciennes augmente de manière significative le nombre de cas d'ambiguïtés. Ceci est dû aux multiples possibilités de variations graphiques des mots; par exemple, la forme marchez, non ambiguë en français moderne, le devient en graphies anciennes, puisqu'il peut s'agir du pluriel de marche n.f., de marché n.m. ou du participe passé de marcher.
Lorsque l'analyse fournit plusieurs solutions, Graphist tente de lever l'ambiguïté (grammaticale) par une analyse du contexte proche. Cette analyse repose sur des "filtres", qui peuvent exprimer, soit des constructions obligatoires, soit au contraire des constructions interdites. On aura, par exemple, des règles du type:
Ces règles reposent donc sur l'analyse des mots proches, qui peuvent eux-mêmes être ambigus; dans ce cas, on peut avoir un fonctionnement 'en cascade', comme, par exemple, pour la reconnaissance d'un pronom: "je le sens --> verbe"; "je ne les leur porte pas --> verbe" -- où l'ambiguïté de le, les, leur (pronoms ou articles) est levée par le pronom je.
Dans Graphist, seul un ensemble restreint de règles -- les plus 'efficaces' -- ont été intégrées, le but du projet n'ayant pas été de construire un véritable analyseur syntaxique. Cependant, ce seul ensemble de règles s'avère performant puisqu'il permet de lever automatiquement jusqu'à 40% des ambiguïtés dans les textes modernes.
Si Graphist ne peut lever automatiquement l'ambiguïté, les choix possibles sont directement proposés à l'utilisateur (en mode interactif), ou bien mis à part pour un examen ultérieur (mode différé, v. 4.1). En mode interactif, l'utilisateur n'a donc qu'à appuyer sur une touche pour effectuer son choix; de plus, il est toujours possible d'effectuer une lemmatisation manuelle, en indiquant directement l'interprétation correcte de la forme.
Le choix entre les lemmes possibles est facilité par l'indication de courtes mentions de sens, qui sont stockées dans le lexique DAC pour les séries d'homographes (v. 2). De plus, les choix sont toujours hiérarchisés, les lemmes les plus fréquents étant toujours présentés en premier, et les formes modernes avant les formes anciennes. Ainsi, pour la forme compte, Graphist propose, dans l'ordre, les lemmes suivants (où × indique une graphie ancienne): a) compte n.m. "calcul; rapport"; b) compter v. "calculer; avoir de l'importance"; c) × conte n.m. "histoire".
En pratique, cette méthode permet instantanément à l'utilisateur de faire son choix, et rend l'analyse du texte aussi simple que possible.
Comme nous l'avons indiqué, Graphist inclut un système de règles permettant de prendre en compte la variation graphique dans les textes anciens, de façon à pouvoir analyser un nombre maximal de formes, bien que celles-ci (ou les lemmes correspondants) soient absentes du lexique.
Ces règles sont des règles de réécriture, engendrant une ou plusieurs formes à partir d'une forme de départ. On aura, par exemple, les règles suivantes (où ">" et "<" représentent l'initiale et la finale d'une forme):
>des/dé (ex. despart/départ)
>adv/av (ex. advenir/avenir)
y/i (ex. ainsy/ainsi)
an/en (ex. eminant/éminent)
cqu/qu (ex. domesticque/domestique)
cc/c (ex. accademie/académie)
eement/ément< (ex. aiseement/aisément)
Pour l'écriture de ces règles, un langage spécifique a été développé, permettant d'exprimer des règles relativement complexes, où figurent par exemple des entités voyelle/consonne:
C.C.e/C.e# (ex. ecolle/école: consonne double + e, à la finale ou s + finale)
V1.z.V2./V1.s.V2. (ex. couzin/cousin: z/s entre 2 voyelles)
Ces règles sont cumulables; une forme telle que advanture engendrera donc, avec les règles ci-dessus, aventure, adventure, avanture. Le système permet donc, même avec peu de règles, d'analyser un nombre quasi infini de formes variantes.
Dans Graphist, le système de règles n'intervient que sur des formes n'ayant obtenu aucune analyse morphologique ("mots inconnus").[4] Il engendre un certain nombre de candidats possibles, qui sont à leur tour soumis à cette analyse; c'est donc toujours la recherche lexicale qui, en définitive, atteste de l'existence du mot ou non.
Cette analyse peut cependant fournir trop de candidats et ralentir le programme; aussi un contrôle rigoureux de l'ensemble des règles doit être effectué. Ainsi, dans Graphist, à partir des 600 règles de modifications orthographiques mises en évidence dans l'étude du RENA-DAC (v. 2), un sous-ensemble de 120 règles a été dégagé, choisies pour leur extrême rentabilité.
Ces règles sont entièrement externes à Graphist, et peuvent donc être redéfinies à tout moment. En particulier, Graphist peut être configuré pour traiter des textes antérieurs au XVIe siècle, pourvu que l'on adapte les règles de modifications orthographiques.
Nous indiquons dans cette section quelques aspects techniques de Graphist, qui en font un outil souple et convivial. Outre la description des fonctionnalités du logiciel, les points abordés permettent de mettre en évidence les problèmes rencontrés dans la lemmatisation automatique en général, et dans l'analyse des textes anciens en particulier.
Graphist offre à l'utilisateur un certain nombre d'options pour l'analyse d'un document:
Graphist offre de multiples facilités de consultation de l'index lemmatisé:
En combinant ces critères, de multiples extractions et listes de travail peuvent être élaborées. Ces listes peuvent par ailleurs être sauvegardées dans un document texte.
Pour chaque forme ou lemme figurant dans l'index, l'utilisateur peut consulter une fiche d'information indiquant l'analyse morphologique précise du mot (lemme, sous-lemme, flexion), son "historique" (celui du lemme) d'après le dictionnaire de référence, ainsi que sa forme moderne s'il s'agit d'une graphie ancienne.
L'index lemmatisé permet également de visualiser les contextes d'une forme ou d'un lemme dans le texte initial. Ce contexte peut être réglé par l'utilisateur (phrase, ligne(s)), et les résultats sauvegardés dans un fichier sous forme de concordances.
Il est à noter que l'interrogation par lemmes est un des aboutissements du logiciel, puisqu'elle permet de visualiser d'un coup les contextes d'un mot sous toutes ses formes: formes fléchies et/ou graphies anciennes.
L'index lemmatisé d'un document peut toujours être révisé. Ainsi, si l'interprétation d'une forme figurant dans l'index est erronée, il est possible de revoir directement dans le texte les occurrences de cette forme et d'en recommencer la lemmatisation. Dans ce cas, Graphist fournit tous les outils d'aide habituels: choix dans une liste de lemmes possibles, lemmatisation manuelle. Les changements opérés sont ensuite pris en compte par le logiciel, qui reconstruit l'index lemmatisé.
Cela s'avère extrêmement utile en pratique, surtout si le document a été analysé en mode différé. En particulier, il est possible de revoir un à un tous les cas d'ambiguïté qui n'ont pas été résolus par Graphist, ainsi que les "mots inconnus", c'est-à-dire les formes n'ayant pu être analysées.[5]
De plus, cette révision s'effectue de manière 'verticale', c'est-à-dire en examinant simultanément toutes les occurrences d'une forme donnée. Dans la plupart des cas, ce mode de révision est bien plus rapide que la résolution des ambiguïtés au fur et à mesure du défilement du document lors de l'analyse.
La révision de l'index peut également fournir une possibilité de traitement pour les textes très anciens ou difficiles. Dans ce cas, il peut éventuellement être préférable de créer un index non lemmatisé du document, puis de réviser l'index pour effectuer manuellement la lemmatisation.
Comme il a été indiqué, l'analyse morphologique des formes fournit, pour les formes fléchies, le lemme et la flexion. S'il s'agit d'une graphie ancienne, Graphist peut donc déterminer automatiquement la forme moderne, en appliquant la flexion au lemme. Par exemple, l'analyse: "aymeroyent --> aimer, H6" (où "H" représente le conditionnel) permet, en reconjuguant le verbe aimer, d'obtenir la forme moderne aimeraient. La lemmatisation fournit ainsi tous les éléments nécessaires à la modernisation automatique. Pour cela, Graphist inclut un déclinateur automatique, c'est-à-dire un module de conjugaison (verbes des 1er et 2e groupes) et de flexion des substantifs.
Graphist est donc capable d'effectuer une modernisation "mot à mot" d'un texte ancien, en remplaçant automatiquement les formes anciennes par leur équivalent moderne. Le texte obtenu peut ensuite être édité pour une modernisation plus fine, mais, du moins pour les textes du XVIe siècle à nos jours, le premier état de modernisation fourni par le logiciel s'avère très satisfaisant en pratique.
Pour le traitement complet de textes plus anciens, de multiples facteurs devraient être pris en compte afin d'améliorer la modernisation: la syntaxe, la ponctuation, les temps de conjugaison, etc. Également, différents degrés de modernisation sont à prévoir, selon de grands secteurs orthographiques: accents seuls, alternances u/v et i/j, consonnes doubles, etc. Ces aspects ne sont pas traités actuellement par Graphist.
Graphist inclut également un module d'interrogation du dictionnaire historique DAC. Il est possible de visualiser l'historique de n'importe laquelle des 18.000 entrées du dictionnaire dans les 8 éditions du Dictionnaire de l'Académie et dans les dictionnaires de Nicot, Estienne et Thierry.
De plus, l'interrogation peut s'effectuer sur les formes, flexionnelles et/ou variantes graphiques, de ces entrées. Dans ce cas, Graphist fait appel au module d'analyse morphologique, et propose, comme en analyse de document, toutes les interprétations possibles de la forme, en indiquant le lemme, la flexion et le type (graphie moderne ou ancienne). Ce module permet par ailleurs de tester l'efficacité de l'ensemble des règles de modifications orthographiques (cf. 3.4).
L'index lemmatisé peut être exporté sous différents formats, en vue de traitements ultérieurs:
Lors de l'analyse d'un document ou d'une révision d'index, l'utilisateur a la possibilité d'effectuer des lemmatisations manuelles. En particulier, il peut définir de nouveaux lemmes, absents du lexique de référence, ou bien de nouvelles formes associées à un lemme existant, si l'analyse de Graphist a échoué. Ces données peuvent alors être sauvegardées dans un dictionnaire personnel, qui sera par la suite rechargé pour l'analyse d'un autre document.
Graphist a été testé sur de nombreux textes allant du XVe siècle à nos jours. Nous indiquons dans le tableau ci-dessous les résultats obtenus avec les textes les plus significatifs:
Texte Date Occ. anc. amb. auto analysés ARTOIS XVe 45600 21,4% 16,6% 14,6% 82,0% PEIRESC 1620 7400 14,0% 13,0% 27,0% 90,0% BORDEU XVIIIe 63000 13,0% 12,5% 37,0% 90,4% DIDEROT XVIIIe 30200 2,2% 11,0% 42,0% 94,0% ACADÉMIE 1877 6666 0,1% 10,0% 36,0% 94,0%
Les textes sont les suivants: ARTOIS: Extrait du Comte d'Artois, milieu XVe s. -- il est à noter que ce texte est antérieur à la période qui est en principe représentée dans notre dictionnaire de référence DAC; PEIRESC: Correspondance Nicolas Fabri de Peiresc - Alphonse de Rambervillers (1620-4); BORDEU: Correspondance de Théophile de Bordeu, 1739-48; DIDEROT: Correspondance de Diderot, 1771; ACADÉMIE: Préface du Dictionnaire de l'Académie française de 1877 (7e éd.).
Tous ces résultats s'appliquent à un traitement différé des documents concernés, c'est-à-dire avant toute intervention manuelle. La signification des chiffres figurant dans le tableau est la suivante:
Les résultats obtenus avec Graphist sont très encourageants, comme le montrent les résultats précédents. Le programme pourrait cependant évoluer de plusieurs manières:
Graphist représente donc une premier étape, à la fois dans le domaine de la lemmatisation automatique et dans le domaine du traitement des textes anciens. Si un traitement entièrement automatique s'avère, comme cela était prévisible, probablement impossible à réaliser, du moins le logiciel nous enseigne-t-il d'une part que l'on peut espérer traiter automatiquement 95% des occurrences d'un texte, et d'autre part que de multiples facilités permettent de traiter simplement et rapidement les problèmes restants. Ce type d'outils devrait naturellement se développer dans un proche avenir, parallèlement à la diffusion de plus en plus large des corpus textuels et des méthodes d'indexation de documents.
[1] Ce travail repose sur des travaux menés à l'INaLF sous la direction de Robert Martin, ainsi que de N. Catach (1984).
[2] Rappelons que 5000 verbes engendrent déjà, en français moderne, près de 250.000 formes, auxquelles il faudrait ajouter leurs variantes anciennes!
[3] De plus, les formes des verbes du 3e groupe ont des graphies anciennes très diverses (cf. l'exemple de vais ci-dessus) qui échappent à une analyse simple radical + désinence.
[4] Il s'agit là d'un choix; un autre mode de contrôle pourrait appliquer les règles systématiquement à toutes les formes.
[5] En pratique, si le texte a été traité en mode différé, les points à revoir sont (1) les ambiguïtés restantes, (2) les mots inconnus, et (3) les noms propres, qui peuvent avoir été mal interprétés. Les possibilités de tris par catégories grammaticales offertes par Graphist (cf. 4.2.1) permettent d'isoler ces formes en consultation d'index, ce qui facilite cette révision.