Accueil Boîte à outils 1 Boîte à outils 2 Boîte à outils 3 Boîte à outils 4

Boîte à outils 2

Présentation

La Boîte à outils 2 consiste à étiqueter les contenus textuels, avec Tree-Tagger et Cordial. Ce module va nous permettre d'envisager deux façons différentes de faire appel à des parseurs syntaxiques (taggers) - l'un en ligne de commande et l'autre en interface graphique -, dans une chaîne de traitement telle que celle-ci.

Etiquetage avec Tree-Tagger

Dans cette partie, le script de filtrage réalisé lors de la Boîte à outils 1, est repris et complété pour automatiser le processus d'étiquetage.

Avec Tree-Tagger, c'est simple : il suffit de l'appeler dans le programme à l'aide de la commande system, qui permet d'invoquer un programme externe.

system ("treetagger fichier-à-étiqueter sortie-étiquetage")

L'étiquetage par Tree-Tagger est fait au fur et à mesure du filtrage de contenus textuels. Le fichier étiqueté est au format TXT.
Or on a besoin d'une sortie XML ...et... le programme lave plus blanc que blanc! Il prend en charge l'appel d'un script formatant la sortie finale en XML.

Par contre, puisqu'il faut lui trouver un défaut qui n'en est pas vraiment un, Tree-Tagger nécessite un prétraitement du résultat de l'extraction : il ne peut prendre en entrée que des fichiers avec un seul mot par ligne. (cf. le script commenté)

Résultat de l'étiquetage au format XML.

Etiquetage avec Cordial

Cordial est un peu taquin! Et exigeant! Il tient absolument à passer par une interface pour réaliser l'étiquetage des formes filtrées.

Notons que Cordial ne veut que du fichier texte. On a donc modifié notre programme de la BàO1 en retirant tout simplement les balises XMl(script modifié).
On le sustente donc avec la sortie texte, quelques sucs gastriques de paramétrage lui sont nécessaires pour digérer tout cela...




Le retour du charriot...


L'interprétation du retour-charriot, un grain de sable insinué dans la petite mécanique que voilà.
Dans le fichier résultant de l'extraction destiné à Cordial, le retour à la ligne est manifesté par \n. A l'édition, force est de constater qu'il y a un souci d'interprétation :



Ce souci est évacué à l'aide d'un petit script de remplacement, dont voici l'essentiel :

$Ligne=~s/(.*?)(\n)$/$1\r/g;

et l'interprétation est adéquate :


Et finalement, c'est merveilleux...

Ceci étant dit, ménageons la chèvre et le chou : Tree-Tagger est le meilleur candidat parseur parce qu'il permet réellement de faire une chaîne de traitement automatisée.
Cordial ressort un peu pâli de cette expérience : en plus d'être payant, il nous faut lui ajouter une casserole supplémentaire... l'interface.