Le Projet

Les travaux présentés sur ce site ont été réalisés dans le cadre du cours de Programmation et Projet Encadré 2 dispensé par Serge Fleury, Jean-Michel Daube et Rachid Belmouhoud dans le cadre du master TAL à Paris 3.

L'objectif de ce cours est d'introduire la programmation Perl et l'utilisation qu'on peut en faire dans le TAL. Dans le cas présent, nous cherchons à extraire des patrons morpho-syntaxiques des titres et des descriptions des flux RSS du journal Le Monde.

Nos travaux sont répartis en 4 boîtes à outils qui correspondent aux étapes principales du traitement des informations en Perl:
La BAO 1 est l'extraction des informations contenues dans les fils.
La BAO 2 est l'étiquetage de ces informations via TreeTagger et Cordial.
La BAO 3 est l'extraction de patrons syntaxiques à partir des sorties de la BAO 2.
La BAO 4 est la visualisation et filtrage des patrons via le programme patron2graphe.exe.



Boîte à outils 1

Extraction des informations contenues dans les fils.

La première partie du projet consiste à parcourir les répertoires contenant les fils RSS et d'en extraire les titres et les descriptions. Le programme produit deux fichiers de sortie, un fichier TXT et un fichier XML.

On a utilisé un script perl pour réaliser cette tâche. Concernant les méthodes, ici nous allons en présenter deux : une méthode d’expression régulière et une autre méthode qui utilise la bibliothèque de « XML ::lib ».

1. En utilisant les expressions régulières
parcours-arborescence-fichiers
2. En utilisant la bibliothèque Perl XML::RSS
parcours-arborescence-fichiers2

Exemple de fichier texte généré
SORTIE-Txt
Exemple de fichier XML généré
SORTIE-Xml



Boîte à outils 2

Etiquetage des informations via TreeTagger et Cordial.

La deuxième partie du projet a pour but de faire un étiquetage morpho-syntaxique des fichiers de sortie de la BAO1. Nous utilisons deux méthodes pour faire l’étiquetage : TreeTagger et le logiciel Cordial.

L'étiquetage consiste à faire l'analyse syntaxique du titre et de la description. Pour chaque mot, nous voulons son lemme et sa catégorie grammaticale.

1. En utilisant Cordial

L'analyse syntaxique avec Cordial se fait à partir du fichier texte brut généré par la première boîte à outils. Cordial lit le fichier en encodage ISO-8859

Un exemple de fichier sortie de cordial:

Exemple de sortie avec Cordial: Sortie-cordial

TreeTagger est un outil qui peut être utilisé en ligne de commande.

2. En utilistant TreeTagger

La syntaxe de TreeTagger:

perl tokenise-fr.pl fichier-a-etiqueter.txt | ./bin/tree-tagger.exe ./lib/french.par -lemma -token -sgml > resultat-etiquetage.txt

-lemma pour le lemme

-token pour la forme du mot tel qu’il apparaît dans le texte

-no-unknown pour supprimer tous les unknowns

script final: (script-final-boa2)

un exemple de fichier XML sortie de Treetagger : SORTIE-treetagger



Boîte à outils 3

Extraction de patrons syntaxiques

Après avoir récupéré nos fichiers étiquetés dans BAO2, nous commençons à extraire les partons syntaxiques. BOA3 est composée de deux scripts, un pour la sortie de TreeTAgger et l’autre pour la sortie de Cordial. M.Rachid, M.Jean-Michel et M.Serge ont proposé chacun un script.


1. Script de M. Rachid

Le script de M. Rachid récupère tous les patrons morpho-syntaxiques à partir des fichiers XML produits par TreeTagger.

Script de M. Rachid:(Script ici)

2. Script de M. Jean-Michel

Le script de M. Jean-Michel récupère les patrons morpho-syntaxiques à partir des fichiers générés par Cordial.

Script de M. Jean-Michel:(Script ici)

3. Script de M. Fleury

Deux scripts de M. Serge pour récupérer les patrons morpho-syntaxiques à partir des sorties de TreeTagger et Cordial.

a. Le premier script récupère toutes les séquences de nom-adj depuis la sortie de TreeTagger.

script a:(clique ici)

b. Le deuxième script récupère toutes les séquences de nom-prép-nom depuis la sortie de Cordial.

script b:(clique ici)

Script final:(clique ici)

Nous pouvons aussi utiliser XPATH pour récupérer faire de l’extraction.

a: feuille de style qui permet d’extraire toutes les séquences de nom-préposition-nom:(clique ici)

b:feuille de style qui permet d’extraire toutes les séquences de nom-adjectives:(clique ici)

Exemples des résultats:

NOM-PREP-NOM:

ADJ-NOM:

NOM-ADJ:



Boîte à outils 4

Visualisation et filtrage des patrons:

Finalement, on va visualiser les résultats de la BAO-3 en utilisant le programme fourni pas M.Fleury qui réalise en fait la même fonctionnalité dans son logiciel Trameur.

Le programme se lance ainsi: wine patron2graphe.exe « encodage » fichierATraiter fichierDeMotif

Pour réaliser des analyses plus concrets, le program en argument un fichier de motif qui permet de traiter seulement des éléments contenant contenus dans le motif.

Visualisation sans fichier de motif:

Visualisation avec un fichier de motif:

Le fichier motif est de forme : MOTIF=\bpolit, on peut y ajouter des expressions régulières pour chercher plusieurs motifs en même temps. Pour les motifs, on a choisi ceux-ci : \bpolit, \bchômage, \beurop, \bdemander, \bpris, \bfinale et voici dans des rubriques différentes les graphes présentés par ce programme : On peut voir clairement que dans des rubriques différentes, les patrons extraits sont spécifiés dans leur domaine, on peut aussi savoir leur nombre de fréquence par le chiffre sur les flèches.

Reprenant le même fichier mais avec un motif: patrons NOM PRP NOM avec les mots "Etat" et "état".

Patrons NOM PRP NOM avec le mot "président"



Contacts

Institut national des langues et civilisations orientales
Traitement automatique des langues
65 rue des grands moulins
75013 Paris

Marine FERRARY: marineferrary@hotmail.fr
Langues: Français, Anglais

Tashi KYI: tashikyitaki@gmail.com
Langues: Tibetain, Français, Anglais