22. LIKES : un environnement d’ingénierie linguistique et d’ingénierie des connaissances1
p. 389-409
Texte intégral
Introduction
1La station LIKES2 (LInguistic and Knowledge Engineering Station) rassemble un ensemble d’outils de traitements de corpus utilisables par les linguistes et les informaticiens, aussi bien pour la recherche que pour l’enseignement. Ces outils rendent possibles des traitements de corpus simples : recherche de motifs, recherche de répétitions, recherche de candidats termes, recherche de relations, qui, ensemble, procurent une aide appréciable à la création de terminologie et d’ontologie et qui peuvent être utilisés pour indexer des textes ou les annoter sémantiquement.
2La construction et la constitution de la station ont pris en compte trois grands principes : l’accessibilité des outils aux linguistes, la neutralité des choix par rapport à une ou des théories ou approches existantes, l’économie en ressources linguistiques.
3Nous expliquons plus bas les pourquoi de ces choix. Dans cet ordre d’idée lorsque c’est possible, nous utilisons des formalismes proches d’autres standards, en particulier le langage de recherche de motif est proche de celui d’INTEX3. Nous travaillons également à la compatibilité des fichiers entre INTEX et LIKES (pour les automates et les transducteurs).
1. LIKES pour quoi faire
4Likes a été développé au départ pour des applications concernant le développement de terminologies et d’ontologies. Le premier auteur participe depuis 1993 au groupe de recherche national TIA (Terminologie et Intelligence Artificielle) qui rassemble des linguistes et des informaticiens préoccupés par l’élaboration de méthodes et d’outils dans ces deux champs. Sans entrer dans les détails des principes qui font l’objet d’un consensus au sein du groupe TIA (Condamines, Rebeyrolles 2000), nous pouvons en citer un certain nombre qui ont eu des répercussions sur la constitution de la station LIKES et qui donc y seront perceptibles.
5Au sein du groupe TIA, il apparaît clair que l’extraction terminologique est un processus de construction d’une ressource conceptuelle reliée à des informations linguistiques (Slodzian 99), contrairement aux hypothèses en cours dans l’école de Wüster qui accrédite l’idée que les termes sont des étiquettes qui pointent sur un modèle conceptuel préexistant (Felber 87) Une terminologie (ou une ontologie) se construit donc à partir de corpus, une terminologie est également liée à l’application pour laquelle elle a été construite, elle reflète également le point de vue de celui qui l’a créée4.
6Pour construire une terminologie (ou une ontologie), il faut d’abord constituer un corpus représentatif du domaine, il faut ensuite collecter les candidats à être des termes et ensuite les structurer. Les outils doivent fournir une aide efficace au cours du processus, leur ergonomie doit faciliter leur utilisation. A des fins de contrôle, le retour au texte et donc au contexte des occurrences intéressantes trouvées doit être possible.
7Les outils utiles à la création de terminologie sont de trois sortes : les outils d’extraction de termes, les outils d’aide à la structuration et les outils de gestion de la construction en cours. Pour ce qui est de LIKES, le module de calcul des segments répétés va servir à extraire les termes. Pour la structuration des termes plusieurs outils sont utilisables : le module de calcul des distributions, le module de recherche de motifs qui peut jouer le rôle de concordancier et le module de recherche de relations. LIKES possède un module de gestion de terminologie (multilingue ou non) spécifique.
2. Facilité d’emploi
8L’accessibilité des outils au linguiste a dirigé l’élaboration de l’interface qui est simple d’emploi. Il faut que celui-ci ait facilement accès à des fonctionnalités qui lui sont utiles. Dans la dernière version, LIKES fournit à l’utilisateur une sorte de bloc-note où celui-ci peut copier coller des résultats partiels.
9Le programme est utilisé de façon régulière depuis maintenant deux ans par des chercheurs linguistes et également dans deux enseignements orientés vers l’extraction terminologique (multilingue ou non) et l’extraction d’ontologie. Pour les informaticiens et pour effectuer des tâches complexes, LIKES propose comme INTEX, la possibilité d’effectuer des commandes en ligne. En effet, quelle que soit la qualité d’une interface, elle ne permet pas de réaliser tous les enchaînements de tâches possibles, il est donc intéressant de pouvoir lancer l’exécution de traitements directement par une ligne de commandes.
3. Ressources utilisées et textes traités
10Afin de faciliter la portabilité vers d’autres langues, les ressources propres à une langue donnée sont les plus réduites possibles et consistent en la donnée de simples listes, comme on le verra plus loin.
11LIKES permet de traiter des textes en ASCII, il est également possible de traiter des textes en HTML ou XML, nous étudions actuellement la possibilité de traiter des textes en RTF, en PDF et en Word. Pour certains traitements, et notamment pour le calcul des segments répétés, la taille maximale d’un corpus est limitée, cette taille dépend de la machine, de sa puissance et de sa taille mémoire. Des optimisations sont encours pour repousser cette limite (fragments stockés dans une base de données ou découpage automatique en plusieurs sous-corpus).
4. Les modules de LIKES
12Nous allons dans la suite décrire les différents modules de LIKES en mettant surtout l’accent sur ses spécificités. Nous présentons d’abord, les outils de base qui peuvent être utilisés pour des traitements de corpus usuels, puis nous aborderons les modules qui sont davantage orientés vers la création terminologique et ontologique. Dans une dernière partie, nous présenterons le module d’annotation qui relève de l’indexation sémantique des textes. Enfin nous finirons sur les perspectives de développement futur, tant sur le plan de l’augmentation des fonctionnalités que de l’amélioration des performances.
I. Les modules et les fonctionnalités utiles pour le traitement de corpus usuel
1. La création du corpus
13Un corpus est constitué d’un texte ou d’un ensemble de textes choisis, soit un à un, soit répertoire par répertoire. Un corpus, une fois constitué, ne peut changer, la possibilité de rajouter (ou de supprimer) des textes n’existe pas pour l’instant. Un corpus est composé de fichiers de mêmes types (txt ou XML).
2. Le calcul des tokens et le découpage du corpus
14Likes n’utilise aucun dictionnaire, mais la plupart de ses modules se servent de la table des tokens, il faut donc la calculer au préalable. Par « token » nous entendons toute suite de caractères séparés par des ponctuations (« . », “ ; “etc.) des espaces (espace, tabulation, retour à la ligne) ou des séparateurs (‘ (){ }[] / * + etc.) : « 123 », « OSS117 », « truc » sont des tokens5. LIKES distingue les caractères majuscules et minuscules ainsi « truc » et « Truc » sont deux tokens différents. A chaque token de LIKES est associée la liste de ses occurrences.
15Simultanément à la collecte des tokens, LIKES segmente le corpus en paragraphes et en phrases (un paragraphe est séparé du suivant par au moins une ligne blanche). Le découpage des phrases tient compte des acronymes et utilise une liste d’abréviations sur un fichier propre à chaque langue, qui permet de paramétrer le découpage : il s’agit d’une liste d’abréviations spécifiques à la langue et impliquant l’usage du point sans qu’il y ait coupure de phrase. Exemple : « etc. », « cf. » en français ou « usw. » en allemand.
16Il n’est pas encore possible d’utiliser une expression régulière ou un automate personnalisable pour segmenter, ni de définir un autre mode de segmentation.
3. Les listes résultats et l’accès au contexte
17A l’issue de cette passe, LIKES fournit comme résultat la liste des tokens classés par ordre de fréquences décroissantes et optionnellement cette liste triée cette fois par ordre alphabétique. Comme toutes les listes résultats de LIKES, un double clic sur un élément de liste permet d’accéder au contexte. L’unité de contexte par défaut est la phrase, mais le contexte est agrandissable, et ainsi on peut accéder au paragraphe englobant et même au texte.
4. La normalisation
18Afin de pallier entre autres, le problème survenant de la multiplicité des formes équivalentes et l’absence de lemmatiseur, LIKES donne la possibilité de fusionner des listes d’occurrences de différents tokens : c’est ce que nous appelons « normalisation ». Ainsi pour opérer une lemmatisation simplifiée, il est possible de fusionner les listes d’occurrences de différentes formes : par exemple l’interface de ce module permet de chercher dans le corpus des couples de mots formés d’un mot terminant par « s » et du même mot sans « s » et ensuite les fusionner. Un simple clic permet des les fusionner sous une nouvelle forme.
19Exemple « truc » et « trucs » deviennent un nouveau token « truc* » qui permet d’accéder à toutes les occurrences de « truc » ou de « trucs ».
20L’interface de ce module permet également de résoudre des problèmes de polymorphie : il est possible de fusionner deux mots équivalents comme « ECG » et « électrocardiogramme », des variantes orthographiques : « baluchon » et « balluchon », ou erronées : « garçon » et « garcon ».
5. Les ressources de LIKES
21Au départ, nous avons mis l’accent sur la minimisation des ressources, nous voulions réduire au maximum l’effort à faire pour ouvrir l’environnement à une nouvelle langue. Une seconde raison apparue par la suite nous a confortés dans notre choix. Celle-ci est d’ordre linguistique. Nous avons en effet constaté que plusieurs outils informatiques qui effectuent un certain nombre de tâches de collectages d’items procèdent de manière analogue en s’appuyant sur des listes finies de mots pour isoler des segments intéressants. En particulier LEXTER (Bourrigault 96) utilise une stop-liste pour segmenter ce que son auteur appelle des « syntagmes nominaux maximaux » en les isolant grâce à des bornes : conjonctions, verbes conjugués etc. Ces programmes qu’on peut appeler « segmenteurs », opèrent par détection de bornes et mettent en évidence des segments par coupure de la phrase. Les fragments sont identifiés comme des séquences de mots situés entre ces bornes. Les concepteurs de ces outils font en général l’hypothèse qu’on peut repérer par des marqueurs syntaxiques ou morpho-syntaxiques des mots qui sont des bornes possibles de fragments intéressants.
22En effet, dans la plupart des langues indo-européennes, le discours est contraint linéairement et les syntagmes (nominaux, prépositionnels ou propositionnels etc.) sont généralement introduits par un certain nombre de mots dont il est aisé de constituer une liste finie. Déterminer la fin d’un syntagme est généralement plus difficile.
23Si on s’intéresse aux techniques sur lesquelles s’appuient les segmenteurs, on s’aperçoit qu’ils se basent soit sur les bornes seules, soit sur la répétition. Seul LEXTER utilise un corpus étiqueté, mais cet étiquetage ne lui sert pratiquement pas pendant la phase de découpage, mais pour des phases ultérieures (analyse des dépendances des termes et construction du réseau des termes). Les autres segmenteurs : « segments répétés » ou le « chunker » de Vergne (Vergne, Giguet 1999) travaillent sur des textes bruts. Le chunker de Vergne est un programme qui segmente le texte en unités spécifiques : plus petites que les syntagmes : les « chunks », en se basant sur des listes finies pour détecter les débuts de chunks et sur des « devineurs » pour détecter les fins de chunks. Le chunker de Vergnes donne comme résultat par exemple des « Syntagmes Non Récursifs » (SNR) qui forment la partie centrale d’un groupe nominal : détermineur nom ou détermineur nom adjectif sans adjonction d’un syntagme prépositionnel ou d’une relative.
24Ces réalisations montrent que l’utilisation de stop-listes correctement constituées peut amener à se passer dans de nombreux cas, de dictionnaire et d’étiqueteur syntaxique.
6. Le module d’extraction des segments répétés
25Ce module effectue l’extraction de candidats termes, ou plus généralement, si on le désire, de mots composés. La méthode est basée sur la détection de répétitions de séquences de mots. Le programme repère donc des séquences de tokens exactement identiques. Pour prendre en compte la diversité des formes équivalentes possibles, on opère les normalisations nécessaires au préalable.
26Les segments répétés sont souvent cités dans les techniques statistiques, car ils ont été mis en œuvre au départ dans ce cadre : (Lebart, Salem 88) (Justeson, Katz 96) Dans notre implémentation, il faut les voir comme une technique de détection fondée simplement sur la répétition. Contrairement aux approches statistiques, il n’y a pas un seuil de fréquence fixé arbitrairement pour conserver, ici, une seule simple répétition suffit. L’hypothèse est qu’un terme dans un domaine s’il désigne une entité intéressante, est utilisé plusieurs fois. On parle alors de « segment répété » (Frath & al. 2000) (Rousselot & al. 1996).
27Le module de calcul des segments répétés détecte les bornes droites en utilisant des listes de marqueurs adaptées. La première liste (appelée liste des « mots coupants ») est très proche de celle utilisée par LEXTER pour découper ses syntagmes nominaux maximaux (cf. paragraphe 2.5) elle contient des mots qui arrivent en début de propositions (« qui, que… »), en début de groupes prépositionnels (« entre, sur… »), des verbes fréquents (« est, a, sont… »). On ajoute à cette liste, un certain nombre de mots qui prennent en compte le statut particulier du terme. Celui-ci doit pouvoir représenter une dénomination décontextualisée, c’est ainsi qu’il ne peut donc contenir, ni adjectif possessif, ni démonstratif, ni certains adjectifs de jugement : « mauvais », « bon »...
28Le module de calcul des segments répétés détecte également les bornes droites en mettant à jour des variations dans la distribution linéaire. Par exemple, si on a une occurrence de « les pommes de terres poussent » et une de « les pommes de terre cuisent », le segment repéré est « pommes de terres », aussi, il n’est pas nécessaire que « cuisent » et « poussent » figurent dans la liste des mots coupants.
29La seconde liste fournie au programme (appelée « filtre grammatical ») permet d’affiner les résultats obtenus après découpage : elle permet de supprimer les articles en tête de ces multitermes (c.à.d. termes composés de plusieurs mots) et à la fin de ceux-ci également. Si le module a détecté une répétition de la séquence de mots « les bilans précordialgiques de », l’utilisation du filtre grammatical a pour effet de supprimer « les » en tête et « de » en queue donnant « bilans précordialgiques ».
30LIKES comprend à l’installation des listes filtres minimales qui doivent être adaptées et complétées en fonction d’un corpus particulier. La mise au point et l’affinage des résultats de l’exécution de l’algorithme se fait donc interactivement, l’utilisateur complétant les listes initiales fournies. L’utilisateur rajoute dans les listes les mots du corpus nécessaires pour avoir un résultat correct. Cette phase interactive permet à l’utilisateur de détecter certaines caractéristiques propres au corpus qu’il traite, il peut ainsi vérifier les conséquences du rajout des mots dans les filtres sur les résultats.
31L’algorithme est linéaire en fonction de la taille du corpus, son fonctionnement est très voisin de l’algorithme SEQUITUR utilisé pour compresser des textes (Witten 2000). La méthode est confrontée à un problème inévitable de repérage de redondances6 qui implique une deuxième passe dans les résultats et réduit son efficacité.
7. Une amélioration du calcul des segments répétés brut
32Un défaut connu de la technique des segments répétés est un certain pourcentage de silence, provenant évidemment de la non-détection des termes non répétés ou non répétés sous exactement la même forme7. Nous avons donc conçu une phase d’affinage des résultats qui permet de réduire ce silence. Celle-ci s’appuie sur la détection de groupes nominaux maximaux, en partant soit d’un terme en tête d’un segment répété, soit d’un terme situé en queue d’un segment répété.
33Prenons un exemple tiré du corpus Ménélas utilisé souvent au sein du groupe TIA qui contient des comptes – rendus médicaux concernant des malades victimes de problèmes cardiaques.
34Le calcul des segments répétés renvoie le segment répété « accident vasculaire cérébral ». La recherche des mots maximaux commençant par « accident » retourne : « accident hémorragique au niveau du point de ponction fémorale » et « accident neurologique de type ischémique par lésion vertébrale » qui ne figuraient pas dans les segments répétés.
35Le principe s’applique de la même façon aux mots terminant un segment répété : le programme cherche alors un groupe nominal maximum en allant de la gauche vers la droite à partir de ce mot. Par exemple, le mot « craniocaudale » est la queue du terme « angulation craniocaudale ». Le module trouve « incidence craniocaudale » (qui ne figurait pas dans les segments répétés) .
36Le programme à la demande effectue la recherche de ces nouveaux termes potentiels, bien qu’il y ait un peu plus de bruit (c’est-à-dire des résultats non pertinents) que pour le calcul des segments répétés, le gain est substantiel.
8. Le calcul des distributions
37Il s’agit en fait d’un module indépendant qui permet de réaliser un traitement comparable à celui qui vient d’être vu en partant d’un mot directement fourni par l’utilisateur.
38Le principe est le même que ce qu’on vient de voir, pour la distribution gauche, pour un mot m donné, on regarde à sa gauche si on peut trouver un découpage correspondant à un syntagme nominal maximal. Pour ce faire, on recherche à gauche la première occurrence d’un mot coupant, partant de ce mot coupant, on retient à droite de celui-ci tous les mots jusqu’au mot m exclus.
39Pour la distribution droite, on fait exactement ce qui a été vu pour la distribution gauche, mais cette fois-ci en partant à la droite du mot. Le programme est en mesure de calculer les syntagmes nominaux maximaux soit adjacents au mot donné, soit éventuellement séparés du mot donné par des mots coupants. Cette dernière possibilité est nécessaire si on cherche les distributions droites et gauches autour d’un verbe, il peut se glisser devant celui-ci un adverbe ou une négation.
40C’est à l’utilisateur d’exploiter totalement manuellement les résultats de cette recherche.
41Par exemple, parmi les distributions adjacentes de « sténose », on trouvera à gauche : « Absence de » sténose ou en combinant un contexte droit et un contexte gauche : « état dolicho-artériel sans » sténose « très sévère sur les iliaques primitives, externes et fémorale commune ».
42Voyons encore les distributions non adjacentes autour du verbe « montre »8 qui vont être également présentées dans l’exemple du module de synthèse des relations. Nous trouvons à gauche « le Holter », « l’ECG » (l’électrocardiogramme), « l’échographie » etc. et à droite « une sténose de… », « une resténose de… », « une occlusion de… », « une réocclusion de… ».
9. Les automates
43Ce sont les outils traditionnels de recherche de motifs, la particularité dans LIKES est de permettre d’exprimer des motifs morpho-syntaxiques. LIKES utilise une syntaxe proche de celle d’INTEX avec le « + » l’« * » et des métacaractères. Depuis peu, un éditeur de graphes permet d’éditer des graphes d’automates et de les lancer pour effectuer des recherches.
44Notre approche, différente de celle d’INTEX, entraîne les conséquences suivantes :
45L’utilisateur doit gérer lui-même les fins de mots : si un motif doit ramener un mot, il faut s’assurer que la zone reconnue est suivie d’un séparateur. L’utilisateur doit utiliser les métacaractères spécifiques à Likes.
46Exemple : <L><L>*ion ramènera tous les sous-mots contenant ion : les mots finissant par « ion » ceux finissant par « ion » et d’autres contenant « ion ».
47<L><L>*ion><EW>, ne ramènera que les mots finissant par ion. En effet, le métacaractère <EW> (acronyme de End of Word-form) permet de tester la fin d’un mot.
48Il y a plusieurs sortes de métacaractères dans LIKES, ceux qui testent des bornes : début de phrase de paragraphe de mot et fin de phrase etc., ceux qui testent des caractères (exemple <D> D pour Digit) et ceux qui testent des mots exemple <UL> mot tout en majuscule (pour Uppercase Letters). Les automates peuvent faire appel à des sous automates.
49Les automates fournis à LIKES sont automatiquement rendus minimaux avant toute exécution d’une recherche sur le corpus. Le mode d’exploitation des automates est paramétrable : ils peuvent être lancés sur chaque caractère, ou, plus efficacement, au début de chaque mot. Il est également possible de faire en sorte que l’automate après reconnaissance d’une séquence de caractères, ne soit relancé qu’après cette séquence. Dans INTEX, ce mode est celui qu’utilise le transducteur qui effectue la découpe en phrases.
50Il est également possible d’utiliser une négation devant une étiquette d’un automate
51LIKES possède également des transducteurs qui, grâce à la possibilité d’avoir des caractères comme étiquettes d’arcs, ouvrent le champ à des traitements basiques en informatique. Ils sont, par exemple, utilisables pour passer d’un système de codage de caractères à un autre (par exemple pour passer d’un système Mac OS à un système Windows) ou pour ôter des balises dans des textes HTML (ou XML) pour n’en garder que l’ASCII, etc. Une particularité supplémentaire a été ajoutée pour les utilisateurs informaticiens : dans les commandes en ligne, la possibilité existe pour l’utilisateur d’utiliser des expressions régulières dans la syntaxe Java9.
II. Les modules orientés vers la création de terminologie et d’ontologie
1. Le module de synthèse de relations
52Un certain nombre de programmes traitent de la synthèse de schémas morpho-syntaxiques exprimant des relations comme par exemple (Hearst 1992) (Séguéla, Aussenac, 1999) ou (Morin 1999). Ils sont en général orientés vers le repérage de relations génériques comme l’hypo-hyperonymie et utilisent souvent des techniques statistiques. Nous avons choisi ici une autre approche, orientée vers le repérage de relations spécifiques au domaine, et utilisant une technique basique. Celle-ci implique un contrôle et une réédition de l’utilisateur.
53Le principe du traitement est simple. Nous repérons deux mots donnés pour laquelle la relation à laquelle nous nous intéressons tient souvent.
54Par exemple dans MENELAS, nous avons remarqué la présence très fréquente de « coronarographie montre lésion ». Les mots « coronarographie » et « lésion » sont alors fournis en entrée au module de synthèse. L’idée est de condenser dans une expression régulière, toutes les façons d’exprimer la relation « montre ». Le module de synthèse collecte tous les contextes10 repérés entre deux occurrences de « coronarographie » et de « lésion », ces contextes sont ensuite comparés deux à deux. Chaque comparaison donne une chaîne de mots communs éventuellement vide, le programme élimine parmi toutes les chaînes obtenues les chaînes constituées uniquement de mots grammaticaux.
55L’interface du programme donne alors à l’utilisateur la possibilité d’éditer les schémas morpho-syntaxiques obtenus afin d’éliminer certains mots parasites : négations, adverbes, etc. et de construire le meilleur schéma synthétisant toutes les façons d’exprimer la relation.
56Ce schéma est alors lancé sur le corpus tout entier pour rechercher les classes distributionnelles auxquelles appartiennent respectivement les deux mots.
57sur l’exemple coronaire lésion, le programme rends
met en évidence des
montre des
objective des
a montré des
réalisée immédiatement montrait des
et après édition (met en évidence+montre+objective+
a montré+montrait)
58Cette dernière expression est lancée sur le corpus et les contextes gauche et droit sont découpés pour ne conserver que les groupes nominaux maximaux à gauche et à droite. (cf. le module des distributions. La consultation de la liste gauche en excluant « coronarographie » et droite en excluant « lésions » permet d’inférer l’existence de classes sémantiques : ici les examens médicaux (« examen coronarographique », « échographie », « ECG », « électrocardiogramme », « épreuve d’effort »…) et les signes cliniques (« sténose », « resténose »…).
59Elle permet également de valider le fait que la relation sémantique montre est une relation intéressante pour modéliser les connaissances du domaine, car elle relie toujours un examen médical et un signe, d’autre part le module a permis de collecter toutes les façons d’exprimer cette relation sémantique en langue.
2. La partie création terminologique
60Le module de gestion de la terminologie permet de prendre en compte le développement incrémental de la création d’une terminologie, certaines décisions provisoires peuvent être marquées comme étant en attente de validation etc.
61Notre implémentation fait une séparation claire entre la linguistique et le conceptuel. En effet, nous proposons à l’utilisateur une gestion de fiches terminologiques permettant de prendre en compte les différentes étapes de construction de la terminologie et une gestion de fiches conceptuelles.
62Nous partons d’une liste de candidats termes éventuellement fournis par les modules de Likes, pour les étudier et leur donner éventuellement le statut de terme. Nous décidons ensuite d’établir pour certains candidats termes une fiche terminologique. La création d’une fiche terminologique s’effectue après sélection par l’utilisateur d’une famille de mots formée de formes différentes et de synonymes d’un même terme, par exemple « ECG » et « électroencéphalogramme ». La fiche correspondante permet d’accéder à tous les contextes des occurrences d’un terme (et de ses synonymes) dans le corpus : un éditeur permet à l’utilisateur s’il le désire de ne sélectionner que les occurrences représentatives d’un terme si désiré.
63Pour gérer l’aspect sémantique, chaque terme peut être rattaché à un concept, grâce à un lien vers une fiche. Celle-ci permet de donner une définition textuelle au concept et de l’insérer au bon endroit dans la hiérarchie conceptuelle, par la donnée de ses frères et de son père. Elle donne, en outre, accès aux termes qui désignent ce concept dans plusieurs langues éventuellement. Dans les applications multilingues, les langues sont séparées (à chaque langue correspond un corpus et un ensemble de termes) et ne sont liées que grâce aux concepts.
64LIKES donne donc la possibilité de constituer la liste des candidats termes à partir de liste de tokens simples ou de segments répétés ou de fichiers textes. L’environnement donne également accès à un éditeur de termes, où on peut écrire un certain nombre d’informations : le statut du terme (s’il est validé ou encore à l’étude) ses contextes (ou s’il est ambigu les contextes qui concernent un sens du terme), le concept qui lui est associé. Pour les termes ambigus (qui ont deux sens), il est possible de leur affecter deux fiches terminologiques chacune pointant sur un concept différent correspondant chacune à un sens du terme.
65A l’heure actuelle, aucune vérification de cohérence n’est effectuée sur la hiérarchie conceptuelle, or il est important surtout dans les applications qui ont pour but la construction de l’ontologie d’un domaine de garantir un maximum de cohérence logique. C’est pourquoi une implémentation supplémentaire est en cours dont le but est d’associer à la gestion des concepts un module logique basé sur un système de logique de description. Le LICIA dispose du système d’inférence CICLOP (De Bertrand de Beuvron & al. 1999), (De Bertrand de Beuvron & al. 2000). Celui-ci doit permettre d’assigner des définitions formelles aux concepts, de les classifier automatiquement, de détecter les incohérences logiques inévitables lors de la mise en place d’une ontologie et également d’aider à bien construire la hiérarchie conceptuelle.
III. Le module d’aide à l’annotation de textes
66Ce module qui faisait partie de LIKES est maintenant un plug-in qui permet d’annoter sémantiquement un corpus. L’utilisateur dispose grâce à l’interface de la possibilité de définir son arbre d’annotation sous forme d’une DTD (Document Type Definition) qui définit un arbre des annotations possibles comparable aux DTD qui définissent des documents11.
67Cette partie a été réalisée pour une application bien précise en biologie. Dans ce travail, nous nous proposons de réaliser une annotation sémantique d’un nombre important d’articles scientifiques portant sur la structure des protéines. Ces articles contiennent des informations sémantiques importantes pour les chercheurs biologistes. Le problème est que pour l’instant, ces informations sont sous forme textuelle. Il s’agit donc de normaliser le contenu de ces textes en les annotant par des concepts sémantiques utiles. L’ontologie du domaine est connue, et, heureusement, les textes ont une certaine régularité. Ils relatent des expériences (une ou deux par article) se déroulant suivant un scénario relativement régulier et mettant en œuvre des items connus.
68Le thème commun à tous les articles12 est la recherche sur la structure d’une protéine. L’expérience se déroule toujours suivant un scénario identique. Il s’agit d’identifier un gène, de lui insérer un « tag » (un marqueur biologique qui permettra de le récupérer à l’issue de l’expérience). Le gène marqué est ensuite inséré dans un vecteur où il est cloné (multiplié), puis exprimé. Le résultat est ensuite purifié par chromatographie en utilisant le tag initial, le gène est alors cristallisé et le cristal observé par diffraction donne des indications sur la structure de la protéine.
69Nous avons mis en place le module annotation de LIKES de façon à permettre une annotation manuelle, puis progressivement semi-automatique de ces textes. Ces textes annotés sont en effet attendus par les chercheurs en biologie auxquels ces annotations doivent permettre d’accéder rapidement à l’information pertinente qui les intéresse à un instant donné. Alors que pour l’instant avec leur système d’indexation actuel, le nombre de document fournis en réponse à leurs requêtes est trop élevé et que ces documents sont peu pertinents.
70Il s’agit de permettre l’annotation manuelle de ces textes de façon aisée pour le biologiste et simultanément d’aider à créer rapidement des outils de recherches d’information.
71Pour l’instant cette partie comprend donc deux sous parties :
Un éditeur de DTD qui permet de spécifier les valeurs à fournir par l’annoteur à partir du texte, de spécifier le nombre d’élément d’un même type possible etc…
Un module qui exploite cet éditeur et qui permet d’annoter suivant la DTD et donc l’ontologie prédéfinie.
72Ce dernier module permet de sélectionner un type d’annotation, puis une zone de texte et d’assigner l’annotation choisie au texte. Le programme contrôle si l’annotation est conforme à la DTD Le programme insère alors les balises XML dans le texte initial et le transforme en fichier XML contenant l’annotation sous forme de balise XML.
73Dans une première phase, actuellement, des biologistes sont en train d’annoter manuellement un certain nombre de textes. L’environnement ensuite va permettre d’étudier les régularités des séquences balisées, pour en tirer des d’expressions régulières de recherche. La mise au point de l’environnement est en cours. L’utilisateur peut déjà visualiser tous les contextes annotés de la même manière, puis faire générer une expression régulière inférée par le programme. Le procédé d’inférence est extrêmement simple, il repose sur la connaissance par le programme d’un certain nombre d’items généralisables qui correspondent à des listes finies fournies au programme : par exemple les unités du domaine, ou des listes fournies en intension (les enzymes sont des mots qui finissent par « ase »). L’expression régulière inférée est bien entendu éditable et lançable sur les textes existants pour vérifications, puis sur de nouveaux textes.
74Exemple : sur les contextes suivants : 50mM M, 5 mM Tris. HCl, 10 mM D, 10 mM M,
75Le module infère l’expression régulière <D><D>*’.’<D><D>* <SEP>*mM (Tris. HCl+<E>) que l’utilisateur peut rééditer.
76Ce module est encore en développement et sera complété au vu des résultats de l’expérimentation de manière à pouvoir utiliser les résultats obtenus par expressions régulières inférées de deux manières : soit de manière automatique, soit semi-automatique.
IV. Le module Chunker
77La philosophie de ce module est empruntée à Vergne (Vergne, Giguet 98) avec qui nous partageons un certain nombre d’idées : un chunker est robuste, ne nécessite pas de dictionnaire pas de règles de grammaire, mais des règles morpho-syntaxiques propres à la langue relativement faciles à établir. Il est plus facile à implémenter qu’un analyseur, mais ne donne pas un arbre d’analyse comme résultat, par contre ce résultat peut être à faible coût utilisé pour étiqueter le texte et moyennant un effort relativement faible pour l’analyser syntaxiquement. L’implémentation actuelle utilise les transducteurs de Likes, les items fournis en entrée des transducteurs qui sont appliqués en cascade (Roche, Shabes, 1997), ceux-ci insèrent dans le texte des balises qui sont utilisées par les transducteurs suivants. Le traitement est très efficace, en effet, la complexité de l’algorithme est linéaire en fonction de la taille du corpus.
78L’implémentation actuelle dans LIKES présente les caractéristiques suivantes : elle nous est complètement propre (en effet, les sources du chunker de Vergnes ne sont pas disponibles), les nôtres (une centaine d’expressions régulières) ont été écrites par le second auteur (Montessuit 2003).
79Comme nous l’avons déjà mentionné, l’écriture des transducteurs pour un segmenteur en îlots s’appuie sur la connaissance des bornes marquant les débuts de fragments : articles ou prépositions etc. et également sur des « devineurs » pour les corps de segments ou les segments moins marqués, pour les Syntagmes Verbaux en particulier. Les devineurs s’appuient sur des marques morphologiques, des flexions pour déduire la « catégorie » d’un mot. Leur donnée revient à munir le programme de dictionnaires définis en intension plutôt qu’en extension. Le problème est la validité de ces devineurs. En d’autres termes, on peut se poser la question sur la fiabilité des déductions obtenues par les règles permettant de déduire la catégorie d’un mot par sa terminaison ainsi sur le nombre d’exceptions qu’il peut y avoir à ces règles. Chaque exception nécessitant l’écriture d’une règle spécifique, ne risque-t-on pas d’arriver à un énorme ensemble de règles non indépendantes ? Notre réponse est négative. Nous avons déterminé les règles en partant d’un dictionnaire assez important comptant 150 000 mots français avec leur catégorie, à partir de cette ressource nous avons établi un certain nombre de règles dont le nombre d’exception est faible.
80Par exemple, la règle qui permet de deviner un verbe se sert de la liste de terminaisons suivante :
tue|ait|ise|fie|onne|end|ent|ont|ande|ète|ette|èle|elle| nte|ir|er|ti|di|li|é|uit.
81Nous avons également complété ces règles par des règles établies à la lecture d’une analyse effectuée en 1984 (Montibus 1984) à l’origine pour améliorer les résultats des premiers concordanciers fonctionnant sur le TLF alors que celui-ci n’était pas étiqueté. Le but de l’auteur a été de lister des règles de désambiguïsation locales (cf. les grammaires locales d’INTEX) non basées sur des catégories syntaxiques, le corpus n’étant pas étiqueté. Ce travail comporte des règles de levées d’ambiguïtés locales basées sur les formes de mots même.
82La plupart de ces règles sont sûres.
83Exemple : … « le câline »… alors « le » est pronom et « câline » verbe de même pour « continue », « diffuse » etc. même chose évidemment pour « les câline ». Le document cité a classifié toutes les ambiguïtés lexicales possibles et pour chacune d’elle propose des règles basées sur des formes de mots. Bien que l’auteur ne prétende pas à l’exhaustivité plusieurs milliers de règles sont ainsi disponibles que nous avons intégrées dans nos fichiers de transducteurs. Elles prennent en compte bon nombre d’exceptions, mais malheureusement ne servent pas souvent, car elles sont indexées par des formes de mots.
84Pour l’instant, nous sommes relativement satisfaits des résultats sans doute encore améliorables que donne notre implémentation du chunker. Nous donnons ci-dessous un exemple de sortie sur une phrase du corpus Ménélas.
<pn>On| <aux sing>a <Adv>également |<V>tenté |<Ck>d’ <V inf>opacifier |<Ck plur> les coronaires |<Ck>au moyen de <N plur>cathéters <N plur>spéciaux | <V ppres>formant |<Ck sing> une bouche perpendiculaire |<Ck> de l’aorte |<V ppres> ascendante |<Pr> et |<V ppres> permettant |<Ck sing>l’|<N sing>injection |<Ck>de substance |<Ck>de contraste |<Ck>à <N sing>proximité |<Ck>des orifices coronariens.
85Le module segmenteur donne également comme résultat pour un texte donné : les relations sujet verbes et verbes objets qui peuvent être aussi très utile dans la phase de structuration d’une terminologie, pour faire des hypothèses de classes sémantiques.
86Il ne reste plus qu’à implémenter maintenant une nouvelle série de transducteurs pour transformer le résultat sous forme de chunks en un texte étiqueté, ce n’est pas encore réalisé, mais le sera certainement à la publication de ce texte.
Conclusion et Perspectives
87Bien que les choix de Likes soient différents de ceux d’INTEX, la proximité des deux implémentations est grande et il serait intéressant dans le futur qu’elles soient complémentaires et qu’on puisse passer de l’une à l’autre facilement. Nous nous attelons dès maintenant à cette tâche de rapprochement avec INTEX pour la poursuivre dès la sortie de sa nouvelle version NOOJ.
88Ceci est d’autant plus valable, que pour des raisons pédagogiques, nous avons en cours le projet de rajouter dans LIKES des dictionnaires13, la visualisation des ambiguïtés lexicales par des transducteurs (ou des graphes) et des grammaires locales.
89Il sera intéressant alors de comparer les approches respectives et il est probable que par la suite les deux outils vont bénéficier de cette confrontation en procurant chacune des fonctionnalités supplémentaires intéressantes à leurs utilisateurs.
90Un certain nombre de perfectionnements seront apportés à LIKES dans le futur proche, par exemple un module de traitement des mots composés des langues agglutinantes comme les langues germaniques, de modules exploitant les résultats du chunker (distributions des verbes) et de modules d’intérêt plus pédagogique (exemples : un environnement de simulation d’application d’un graphe d’automate et un environnement rendant les automates récursifs proches des DCG à la Prolog).
91D’autres améliorations d’ordre ergonomique sont en projet notamment dans le module de synthèse de relations14 et dans le plug-in d’annotation.
92Finalement, un certain nombre de modules plug-in sont en projet. Notamment pour ajouter à LIKES des outils statistiques : calcul de la richesse du vocabulaire, etc. ou des mots saillants pour indexer un ensemble de textes etc.
Bibliographie
Des DOI sont automatiquement ajoutés aux références bibliographiques par Bilbo, l’outil d’annotation bibliographique d’OpenEdition. Ces références bibliographiques peuvent être téléchargées dans les formats APA, Chicago et MLA.
Format
- APA
- Chicago
- MLA
Bibliographie
BERTRAND (de), BEUVRON (de) F., ROUSSELOT F. (1999), « Grathwohl M., David Rudloff D., Schlick M. Ciclop (Version 2.0) », Proceedings of the 1999 International Worshop on Description Logics (DL’9), Linköpings universitet, Sweden.
BERTRAND (de), BEUVRON (de) F., KULLMANN M., DAVID RUDLOFF D., SCHLICK M, ROUSSELOT F., (2000), « The Description Logic Reasoner Ciclop (Version 2.0) », Proceedings of the 7th Workshop on Automated Reasoning, London, UK, July 20-21, CEURWS, vol. 32, Aachen University.
BOURIGAULT D. (1996), « LEXTER a natural Language Processing tool for terminology extraction », Proceedings of the 7th EURALEX International Congress, Göteborg.
CONDAMINES A., REBEYROLLES J. (2000), « Construction d’une base de connaissances terminologiques à partir de textes : expérimentation et définition d’une méthode », in CHARLET J, ZACLAD M., KASSEL G & BOURIGAULT D. (eds.), Ingénierie des connaissances Tendances Actuelles et nouveaux défis, Paris, Editions Eyrolles.
FELBER, H. (1987), Manuel de terminologie, Unesco, Infoterm (International Information Centre for Terminology).
FRATH P., OUESLATI R. & ROUSSELOT F. (2000), « Identification de relations sémantiques par repérage et analyse de cooccurrences de signes linguistiques », in CHARLET J, ZACLAD M., KASSEL G., BOURIGAULT D. (eds.), Ingénierie des connaissances Tendances Actuelles et nouveaux défis, Paris, Editions Eyrolles.
10.3115/992133 :HEARST M. (1998), « Automatic acquisition of hyponyms from large text corpora », Proceedings of the 14th International Conference on Computational Linguistics (COLING-ACL’98), Montréal, p. 498-504.
10.1017/S1351324900000048 :JUSTESON J.S., KATZ S.M. (1995), « Technical terminology : some linguistics properties and an algorithm for identification in text », Revue Natural Language Engineering, 1 (1), p. 9-27.
LEBART L., SALEM A. (1988), Analyse Statistique des données textuelles, Ed Dunod.
MONTESSUIT N. (2003), Rapport LIIA « Implémentation d’un chunker », INSA Strasbourg.
MONTIBUS M.-J. (1990), « Lemmatisation semi_automatique du français : les ambiguïtés de la langue écrite », Rapport de recherche CNRS.
MORIN E. (1999), « Acquisition de patrons lexico-syntaxiques caractéristiques d’une relation sémantique », TAL (Traitement Automatique des Langues), Vol. (1), Paris, p. 143-166.
ROUSSELOT & al. (1996), « Extracting concepts and relations from corpora », Corpus – Oriented Semantic Analysis Workshop ECAI’96, Budapest, 12-13 August 1996, Ed. W. Wahlster, Ltd.
SEGUELA P., AUSSENAC_GILLES N. (1999), « Extraction de relations sémantiques entre termes et enrichissement de modèles du domaine », Actes de IC’99 (Ingénierie des Connaissances), Paris, p. 79- 88.
VERGNE J. et GIGUET E. (1998), « Regards Théoriques sur le Tagging », Actes de TALN98, Nancy.
WITTEN I.H. (2000), « Adaptative Text Mining : Infering Structure from Sequences », Journal of Discrete Algorithms, Vol 0 (0), p. 1-23.
Notes de bas de page
2 LIKES (Linguistic and Knowlegde Engineering Station) est téléchargeable à l’adresse suivante : http://www-insa.u-strasbg.fr/liia/downloadavecunedocumentationenfrançais (bientôt en anglais). Les sources JAVA et les API sont disponibles sur demande. LIKES est utilisé depuis maintenant 3 ans par des chercheurs aussi bien linguistes qu’informaticiens qui travaillent sur différentes langues dont l’anglais, le français, le bulgare et le tchèque, il est également utilisé depuis 3 ans pour l’enseignement du TAL des sciences du langage, de la terminologie et des ontologies en Langues Etrangères Appliquées (LEA). Une documentation à l’usage des programmeurs existe et est disponible sur demande au LICIA. Nous souhaitons que d’autres chercheurs développent d’autres modules sur LIKES sous la forme de plug-ins. Une documentation décrivant comment faire un plug-in est disponible.
3 Il ne peut être le même, car, comme nous le verrons, les deux langages n’ont pas la même expressivité.
4 Cela est vrai aussi des ontologies que nous croyons très peu partageables contrairement à une idée très répandue en Ingénierie des Connaissances.
5 Contrairement à INTEX les ponctuations ne sont pas collectées dans LIKES.
6 Si on trouve 4 occurrences de « revascularisation de l’artère fémorale » et 4 occurrences de « artère fémorale », il s’agit forcément des mêmes occurrences et l’entrée « artère fémorale » est alors redondante.
7 Notamment lorsque le terme n’est pas répété (rare) ou lorsque la répétition est effectuée par une variante du terme.
8 « montre » est toujours un verbe dans le corpus Ménélas (et jamais une occurrence de l’objet « montre »).
9 De plus, il sera bientôt également possible de donner des expressions régulières dans la syntaxe Perl (au moins dans le sous-langage de Perl qui permet d’exprimer des expressions régulières).
10 La taille maximum des contextes considérés est paramétrable, par défaut elle est de 8 mots.
11 Où on définit l’arbre des annotations possibles et où on définit des contraintes de cardinalités sur les types d’annotation s’il y a lieu.
12 Ils sont tirés de revues scientifiques en biologie notamment dans la revue « Molecular Cell ».
13 Nous avons notamment réalisé un dictionnaire électronique du Luxembourgeois qui n’est pas encore intégré dans LIKES.
14 Où le processus décrit dans le paragraphe synthèse de relation pourra être itératif : recherche de nouveaux contextes possibles entre de nouveaux mots trouvés dans les distributions gauche et droite, complétion de l’expression régulière, nouvelle recherche à l’aide de celle-ci etc. tant que le processus amène de nouveaux mots.
Notes de fin
1 This paper was first presented to the 6th INTEX Workshop, held in Sofia, Hungary, May 28-30, 2003. Research for this paper was partially funded by Fundação para a Ciência e a Tecnologia.
Auteurs
Licia-insa (Strasbourg)
Courriel : rousselot@liia.insa-strasbourg.fr.
Licia-insa (Strasbourg)
Le texte seul est utilisable sous licence Licence OpenEdition Books. Les autres éléments (illustrations, fichiers annexes importés) sont « Tous droits réservés », sauf mention contraire.
La formation d’une opinion démocratique
Le cas du Jura, de la révolution de 1848 à la « république triomphante » (vers 1895)
Pierre Merlin
2017
Les mutations récentes du foncier et des agricultures en Europe
Gérard Chouquer et Marie-Claude Maurel (dir.)
2018
Deux frontières aux destins croisés ?
Étude interdisciplinaire et comparative des délimitations territoriales entre la France et la Suisse, entre la Bourgogne et la Franche-Comté (xive-xxie siècle)
Benjamin Castets Fontaine, Maxime Kaci, Jérôme Loiseau et al. (dir.)
2019
Un mousquetaire du journalisme : Alexandre Dumas
Sarah Mombert et Corinne Saminadayar-Perrin (dir.)
2019
Libertaire ! Essais sur l’écriture, la pensée et la vie de Joseph Déjacque (1821-1865)
Thomas Bouchet et Patrick Samzun (dir.)
2019
Les encyclopédismes en France à l'ère des révolutions (1789-1850)
Vincent Bourdeau, Jean-Luc Chappey et Julien Vincent (dir.)
2020
La petite entreprise au péril de la famille ?
L’exemple de l’Arc jurassien franco-suisse
Laurent Amiotte-Suchet, Yvan Droz et Fenneke Reysoo
2017
Une imagination républicaine, François-Vincent Raspail (1794-1878)
Jonathan Barbier et Ludovic Frobert (dir.)
2017
La désindustrialisation : une fatalité ?
Jean-Claude Daumas, Ivan Kharaba et Philippe Mioche (dir.)
2017