jeudi 12 février 2009

Tree Tagger : Etiquetage morpho-syntaxique et Lemmatisation

L'étiquetage morpho-syntaxique consiste à associer une étiquette morpho-syntaxique à chaque mot, il repose sur la segmentation en mots et en phrases effectuée préalablement.

La lemmatisation consiste à associer un lemme à chaque mot du texte. Si le mot ne peut pas être lemmatisé (nombre, mot étranger, mot inconnu), aucune information ne lui est associée. La lemmatisation suppose que l'analyse morpho-syntaxique a déjà été faite.

Description

TreeTagger est un outil qui permet d'annoter un texte avec des informations sur les parties du discours (genre de mots: noms, verbes, infinitifs et particules) et des informations de lemmatisation. Il a été développé par Helmut Schmid dans le cadre du projet « TC » dans le ICLUS (Institute for Computational Linguistics of the University of Stuttgart). TreeTagger permet l'étiquetage de l'Allemand, l'Anglais, le Français, l'Italien, le Deutch, l'Espagnol, le Bulgare, Le Russe, le Grec, le Portuguais, le chinois et les textes français anciens. Il est adaptable à d'autres langages si des lexiques et des corpus étiquetés manuellement sont disponibles.

TreeTagger peut également être utilisé comme un « chunker » pour l'Anglais, l'Allemand et le Français (étiquetage des parties du discours, délimitation des groupes syntaxiques, étiquetage des groupes).

Installation sous Linux

Pour installer TreeTagger, on peut consulter le site web

http://www.ims.uni-stuttgart.de/projekte/corplex/TreeTagger/DecisionTreeTagger.html

En résumé, il faut:

1-Créer un répertoire nommé TreeTagger
2-Télécharger les archives dans tools/TreeTagger
3-Dans le répertoire tools./TreeTagger, exécuter install-tagger

Utilisation

La commande d’étiquetage CLASSIQUE avec TreeTagger est la suivante :
tree-tagger [options] <parametres> <textein> <texteout>

● Le premier argument est le fichier paramètre (french.par dans le répertoire lib par exemple)
● Le deuxième argument est le texte à étiqueter (avec un mot par ligne)
● Le troisième argument est le nom du fichier de sortie

Si on utilise cette syntaxe, le fichier d'entrée doit être préalablement segmenté (un mot par ligne).

Des scripts shell sont disponibles dans le sous répertoire cmd pour différentes langues permettent la tokenisation, l'étiquetage et quelques corrections d'erreurs afin de simplifier l'utilisation de TreeTagger (font appel à la commande classique), et dans ce cas la segmentation préalable du texte en entrée n'est pas indispensable car ces scripts font également appel à un segmenteur (tokenizer) par défaut.

Par exemple, si on veut simplement étiqueter le fichier test.txt écrit en langue française, On tape la commande:
sh cmd/tree-tagger-french test.txt >resultat.txt
voici un extrait du fichier résultat produit:

TreeTagger NAM <unknown>
permet VER:pres permettre
d' PRP de
annoter VER:infi annoter
plusieurs PRO:IND plusieurs
langues NOM langue
. SENT .
avec

ABR : abréviation
ADJ : adjectif
VER : verbe
DET:ART :article
...

Ce fichier est sous forme tabulaire, il est composé de trois colonnes séparées par des tabulations. La présence de la première et de la dernière colonne est due à l'utilisation des options -token et -lemma qui affichent respectivement le mot et le lemme lors de l'appel du script treetagger (treetagger french.par -token -lemma test.txt). La deuxième colonne représente l'étiquette morpho-syntaxique attribuée par TreeTagger aux différents mots.

Si on veut appliquer le chunker(tokenisation, étiquetage et annotation avec les formes verbales et nominales) sur le fichier test.txt écrit en langue française, On tape la commande:
sh cmd/tagger-chunker-french test.txt >resultat.txt
voici un extrait du fichier résultat produit:

<s>
<np>
TreeTagger NAM
</np>
<vn>
permet VER:pres permettre
</vn>
<vpinf>
d' PRP de
</vpinf>
<vn>
annoter VER:infi annoter
</vn>
<np>
plusieurs PRO:IND plusieurs
langues NOM langue
</np>
. SENT .
</s>
On remarque la présence de balises en plus par comparaison avec le fichier de sortie précédent, avec

NP : groupe nominal
PP : groupe prépositionnel
...

Licence

Gratuit pour la recherche uniquement

Références

SCHMID H. (1997). Probabilistic part-of-speech tagging using decision trees. In D. J ONES &

H. SOMERS, Eds., New Methods in Language Processing Studies in Computational Linguistics.

3 commentaires: