Affichage des articles dont le libellé est Reconnaissance des variantes de termes. Afficher tous les articles
Affichage des articles dont le libellé est Reconnaissance des variantes de termes. Afficher tous les articles

jeudi 5 mars 2009

ACABIT : Acquisition de termes à partir de corpus

Description

ACABIT est un programme développé par Béatrice Daille qui permet une acquisition terminologique sur un corpus pré-étiquete et desambiguisé. Cette aquisition de termes s'effectue en deux étapes:

1-Analyse linguistique et regroupement de variantes : analyse du corpus par des transducteurs et production de candidats termes binaires
Nom Adj : connaissances informatiques
Nom1 à (Det) Nom2 : aide à domicile
Nom1 Prep Nom2 : vente par téléphone ...
Décomposition : réseau de transit à satellite → réseau de transit et réseau à satellite

2-Filtrage statistique : tri des candidats termes à partir d’un corpus de référence et de termes valides.
Comparaison de mesures statistiques en fonction de leur capacité à distinguer les termes des séquences ne correspondant pas à des termes.

Des transformations syntaxiques permettent d’associer une forme de base à plusieurs variantes
• Coordination de termes
Assemblage et désassemblage de paquets → assemblage de paquets, désassamblage de paquets
• Surcomposition de termes
Réseau de transit à satellites → réseau de transit, réseau à satellites
• Modification adjectivale de termes
Liaisons multiples par satellites → liaison par satellites

ACABIT existe en verion française et anglaise.

Installation sous Linux

Pour installer ACABIT, il faut commencer par le télécharger:

* ACABIT français version v4.3 tar gz
* ACABIT anglais version v4.3 tgz

ACABIT utilise les programmes suivants :

* Perl
* Pour le français :
    o Étiqueteur grammatical de Brill distribué par l' ATILF ou TreeTagger
    o Le lemmatiseur FLEMM (ATTENTION : le format de sortie de FLEMM a été récemment modifié. Il faut utiliser la version FLEMM-v2.0 (1999))
    o Mise au format XML. Ce script PERL peut vous être utile brill2xml.pl
* Pour l'anglais :
    o Étiqueteur grammatical d'Eric BRILL
    o lemmatiseur : utilisation de la base lexicale CELEX
Utilisation de la version française

ACABIT prend en entrée un texte annoté linguistiquement et retourne une liste ordonnée de candidats termes.

La syntaxe générale d'utilisation est :
perl -C fr_stat.pl <nom_du_fichier_entree>
perl -C fr_tri.pl <nom_du_fichier_sortie> (Fichier de sortie par défault : out.xml)
Le fichier d'entrée doit être balisé comme suit:

<record>
<an> ...</an>
<ti> ... </ti>
<ab>
<ph_nb=xxx> ... <ph>
....
<ph_nb=xxx> ... <ph>
</ab>
</record>
<record>
...
</record>

*Balise <record> : marquage des différents textes
*Balise <an> : information concernant le texte
*Balise <ti> : titre
*Balise <ab> : corps du texte
*Balise <ph_nb=xxx>: phrase numero xxx

Si, par exemple, on veut appliquer ACABIT sur le fichier d'entrée exemple_fr.txt et mettre le résultat dans le fichier résultat, on tape les commandes:
perl -C fr_stat.pl exemple_fr.txt
perl -C fr_tri.pl résultat
Ceci est un extrait du fichier d'entrée:

<record>
<an>
92/CAR/92 -/- 0014602/CAR/0014602
</an>
<ab>
<ph_nb=1>On/PRV:3p:_:s:n/on examine/VCJ:{{1|3}p:s:pst:{ind|subj}|2p:s:pst:imper}/examiner:1g les/DTN:_:p/le alternatives/SBC:_:p/alternative d'/PREP/d' une/DTN:m:s/un production/SBC:_:s/production économique/ADJ:_:s/économique de/PREP/de vapeur/SBC:_:s/vapeur et/COO/et de/PREP/de courant/SBC:_:s/courant pour/PREP/pour la/DTN:f:s/le sucrerie/SBC:_:_/sucrerie ./. </ph>
<ph_nb=2>On/PRV:3p:_:s:n/on énumère/VCJ:{{1|3}p:s:pst:{ind|subj}|2p:s:pst:imper}/énumérer:1g et/COO/et on/PRV:3p:_:s:n/on évalue/VCJ:{{1|3}p:s:pst:{ind|subj}|2p:s:pst:imper}/évaluer:1g les/DTN:_:p/le possibilités/SBC:_:p/possibilité d'/PREP/d' optimisation/SBC:_:s/optimisation en/PREP/en vue/SBC:f:s/vue d'/PREP/d' une/DTN:m:s/un réduction/SBC:_:s/réduction des/DTC:_:p/du besoins/SBC:_:p/besoin spécifiques/ADJ:_:p/spécifique en/PREP/en vapeur/SBC:_:s/vapeur pour/PREP/pour la/DTN:f:s/le production/SBC:_:s/production du/DTC:m:s/du courant/ADJ:m:s/courant </ph>
</ab>
</record>
.
.
.

Et voila un extrait du fichier résultat (fichier XML)

<listcand>
<setcand new_ident="356" loglike="1096.055" freq="5">
<cand old_ident="358">
<na freq="5">
<base>
<term> alcool supérieur </term>
</base>
</na>
</cand>
</setcand>
<setcand new_ident="80" loglike="1071.797" freq="4">
<cand old_ident="81">
<npn freq="4">
<base>
<term> qualité du produit </term>
</base>
</npn>
</cand>
</setcand>
.
.
.

Ce fichier contient des informations sur les termes trouvés (représentés ici par leurs identifiants) telles que le lemme, le nombre d'occurences, le coefficient de vraisemblance (loglike)...
Ces termes sont triés selon le loglike qui est une mesure statistique permettant de classifier les candidats termes extraits à l'aide de filtres linguistiques du plus au moins représentatif du domaine.

D'autres fichiers de sortie temporaires sont également générés (prefixe.txt, relationnel.txt, res.txt, tri.txt...). Les plus importants sont temp.txt, temp2.txt, res.txt et tri.txt.

Le fichier temp.txt contient la liste des termes avec leurs statistiques. Chaque ligne correspond à un couple (premier lemme/ dernier lemme).
Voila un extrait de ce fichier représentant un seul terme (une ligne):

42 1 3 1 forme minéral 1 * forme minéral

Les informations pour chaque couple sont, dans l'ordre :
- son identifiant unique
- le nombre de termes commencant par ce premier lemme
- le nombre de termes finissant par ce dernier lemme
- le premier lemme
- le dernier lemme
- le type de structure
- la suite de lemmes de chaque terme simplifié trouvé comportant ce premier et ce dernier lemme

Le fichier temp2.txt est le fichier où apparait chaque terme trouvé (autant de fois que d'occurences dans le texte).
Voila un extrait de ce fichier représentant un seul terme (une ligne):

extension sucrerie 8 --- extension d' une sucrerie --- SBC PREP DTN SBC --- extension d' un sucrerie --- npn --- BASE --- 92 --- 0014603 --- 1 --- 0

Chaque ligne correspond à un terme trouvé, a ses caractéristiques et a ses références :
- le premier lemme
- le dernier lemme
- l'identifiant unique du couple (premier lemme/ dernier lemme)
- la suite de flexions de chaque terme
- la suite d'étiquettes de chaque terme
- la suite de lemmes de chaque terme
- la structure du terme (NA, NPN, ...)
- le type du terme (BASE, MODIF, COORD, ...)
- l'année
- le numéro de texte
- le numéro de phrase
- un booléen pour dire si le terme a été trouvé dans un titre (1) ou dans le corps du texte (0).

Le fichier res.txt contient les couples de termes listés dans temp.txt triés selon le loglike. Il tient compte des regroupements morphologiques.
Voila un extrait de ce fichier représentant un seul terme:

356 1096.055 5 7 6
alcool supérieur (5) * alcool supérieur


Le fichier tri.txt contient les occurrences des termes listées dans temp2.txt regroupées (sans prise en compte des regroupements morphologiques). Il est composé d'une alternance de lignes de 2 formes différentes :
- "Mot Mot :" pour presenter les mots des termes
- "* Infos sur le terme" qui fournit des renseignements sur les occurrences de ce terme.
Voila un extrait de ce fichier:

forme minéral :
* 42 --- formes minérales --- SBC ADJ --- forme minéral --- na --- BASE 1 ( 92 --- 0020263 --- 1 --- 0 )


Chaque ligne correspondant aux renseignements sur les occurrences du terme a la forme suivante :
- l'identifiant unique du couple (premier lemme/ dernier lemme)
- le premier lemme
- le dernier lemme
- la suite de flexions de chaque terme
- la suite d'étiquettes de chaque terme
- la suite de lemmes de chaque terme
- la structure du terme (NA, NPN, ...)
- le type du terme (BASE, MODIF, COORD, ...)
- une suite non nulle de références entre parenthèses :
* l'année
* le numéro de texte
* le numéro de phrase
* un booléen pour dire si le terme a été trouvé dans un titre (1) ou dans un resume (0)

Licence

Licence GPL

Références

B. DAILLE, "Conceptual structuring through term variations". In F. Bond, A. Korhonen, D. MacCarthy and A. Villacicencio (eds.), Proceedings ACL 2003 Workshop on Multiword Expressions: Analysis, Acquisition and Treatment, 9-16, 2003

Y. TOUSSAINT, F. NAMER, B. DAILLE , C. JACQUEMIN, J. ROYAUTÉ and N. HATHOUT. Une approche linguistique et statistique pour l'analyse de l'information en corpus (full paper)(in French), TALN'98, ATALA, Paris, France, 1998.

Daille, B. (1994) Approche mixte pour l’extraction de terminologie : statistique lexicale et filtres linguistiques, Thèse en informatique fondamentale, Universite Paris 7

vendredi 27 février 2009

FASTER : Reconnaissance des termes et de leurs variantes

Description

FASTER est un analyseur syntaxique robuste pour la reconnaissance de termes appartenant à une liste contrôlée développé par Christian Jacquemin. Il permet de:
• Détecter les variantes des termes en corpus (formes linguistiques differentes)
• Capturer les variations par des métarègles opérant à differents niveaux :
  • Morpho-syntaxique : flux de sève mesurés est une variation de mesure de flux s’appuyant sur le lien morphologique entre le verbe mesurer et le nom mesure.
  • Syntaxique : mesure de volume et de flux est une variante de mesure de flux obtenue par coordination
  • Syntaxico-sémantique : évaluation de flux est une variante de mesure de flux s’appuyant sur le lien sémantique existant entre les noms évaluation et mesure.
• Reconnaître des variantes terminologiques à trois niveaux :
  • Premier niveau : mots simples et liens morphologiques et sémantiques
  • Deuxième niveau : termes construits sur les mots simples
  • Troisieme niveau : variations qui transforment les règles et termes en règles de variantes
      *Dimension syntagmatique : transformations structurales
      *Dimension paradigmatique : liens morphologiques etsémantiques.FASTER est disponible en Anglais et en Français.

Installation sous Linux

Pour installer FASTER, il faut commencer par le télécharger, ensuite:
1-Créer un répertoire de travail
2-Décompresser l'archive fastr-2.04.tar.gz dans le répertoire crée
3-Compiler FASTR en tapant les commandes:
* ./configure
* make
* make install
4-Installer TreeTagger.

Utilisation

Fastr peut être utilisé en deux modes:
* Indexation contrôlée : l'outil prend en entrée un corpus et une liste de termes.
* Indexation libre : l'outil prend en entrée uniquement un corpus, la liste des termes étant automatiquement acquise à partir du corpus.
Le corpus et la liste des termes sont étiquetés par TreeTagger.

Pour le Français, la syntaxe générale est:
* En Indexation contrôlée :
fastr-controlled-indexing-fr [options] <texte_fr> <liste_termes_fr>
* En Indexation libre :
fastr-free-indexing-fr [options] <corpus_fr>
Pour l'Anglais, la syntaxe générale est:
* En Indexation contrôlée :
fastr-controlled-indexing-en [options] <texte_en> <liste_termes_en>
* En Indexation libre :
fastr-free-indexing-en [options] <corpus_en>

Si on veut essayer FASTR sur le fichier text-fr.txt en utilisant le fichier de termes terms-fr.txt en mode indexation contrôlée, on tape la commande:
fastr-controlled-indexing-fr -c etc/fastr.conf-fr data/text-fr.txt data/terms-fr.txt >résultat.txt
(fastr.conf-fr est le fichier de configuration)

Le contenu de text-fr.txt est: (Le contenu peut être simplement un texte et pas forcément des termes ou des phrases chacune dans une ligne)

catégorie grammaticale.
catégorie des mots grammaticaux.
catégorisation des mots.
étiquette grammaticale.
classe d'un mot de la grammaire.
familles des mots grammaticaux.

Le contenu de terms-fr.txt est:

catégorie grammaticale.
catégories des mots.
catégorisation des mots.

Et voici le contenu du fichier résultat:

catégorie grammaticale .
000001 catégorie grammatical catégorie grammaticale 0
catégorie des mots grammaticaux .
000002 catégorie du mot catégorie des mots 0
000002 catégorie grammatical catégorie des mots grammaticaux XX,4,Modif
000002 catégorisation du mot catégorie des mots XXX,23,NtoN
catégorisation des mots .
000003 catégorisation du mot catégorisation des mots 0
000003 catégorie du mot catégorisation des mots XXX,23,NtoN
étiquette grammaticale .
classe d un mot de la grammaire .
000005 catégorie du mot classe d un mot XXX,26,NtoNSHead
familles des mots grammaticaux .
000006 catégorie du mot familles des mots XXX,26,NtoNSHead

Le fichier de sortie est sous forme tabulaire, il est composé de 4 colonnes séparées par des tabulations sauf la deuxième et la troisième qui sont séparées par un espace et une tabulation. La première colonne représente le numéro de la phrase analysée, la deuxième représente le terme utilisé de la liste des termes, la troisième représente la variante repérée et enfin la dernière représente le type de la variante.

Une étiquette 0 sur le lien signifie qu'il s'agit d'une occurence, éventuellement fléchie, d'un terme donné. Toutes les autres étiquettes dénotent des variantes obtenues à partir de métarègles sachant qu'on dispose de variantes syntaxiques (coordination, modification, permutation), de variantes morpho-syntaxiques (NtoV, ...), de variantes terminologiques (synonymie, antonymie, hyponymie, méronymie) ...

Maintenant, si on veut essayer FASTR sur le fichier corpus-fr.txt en mode indexation libre, on tape la commande:
fastr-free-indexing-en -c etc/fastr.conf-fr data/corpus-fr.txt >résultat.txt
Le contenu de corpus-fr.txt est:

Le REN est la détection d'une zone textuelle correspondant à une entité nommée et l'attribution d'un type à cette entité (nom de personne, nom de lieu, nom d'organisation, et entité numérique (date, pourcentage ou montant financier)). Le REN est une tâche à mi-chemin entre l'analyse linguistique et la consultation lexicale.

Voici le contenu du fichier résultat:

Le REN est la détection d une zone textuelle correspondant à une entité nommée et l' attribution d un type à cette entité ( nom de personne nom de lieu
nom d organisation et entité numérique ( date pourcentage ou montant financier ) ) .

000001 zone textuel zone textuelle 0
000001 entité numérique entité numérique 0
000001 entité nommé entité nommée 0
000001 nom de personne nom de personne 0
000001 nom de organisation nom d organisation 0
000001 nom de lieu nom de lieu 0
000001 montant financier montant financier 0
Le REN est une tâche à mi-chemin entre l' analyse linguistique et la consultation lexicale .
000002 analyse linguistique analyse linguistique 0
000002 consultation lexical consultation lexicale 0

La plupart des travaux en TALN pour la recherche d’information sont appliqués en indexation libre (Schwarz, 1990; Sheridan & Smeaton, 1992; Strzalkowski, 1996). Ces analyseurs à large couverture décomposent des structures syntaxiques en dépendances élémentaires qui constituent les index du texte. Au contraire, la finalité de FASTER est l’indexation contrôlée: il s’agit de retrouver, au moyen d’une base de termes et d’une métagrammaire de variations locales, les occurrences de ces termes et de leurs variantes.

Licence

Licence GPL

Références

Jacquemin, C. (1997) Variation terminologique : reconnaissance et acquisition automatiques de termes et de leurs variantes en corpus, Memoire d’habilitation a diriger des recherches en informatique fondamentale, Universite de Nantes.

JACQUEMIN C., K LAVANS J. L. & T ZOUKERMANN E. (1997). Expansion of multi-word terms for indexing and retrieval using morphology and syntax. In Proceedings, 35th Annual Meeting of the Association for Computational Linguistics and 8th Conference of the European Chapter of the Association for Computational Linguistics (ACL - EACL’97), Madrid

http://www.limsi.fr/Individu/jacquemi/FASTR/