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

1 commentaire:

  1. Bonjour,

    Les liens suivants sont cassés :
    * ACABIT français version v4.3 tar gz
    * ACABIT anglais version v4.3 tgz

    Merci

    RépondreSupprimer