lundi 2 mars 2009

YaTeA : Extraction des termes

Description

L’extracteur de termes YaTeA (Yet another Term ExtrActor ) a été développé au LIPN par Thierry Hamon et Sophie Aubin pour aider le processus d’identification des termes en corpus. Il offre également la possibilité de redéfinir ou de modifier le processus d’extraction à travers plusieurs fichiers de configuration exploitant des jeux d'étiquettes grammaticales.

YaTeA travaille sur le Français et l'Anglais. Cet outil permet d'analyser des termes candidats en se basant sur une désambiguisation endogène. Une désambiguisation exogène est également possible pour l'identification et l'analyse des termes candidats en utilisant des ressources externes.

Installation sous Linux

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

1-Décompresser l'archive Lingua-YaTeA-0.5.tar.gz à l'endroit de son choix
2-Installer quelques modules manquants et dont dépend YaTeA (Module::Build, Config::General, Parse::Yapp, ...)en mode administrateur
3-Si on possède le programme make, alors:
    * Taper la commande perl Makefile.PL
    * Taper la commande make
    * Taper la commande make test
    * Taper la commande make install
sinon
    * Taper la commande perl Build.PL
    * Taper la commande Build
    * Taper la commande Build test
    * Taper la commande Build install
Utilisation

L'extracteur de termes YaTeA exige en entrée un corpus segmenté en mots et en phrases, lemmatisé et étiqueté avec des informations sur les parties de discours (Part-of-speech) et fournit plusieurs sorties aux formats XML, texte et HTML.

La syntaxe générale d'utilistation de YaTeA est la suivante:
yatea [options] <corpus>

Par exemple, si on applique YaTeA au fichier sampleEN.ttg écrit en Anglais, on tape la commande:
yatea -rcfile etc/yatea/yatea.rc share/YaTeA/samples/sampleEN.ttg

Voila un extrait du fichier sampleEN.ttg :

Combined VBN Combine
action NN action
of IN of
two CD two
transcription NN transcription
factors NNS factor
regulates VBZ regulate
genes NNS gene
encoding VBG encode
spore NN spore
coat NN coat
proteins NNS protein
of IN of
Bacillus NN Bacillus
subtilis NN subtilis
.
.
.
by IN by
B. FW B.
subtilis FW subtilis
sigma SYM sigma
28 CD 28
RNA NN RNA
polymerase NN polymerase

En tapant la commande citée précédamment, On voit défiler sur le terminal ces messages:

1) Loading corpus
corpus :share/YaTeA/samples/sampleEN.ttg
2) Chunking the corpus into MNPs
MAX_LENGTH: 12
    Total number of phrases: 52
    -multi-word phrases: 38
    -monolexical phrases: 14
3) Progressive parsing of the MNPs
Unparsed phrases... 0.0%
    Number of parsed multi-word phrases: 36
TC_MAX_LENGTH:12
4) Result display
    -Term candidates are displayed in XML format in './sampleEN/default/xml/candidates.xml'
    -Display of the list of term candidates and sub term candidates in text format in file './sampleEN/default/raw/termList.txt'
    -Display of the list of term candidates and sub term candidates in TreeTagger format in file './sampleEN/default/raw/termCandidates.ttg'
Un répertoire nommé sampleEN est donc crée dans le répertoire courant. Les termes candidats sont enregistrés sous le format XML dans le fichier: sampleEN/default/xml/candidates.xml, la liste des termes candidats et des sous-termes candidats est fournie sous le format texte dans le fichier: sampleEN/default/raw/termList.txt et la liste des termes candidats et des sous-termes candidats est fournie sous le format de sortie de TreeTagger dans le fichier: sampleEN/default/raw/termCandidates.ttg.

Ceci est un extrait du fichier candidates.xml

<TERM_EXTRACTION_RESULTS>
<list_term_candidates>
.
.
.
<term_candidate>
<id>term32</id>
<form>level of GerE</form>
<lemma>level of GerE</lemma>
<morphosyntactic_features>
<syntactic_category>NN of NN</syntactic_category>
</morphosyntactic_features>
<head>term33</head>
<number_occurrences>1</number_occurrences>
<list_occurrences>
<occurrence>
<id>occ29</id>
<mnp>1</mnp>
<doc>0</doc>
<sentence>6</sentence>
<start_position>47</start_position>
<end_position>60</end_position>
</occurrence>
</list_occurrences>
<term_confidence>0.5</term_confidence>
<log_information>YaTeA</log_information>
<syntactic_analysis>
<head>term33</head>
<modifier position="AFTER">term28</modifier>
<prep>of</prep>
</syntactic_analysis>
</term_candidate>
.
.
.
Cet extrait concerne un seul terme (Level of GerE). En effet, pour chaque terme, des informations comme le nombre d'occurences et pour chaque occurence le numéro de la phrase dans laquelle se trouve le terme, l'offset de début et de fin du terme permettent de retrouver facilement les termes dans le texte initial.

Voila encore un extrait du fichier termCandidates.ttg:

level NN level
of IN of
GerE NN GerE
. SENT .
control NN control
of IN of
htpR NN htpR
. SENT .
cotX NN cotX
promoter NN promoter
. SENT .
.
.
.
Les termes qui ne sont pas reconnus en tant que termes candidats sont mis dans le fichier : sampleEN/default/raw/unparsed

Les formats de sortie ne permettent pas un enregistrement aisé des validations. De plus, la rédaction ou la modification des fichiers de configuration peut être complexe et fastidieuse.Pour remédier à ces deux limites, Thierry Hamon a proposé l'implémentation:

1.D’une interface de visualisation et de validation des résultats de l’extraction. Cette partie pourra être utilisée indépendamment de la plateforme et, dans ce cas, exploitera la sortie XML de l’extracteur de termes;

2.D’une interface de configuration de l’extracteur de termes. A partir d’un jeu d’étiquettes grammaticales connu, l’utilisateur pourra définir le processus d’extraction de termes de manière partielle ou totale. Dans le cas d’une sous-spécification du comportement de l’extracteur, une fonctionnalité de l’interface gèrera correctement la génération des fichiers de configuration. Une autre fonctionnalité pourra permettre de visualiser immédiatement les conséquences de ces choix de définition.

Ce travail a été réalisé par une équipe de projet formée par:BOURASSINE Majed, BOUBAKER Brahim, DEBAB Abdelkader, JARMOUD Mohamed Said et MBAE Said. L'architecture générale de l'application est la suivante:















Licence

Licence GPL

Références

Sophie Aubin and Thierry Hamon. Improving Term Extraction with Terminological Resources. In Advances in Natural Language Processing (5th International Conference on NLP, FinTAL 2006).

BOURASSINE Majed, BOUBAKER Brahim, DEBAB Abdelkader, JARMOUD Mohamed Said et MBAE Said. Manuels d'installation, Environnement graphique pour YaTeA.

2 commentaires:

  1. je voudrais savoir est ce qu'il y a une version pour Windows. Merci...

    RépondreSupprimer
    Réponses
    1. C'est du Perl, donc si vous avez un moteur Perl sous Windows, ça
      devrait fonctionner. Mais je vous conseille de l'utiliser sous Linux (installez une machine virtuelle si nécessaire)

      Supprimer