Thomas Heitz
Yves Kodratoff
Mathieu Roche

Équipe Inférence et Apprentissage
LRI - Université Paris XI
2003-2005

 

 

 

Aide du logiciel EXIT 1.0
EXtraction Itérative de la Terminologie

 

 

 

Sommaire

  1. Définitions et objectifs
  2. Fonctionnement du programme
  3. Expressions
  4. Prétraitement
  5. Extraction des termes et groupement des unités
  6. Règles pour améliorer la pertinence des résultats
  7. Fonctionnement du paramètre CIP
  8. Index

 

 

1. Définitions et objectifs

1.1 Destinataire et niveau d'analyse

Ce logiciel est destiné à des utilisateurs experts d'un domaine mais n'ayant pas de connaissances informatiques. Quelques connaissances en linguistiques et dans la création d'expressions régulières seront néanmoins nécessaires pour modifier les fichiers d'options fournis.

Ce logiciel est destiné à travailler au niveau syntaxique haut. C'est à dire après un étiquetage grammatical des mots. Il est aussi envisageable de l'utiliser au niveau sémantique bas c'est à dire avec des étiquettes sémantiques pauvres.

Les entrées pour lesquels ce programme a été créé sont des textes étiquetés. Il a été testé avec les sorties des logiciels d'étiquetage [Brill 1995] ou ETIQ [Amrani et al. 2004]. Cependant tout texte étiqueté est analysable par ce programme à condition de modifier les expressions régulières dans le panneau Expressions.

Les textes analysés devront contenir des mots, formules, ponctuations... étiquetés, séparés par un espace. Une phrase par ligne pour des raisons d'efficacité et de clarté. Le séparateur entre le mot et son étiquette doit être le même pour tout le corpus. Chaque étiquette utilisée dans le corpus ne doit avoir qu'un seul sens pour que les résultats soient cohérents.

1.2 Définitions

Un terme est un ensemble de 2 ou plus unités adjacentes lexicales (mots), syntaxiques (mots étiquetés grammaticalement) ou sémantiques (mots étiquetés conceptuellement). Le tout que forme un terme est différent de la somme de ses parties.

La pertinence d'un terme dépend de sa fréquence dans le texte, de celle de ses unités constitutives ainsi que d'autres paramètres [Daille 1994] que reprennent les mesures de pertinence utilisées dans ce logiciel.

1.3 Motivation

Exit [Heitz et al. 2005] est un logiciel capable d'aider un expert à extraire des termes qu'il trouve pertinents dans des textes de spécialité. Tout est mis en place pour faciliter le travail de l'expert afin qu'il puisse consacrer son temps à la seule reconnaissance des termes pertinents.

Le logiciel extrait des termes candidats et regroupe avec un tiret les mots ou unités contenus dans les termes candidats acceptés par l'expert. Il forme ainsi de nouveaux termes. L'intérêt de regrouper des unités est d'obtenir une nouvelle unité plus riche. Par exemple, si le terme candidat plantes à fleurs est accepté il sera transformé en un seul mot : plantes-à-fleur.

Notre approche [Roche et al. 2004] est avant tout fondée sur une méthode statistique contrairement à d'autres approches telles que LEXTER [Bourigault et al. 1999]. Elle a aussi la particularité d'être itérative. C'est à dire que l'expert extrait les termes selon différents paramètres et sélectionne ceux retenus et rejetés. Puis il recommence un nombre suffisant de fois pour pouvoir utiliser le paramètre "Coefficient Itérations Précédentes" qui déterminera automatiquement les termes à retenir ou à rejeter parmi ceux qui n'auront été ni retenus ni rejetés, voire corrigera les choix de l'expert.

 

2. Fonctionnement du programme

2.1 Opérations préliminaires

Une opération de lemmatisation, comprenant la lemmatisation des étiquettes grammaticales, pourra être effectuée préliminairement. Le texte devra être étiqueté pour pouvoir utiliser la richesse des paramètres d'extraction et des règles de correction des résultats.

Une étape de recherche des termes déjà formés avec un tiret '-' par le rédacteur du texte d'origine permettra d'affecter à leurs unités des poids plus importants que les unités qui apparaissent seules dans le texte d'origine. Il est aussi envisageable de rechercher les termes déjà formés mais sans séparateurs, simplement collés. Cette dernière fonction n'est pas implémentée à cause de son temps de calcul trop important.

Les termes qui comportent des soulignés '_' reliant des mots entre eux sont par conventions des locutions figées qui ne seront pas considérés comme des termes pertinents lors de la recherche de termes déjà formés. Les textes fournis en entrée du logiciel peuvent donc être traités avec un lexique de locutions figées afin de les relier par des soulignés. Par exemple, humour_noir.

2.2 Extraction des unités

Différentes mesures de pertinence peuvent être testées par l'expert afin de déterminer la mieux adaptée. Les résultats sont une liste de termes candidats classés par pertinence décroissante.

2.3 Groupement des unités et itération du processus

L'expert sélectionne les termes qu'il estime pertinents et ceux non pertinents. Les unités des termes pertinents sont groupées avec un tiret lors de l'extraction suivante et le texte analysé réécrit dans un nouveau fichier avec l'extension '.iter'.

L'étape d'extraction des termes est appliquée au résultat de la phase précédente pour regrouper non plus seulement des unités du texte d'origine mais aussi des unités regroupées précédemment. Et ainsi de suite jusqu'à analyser complètement chaque phrase et qu'il ne soit plus possible de trouver de nouveaux termes.

2.4 Création et application des règles

L'expert peut appliquer un ensemble de règles. Des règles locales, basées sur les unités d'un terme, ou contextuelles, basées sur les unités d'un terme ainsi que les précédents ou suivants. Ces règles détermineront automatiquement le statut des termes extraits qui les satisfont lors de l'extraction.

2.5 Paramètre CIP pour les termes indéfinis

Les termes indéfinis seront classés dans les termes acceptés ou rejetés en fonction de la correspondance de leur unités avec celles des unités des termes acceptés et rejetés par l'expert au cours des itérations précédentes.

2.6 Implantation du programme

Le programme est écrit en Java pour des raisons de portabilité sur différents systèmes d'exploitation. De plus, ce langage contient toutes les bibliothèques d'objets nécessaires pour la gestion des expressions régulières. Par contre, il est assez lent ce qui peut être problématique quant à la taille des fichiers analysés de l'ordre de la dizaine de mégaoctets.

Pour plus d'information sur l'implantation, voir la documentation Javadoc dans le répertoire doc.

Afin d'être plus efficace, ce logiciel ne parcoure qu'une seule fois le texte lors de l'extraction des termes et lors du groupement des termes et il utilise des tables de hachage pour stocker les termes.

2.7 Système d'aide

Un guide de premier démarrage est accessible à partir du menu Aide. Il est lancé automatiquement lors du premier démarrage du logiciel.

À tout moment, vous pouvez utiliser la touche [F1] pour obtenir de l'aide sur l'élément de l'interface actuellement sélectionné.

L'aide sous le curseur permet d'obtenir de l'aide sous forme de bulles d'aide lors du passage du curseur au dessus d'un élément de l'interface. De plus, les éléments importants de l'interface sont rendus plus voyants à l'aide de couleurs.

 

3. Expressions

À tout moment, vous pouvez rajouter des expressions à condition de leur donner un nom différent. Après chaque extraction, les anciennes expressions ne sont plus modifiables.

Vous pouvez tester une expression régulière en activant le bouton de commande Tester l'expression régulière puis en sélectionnant une cellule contenant une expression régulière.

Consultez le document de référence de Sun pour connaître la syntaxe exacte des expressions régulières supportées par ce logiciel.

Consultez aussi la liste des étiquettes grammaticales déjà utilisés par l'étiqueteur Brill.

3.1 Expressions régulières

On considérera dans cette partie l'espace comme séparateur d'unités et la barre oblique '/' comme séparateur entre le mot et l'étiquette ce qui donne l'unité : nom/étiquette. Ce séparateur doit être identique pour tout le corpus.

Exemple d'une expression régulière pour la définition de l'unité : "[^/ ]+/\S+ ". Ce qui empêche d'extraire une unité contenant un espace. Toutes les unités extraites doivent avoir le même séparateur.

Divers exemples avec des étiquettes de type Penn TreeBank :

Voir les fichiers d'options fournis avec le logiciel pour plus d'exemples.

Pour exprimer n'importe quel mot/étiquette vous pouvez utiliser l'expression régulière suivante : ".+" sans les guillemets.

Pour attribuer une étiquette grammaticale aux nouveaux termes formés il faut choisir une étiquette d'une des unités le formant en donnant sa position dans la colonne "Étiquette conservée" dans le panneau Expressions.

Exemple : pour le terme nom-adjectif, choisissez 2 comme position pour que le nouveau terme formé ait adjectif comme étiquette.

3.2 Formules

Attention ! Pour l'instant le logiciel ne permet pas de modifier les formules à partir de l'interface.

Les variables utilisées dans les formules sont les suivantes.

p1
Nombre d'occurrences de la première unité
p2
Nombre d'occurrences de la seconde unité (couple) ou troisième unité (triplet)
a
Nombre d'occurrences du couple ou triplet d'unités
b
Nombre d'occurrences de couple ou triplet d'unités avec la première unité correspondante et la seconde unité (couple) ou troisième unité (triplet) différente
c
Nombre d'occurrences de couple ou triplet d'unités avec la seconde unité (couple) ou troisième unité (triplet) correspondante et la première unité différente
d
Nombre d'occurrences de couple ou triplet d'unités avec la première et la seconde unité (couple) ou troisième unité (triplet) différentes
totalUnits
Tous les couples ou triplets d'unités suivant le cas
totalUnits = a + b + c + d
t
Nombre de textes différents qui contiennent l'unité
totalDocuments
Nombre total de documents dans le corpus

3.3 Types de terme

Les termes sont classés selon différents types pour ceux qui sont acceptés et rejetés. Dans la table des types de terme, vous pouvez mettre jusqu'à 50 types pour les termes acceptés et de même pour les termes rejetés. Ces types de terme vous permettent de faire une préclassification conceptuelle. Vous pouvez aussi les utiliser dans des règles pour donner automatiquement des types aux termes extraits.

 

4. Prétraitement

4.1 Recherche des termes déjà formés

Il est important de noter que le panneau "Expressions" doit être rempli avant de pourvoir chercher les termes déjà formés

Le bouton de commande Chercher les termes permet de chercher les termes déjà formés contenant un tiret comme séparateur de mot. Exemple : "divergences-d'-opinion" sera décomposé en "divergences/SBC:pl d'/PREP opinion/SBC:sg". Les étiquettes des mots formant le terme sont récupérées à partir des mots seuls contenus dans le texte.

Si un même mot peut avoir plusieurs étiquettes, l'étiquette associée peut être la mauvaise. Les mots pour lesquels aucune étiquette n'est connue apparaissent sans étiquette dans la liste.

Le bouton de commande Éditer les étiquettes permet d'éditer les étiquettes des termes sélectionnés.

Le bouton de commande Enlever termes permet de retirer les termes sélectionnés de la liste des termes dans le cas où il ne sont pas pertinents.

Lors de la première extraction les termes de la liste des termes déjà formés seront ajoutés à la liste des termes acceptés et donc n'apparaîtront pas dans les résultats mais dans la liste des termes acceptés de la première itération dès que l'utilisateur activera le bouton de commande Extraire termes du panneau Extraction.

4.2 Listes d'acceptation et de rejet

Deux fichiers de listes de termes peuvent être sélectionnés. Ils doivent contenir un terme par ligne tels qu'ils apparaissent dans le corpus analysé, habituellement des mots séparés par des espaces. La liste d'acceptation permet de fournir des termes que l'on sait déjà pertinents. La liste de rejet permet de fournir des termes que l'on sait déjà non pertinents.

Si plus d'un terme de deux ou trois unités est donné par ligne alors seul le premier sera pris en compte. Le format est : "unité1 unité2" pour les termes à deux unités et "unité1 unité2 unité3" pour les termes à trois unités. Exemple, sans les guillemets : "le/DET petit/ADJ bateau/SBC:sg".

Les termes apparaissant dans ces deux listes n'apparaîtront pas dans les résultats de l'extraction mais directement dans les listes des termes acceptés et rejetés dès la première extraction.

 

5. Extraction des termes et groupement des unités

Lorsque vous voulez analyser un nouveau fichier, sélectionnez l'élément Sélection nouveau fichier d'entrée du menu Programme.

Le bouton de commande Extraire termes extrait les termes candidats contenus dans le texte d'entrée avec les différents paramètres fournis. Les termes acceptés ont leurs unités automatiquement groupées avec des tirets comme séparateurs et le fichier d'entrée est réécrit dans un fichier portant l'extension .iter.

Les termes acceptés, rejetés et indéfinis sont ajoutés à leurs listes respectives dans les panneaux Termes Acceptés/Rejetés pour les deux premiers et Termes indéfinis pour les troisièmes.

Le bouton de commande CIP permet de sélectionner dans les termes extraits ceux qui "correspondent" aux termes déjà acceptés ou rejetés.

Le bouton de commande Recommencer permet de recommencer l'extraction du début en vidant toutes les listes. Cependant, les règles et les termes déjà formés ne sont pas réinitialisés.

Dans la liste des résultats de l'extraction vous pouvez utiliser la touche [s] ou le menu contextuel de la souris pour chercher une chaîne de caractères quelconque dans le texte d'entrée et afficher les résultats dans la zone de texte horizontale en bas du panneau.

5.1 Fichiers itérés et de sauvegarde des résultats

Pour repartir d'une itération donnée, choisissez un répertoire dans la liste déroulante Entrée puis choisissez une itération dans liste déroulante Itération.

Le corpus d'origine n'est jamais modifié mais une copie en est faite dans un répertoire portant son nom. À chaque itération/extraction les termes acceptés sont formés avec un tiret entre leur unités et le corpus résultat est écris dans un fichier .iter.

Toutes les itérations et options sont automatiquement sauvées à chaque extraction dans le répertoire nommé d'après le corpus en cours de traitement. Il est déconseillé de repartir d'un fichier itéré sans les options, contenues dans le fichier .options, et les tableaux mémoire, contenus dans le fichier .memtbl, qui vont avec car le logiciel ne saura plus quels termes ont déjà été formés.

Attention à ne pas modifier le contenu du répertoire d'un corpus en cours de traitement. Ce répertoire contient pour chaque itération les fichiers .hist qui contient l'historique, .iter qui contient le corpus itéré, .memtbl qui contient les tables mémoires sous forme binaire, .options qui contient les options de l'extraction et .rules qui contient les règles.

Entrée
Répertoire contenant les ensembles de fichiers itérés, options, tables mémoire et historique d'extraction
Itération
Numéro de l'itération en cours d'analyse ou à analyser
Résultats
Nom du fichier contenant les résultats si sauvés

Les fichiers .aterms, .rterms et .uterms sont sauvegardés lors de l'activation de l'élément Sauver tous les résultats du menu Ficher. Ils contiennent respectivement les listes de termes qui ont été acceptés, rejetés et non définis. Ils sont sauvés dans le répertoire racine du logiciel et non celui du corpus en cours de traitement. Ces listes de termes sont au format attendu par le logiciel dans le panneau Prétraitements, Liste d'acceptation et de Rejet. La dernière itération du corpus est aussi sauvegardée au même endroit avec l'extension .iter.

5.2 Expressions régulières de sélection

Définition de l'unité
Expression régulière utilisée pour séparer le texte d'entrée en unités
Définition des séparateurs d'expression/phrase
Expression régulière du séparateur d'expression ou de phrases
Habituellement, les fins de phrases et la ponctuation
Sélecteur de nom de texte
Expression régulière utilisée pour extraire le nom du fichier dans le corpus
Vous pouvez encadrer de parenthèses la partie de l'expression qui contient le nom du texte à conserver
Sélecteurs de termes à 2 unités
Expression régulière des couples d'unités analysés
Une expression régulière par unité
La dernière colonne contient le numéro du terme dont l'étiquette sera donnée au nouveau terme
Sélecteur de termes à 3 unités
Expression régulière des triplets d'unités analysés
Une expression régulière par unité
La dernière colonne contient le numéro du terme dont l'étiquette sera donnée au nouveau terme

5.3 Mesures de la pertinence des termes

Différentes mesures d'association sont utilisées pour établir les termes les plus pertinents. C'est à dire les termes qui définissent le mieux les concepts clés du corpus de textes analysés.

tf*idf
La mesure est effectuée sur la valeur tf*idf des unités et non sur leur nombre d'occurrences. TF signifiant Term Frequency, fréquence des termes et IDF signifiant Inverse Document Frequency, fréquence inverse de documents. C'est-à-dire que les termes les plus fréquents et se trouvant dans peu de documents sont privilégiés.
Occurrence d'abord
Le classement des résultats est d'abord effectué en fonction du nombre d'occurrences des collocations. Puis, les mesures de pertinence sont utilisées pour départager les collocations ayant un même nombre d'occurrences.

L'Information Mutuelle est une mesure utilisée en théorie de l'information (Fano, 61, chap. 2) et appliquée aux associations de mots :

IM(X,Y) = log2(P(w1,w2)  / (P(w1) P(w2)))

L'information mutuelle au cube est la même mesure que l'information mutuelle mais avec un numérateur au cube.

La mesure de vraisemblance est définie par la formule suivante :

a*log(a) + b*log(b) + c*log(c) + d*log(d)
- (a+b)*log(a+b) - (a+c)*log(a+c) - (b+d)*log(b+d) - (c+d)*log(c+d)
+ totalUnit*log(totalUnit)

Les quatre fréquences caractérisant une paire de mots dans un texte sont représentées par la table de contingence suivante :

  w2 w'!= w2
w1 a =  f(w1,w2) b = SOMw' !=  w2f(w1,w')
w != w1 c = SOMw! =  w1f(w,w2) d = SOMw !=  w1,w' !=  w2f(w,w')

[Daille 1994, chap 4.3.2]

Le coefficient de Dice correspond à : 2P(x,y)/(p(x)+p(y))

Pondération des termes des documents dite tf.idf

wij = tfij . log2 . (N / n)

wij = poids du terme Tj dans le document Di

5.4 Autres paramètres

Seuil d'élagage pour les termes à 2 unités
Les couples d'unités qui apparaissent strictement moins de ce paramètre dans le texte sont ignorés
Seuil d'élagage pour les termes à 3 unités
Les triplets d'unités qui apparaissent strictement moins de ce paramètre dans le texte sont ignorés
Nombre de résultats pour les termes à 2 unités
Limite le nombre de résultats des couples d'unités affichés
Nombre de résultats pour les termes à 3 unités
Limite le nombre de résultats des triplets d'unités affichés
Format des résultats - Nb entiers
Nombre d'entiers pour les résultats
Format des résultats - Nb décimales
Nombre de décimales pour les résultats

5.5 Classement des termes candidats

Dans la tables des résultats, l'expert sélectionne les termes et les classe en 3 catégories :

  1. Accepté
  2. Rejeté
  3. Indéfini

Par défaut, tous les termes sont de la catégorie indéfini.

Pour sélectionner plusieurs termes activez le [Bouton Gauche] de la souris et sans le relâcher faites glisser le curseur. Vous pouvez aussi utiliser la touche [Majuscule] et sans la relâcher activer les touches [Haut] et [Bas]. Pour effectuer des sélections discontinues gardez activée la touche [Contrôle].

Pour attribuer une catégorie à un terme ou un ensemble de termes sélectionnés activez le [Bouton Droit] de la souris et dans le menu contextuel qui apparaît choisissez la catégorie désirée.

Vous pouvez aussi utiliser les touches [0] à [9], [Contrôle] + [0] à [9] et [Suppression] pour respectivement attribuer les catégories accepté, rejeté et indéfini aux termes sélectionnés.

Les trois catégories sont sauvegardées à chaque extraction et n'apparaissent qu'une seule fois dans les résultats lors de l'extraction.

5.6 Listes des termes déjà extraits

Une fois qu'une extraction a eu lieu, les termes acceptés, rejetés et indéfinis sont inscrits dans les tables des panneaux de termes. Dans ces panneaux vous pouvez revenir sur vos choix en rejetant ou indéfinissant un terme accepté, en acceptant ou indéfinissant un terme rejeté et en acceptant ou rejetant un terme indéfini. Pour ce faire, activez le [Bouton Droit] de la souris et dans le menu contextuel qui apparaît choisissez la nouvelle catégorie désirée. Vous ne pouvez modifier le statut d'un terme accepté que pour l'itération précédente uniquement.

5.7 Affichage du contexte

Dans les tableaux contenant des termes, il est possible d'afficher le contexte en sélectionnant la cellule contenant le terme et en activant la [Barre d'Espace] ou le [Bouton du Milieu] de la souris.

Les phrases contenant le terme apparaissent avec leur numéro de ligne en tête dans la zone de texte horizontale du bas du panneau. Le terme sélectionné est coloré en rouge. Il est possible qu'aucune coloration n'apparaisse si le terme est composé de beaucoup d'unités. Ceci est un dysfonctionnement connu du logiciel

 

6. Règles pour améliorer la pertinence des résultats

Les règles s'appliquent automatiquement aux résultats de l'extraction des termes candidats qui seront donc sélectionnés comme acceptés ou retenus. Si la sélection ne vous convient pas vous devrez alors modifier les règles, notamment leur ordre d'application.

6.1 Règles locales

La zone d'entrée des règles permet de choisir l'unité, le type de critère et la chaîne de caractères recherchée ainsi que le résultat de la règle : le type d'acceptation ou de rejet.

Les règles locales portent sur le préfixe, le suffixe ou une partie quelconque d'un mot et/ou sur l'étiquette d'une ou plusieurs des unités d'un terme. Les opérateurs de conjonction Et, de disjonction Ou et la négation Nonsont autorisés. Vous pouvez faire monter ou descendre une règle afin de respectivement augmenter ou diminuer sa priorité.

La décomposition d'une règle annule le dernier opérateur appliqué. Si la règle n'a plus d'opérateur alors elle est recopiée dans la zone d'entrée des règles ce qui permet de la modifier puis de la créer à nouveau.

6.2 Règles contextuelles

Non implémenté pour l'instant.

Elles sont identiques aux règles locales mais s'appliquent en plus aux unités précédentes ou suivantes jusqu'à 3 unités de distance. Elles s'appliquent après les règles locales sur les termes de l'extraction restés indéfinis.

 

7. Fonctionnement du paramètre CIP

Une fois que suffisamment de termes indéfinis ont été accumulés et que l'expert a accepté et rejeté suffisamment de termes alors ce paramètre peut être appliqué sur la liste des termes indéfinis ou les résultats de l'extraction.

Le seuil de déclenchement que vous fournissez est proportionnel au nombre de termes précédents nécessaire à la sélection de nouveaux termes comme acceptés ou rejetés.

 

8. Index

8.1 Éléments de l'interface

8.2 Concepts

8.3 Bibliographie

Amrani et al. 2004
A. Amrani and Y. Kodratoff and O. Matte-Tailliez (2004). << A semi-automatic system for tagging specialized corpora >>. Dans Proceedings of the Eighth Pacific-Asia Conference on Knowledge Discovery and Data Mining (PAKDD'04), pages 670-681.
Bourigault et al. 1999
D. Bourigault and C. Jacquemin (1999). << Term Extraction + Term Clustering: An Integrated Platform for Computer-Aided Terminology >>. Dans Proceedings of the European Chapter of the Association for Computational Linguistics (EACL'99), Bergen, pages 15-22.
Brill 1995
Eric Brill (1995). << Transformation-Based Error-Driven Learning and Natural Language Processing: A Case Study in Part-of-Speech Tagging >>. Computational Linguistics, 21(4):543-565.
Daille 1994
Béatrice Daille (1994). << Approche mixte pour l'extraction automatique de terminologie : statistiques lexicales et filtres linguistiques >>. Thèse de Doctorat en Informatique Fondamentale à l'Université Paris 7.
Roche et al. 2004
M. Roche and T. Heitz and O. Matte-Tailliez and Y. Kodratoff (2004). << EXIT: Un système itératif pour l'extraction de la terminologie du domaine à partir de corpus spécialisés >>. Dans Proceedings of JADT'04 (International Conference on Statistical Analysis of Textual Data), volume 2, pages 946-956.
Heitz et al. 2005
Heitz T., Roche M., Kodratoff Y. (2005). << Extraction de termes centrée autour de l'expert. >>. Dans la revue RNTI, numéro spécial EGC'2005 (session démonstrations), 2:685-690.

 


2003-2005 - Université Paris XI - LRI équipe Inférence et Apprentissage
Pour tout commentaire : http://www.lri.fr/~heitz/ - Last modified: Thu Jul 7 14:50:21 UTC 2005