ÉTIQUETAGE

Tree-Tagger

Tree-Tagger est un outil en ligne de commande disponible pour Windows, Unix et Mac. Il est utilisable pour plusieurs langues, dont le français. Une façon d'étiqueter un fichier par TreeTagger est la commande suivante :

cat fichier-à-etiqueter | tree-tagger-french > fichier-étiqueté

Nous pouvons étiqueter directement le fichier SORTIEfiltreRSS.xml qu'on vient d'obtenir par le filtrage car Tree-Tagger ne s'efforce pas à étiqueter les balises XML. Ceci nous permet d'enchaîner directement après le filtrage et de ne pas perdre de l'information (classement des éléments en title et description) comme dans le cas où on devait débaliser le fichier avant de le soumettre à l'étiquetage.

Voici un bout du fichier étiqueté par Tree-Tagger (figure 1) :

sortie TT

Cependant, cette sortie de l'étiquetage n'est pas encore un document XML bien formé, car Tree-Tagger rajoute une balise <unknow> pour le lemme des mots qui lui sont inconnus et contrairement aux règles de XML, cette balise est uniquement ouvrant.

Cette erreur est corrigée à l'étape suivante car on applique à la sortie du Tree-Tagger le script addSTRUCT.pl qui structure l'information de ce fichier afin qu'on puisse obtenir ceci (figure 2) :

sortie TT structuré

En rajoutant au script de filtrage filtreRSS.pl l'appel du Tree-Tagger et l'appel du script précédent nous obtenons le script filtreRSStagTT.pl. Ce script prend en argument l'adresse de l'arborescence des répertoires contenant les fils RSS. Son exécution prends 7 secondes sur un Intel Core 2 Duo sur 2,1GHz et 1Go RAM. Il produit trois fichiers :

Une partie du fichier RSSstructTT.xml (le fichier entier a 14,9 Mo) peut être affichée avec cette feuille de style XSL

remonter

Cordial

Cordial est un programme Windows et il ne peut pas fonctionner comme une partie des procédures appelées par un script, le fichier à étiqueter doit être passé à Cordial à la main.

J'ai décidé d'étiqueter le contenu débalisé du fichier SORTIEfiltreRSS.xml, issu de l'étape filtrage. Pour débaliser le fichier, j'ai utilisé le script extractBalises.pl qui prend en argument le fichier XML et qui recopie le contenu des balises <title> et <description> dans un fichier texte appelé InputCordial.txt.

Avant d'étiqueter le fichier avec Cordial, il faut bien s'assurer que les fins de lignes dans ce fichier sont CRLF - Windows, sinon Cordial ne prend pas le simple saut de ligne de UNIX - LF comme un séparateur et il colle tous les derniers mots d'une ligne (s'ils ne sont pas suivis d'un point) au premier mot de la ligne suivante.

Voici une illustration du fichiers étiqueté par Cordial :

sortie TT structuré

Le fichier étiqueté OutputCordial.cnr est ensuite converti en XML par le script cordial2xml.pl qui structure le fichier de la même façon que le script addSTRUCT.pl qui a été utilisé pour le fichier étiqueté par Tree-Tagger. La différence entre les deux est que le second script travaille avec du texte brut, tandis que le premier travaille déjà avec un document XML.

Nous obtenons RSSstructCordial.xml. Une partie du fichier RSSstructCordial.xml (le fichier entier a 14,9 Mo) peut être affichée avec cette feuille de style XSL

remonter