B A O

Projet Encadré 2 - 2018
Alice Missud, Clara Ponchard

PYTHON

Les boîtes à outils créées en Perl ont été reprises en Python (3.x) avec quelques arrangements. Vous pourrez ici télécharger et visualiser tous les scripts. Ceux-ci ont traité les rubriques 3208, 3210 et 3214 des fils RSS du Monde.

B A O 1

Parcourir une arborescence de fichiers est plus facile en Python qu'en Perl grâce au module os et à la fonction walk. Ici, on récupère le nom de la rubrique donnée par l'utilisateur en ligne de commande et on parcourt l'ensemble des items que walk() rencontrera depuis le répertoire source jusqu'à trouver ceux qui nous intéressent, à savoir les fichiers XML de la rubrique entrée en argument lors du lancement. Une expression régulière va ensuite extraire ce que contiennent les balises <title> et <description> à condition qu'elles soient entre les balises <item>. Le script rend deux documents en sortie : un document au format texte brut qui contient uniquement les titres et descriptions, et un document au format XML avec ces titres et descriptions balisés (item, title, description).

TELECHARGER :

Pour utiliser le script, installez le module pathlib. Placez-vous dans le même répertoire que le dossier que vous voulez traiter et lancez le script de la façon suivante dans l'invite de commande :
python3 bao1.py nom_du_dossier nom_de_la_rubrique


Résultats pour la rubrique 3208 : XML TXT

B A O 2

Cette deuxième boîte à outils permet de faire de l'étiquetage morphosyntaxique avec TreeTagger sur les fichiers XML obtenus avec la BAO1. Pour cela, elle se sert d'un tokeniser en Perl (tokenise-utf8.pl) et d'un programme structurant en XML les rendus de l'étiquetage par TreeTagger (treetagger2xml-utf8.exe). En sortie, le script rend un fichier XML avec le contenu textuel entièrement étiqueté en tokens, lemmes et parties du discours.

TELECHARGER :

Pour l'utiliser, passez simplement le fichier XML obtenu avec la BAO1 en argument dans l'invite de commande :
python3 bao2.py nom_de_la_rubrique.xml


Résultats pour la rubrique 3208 : TREETAGGER CORDIAL

B A O 3

CORDIAL

La troisième boîte à outils cherche à extraire les patrons de notre choix pour obtenir l'ensemble des syntagmes qui nous intéressent. Ce premier script est adapté à l'extraction des patrons des fichiers étiquetés avec Cordial. En concaténant l'expression régulière à compiler pour repérer les motifs, il est en mesure d'accepter autant de patrons que nécessaires et de n'importe quelle longueur. Il renvoie un fichier contenant toutes les extractions séparés par des sauts de ligne. Par exemple, s'il reçoit un fichier de patrons comprenant NC.. PREP NC.., il rendra :
pomme de terre
sac à main
[...]
Les sorties de Cordial sont encodées en ISO-8859-1. Le fichier résultant est dans le même encodage.

TELECHARGER :

Pour lancer le script :
python3 bao3-cordial.py sortie_cordial.cnr patron-cordial.txt


Résultats pour la rubrique 3208 avec le fichier de patrons adapté à l'étiquetage par Cordial : CORDIAL


TREETAGGER

Ce deuxième script d'extraction fait de même pour les fichiers étiquetés avec TreeTagger, mais permet cette fois de procéder de deux manières. On peut au choix donner un fichier de patrons à extraire, ou bien les écrire directement en ligne de commande. Dans le deuxième cas, le script accepte en argument les patrons de type "NOM ADJ" ou "NOM PREP NOM", mais pas les terminologies simples comme "NOM" ou "ADJ". Pour ce faire, le programme vérifie s'il a reçu un fichier en argument. Si oui, il procède comme le script pour Cordial. Si non, il extraie le patron entré par l'utilisateur. Attention : à la différence des sorties de Cordial, les fichiers étiquetés par TreeTagger sont à traiter en UTF-8.


TELECHARGER :

Pour lancer le script en entrant un patron à la main (un message s'affichera ensuite pour entrer le patron) :
python3 bao3-treetagger.py sortie_treetagger.xml
Pour le lancer avec un fichier :
python3 bao3-treetagger.py sortie_treetagger.xml patron-treetagger.txt


Résultats pour la rubrique 3208 avec le fichier de patrons adapté à l'étiquetage par TreeTagger : TREETAGGER

B A O 4

Après avoir récupéré les fichiers contenant les patrons qui nous intéressent avec la BAO3 adaptée aux sorties de Cordial et de TreeTagger, le programme patron2graphe.exe nous permet d'obtenir des graphes afin de visualiser les différentes combinaisons possibles entre les mots selon leur étiquetage morphosyntaxique. Il est possible de voir toutes les combinaisons d'un résultat d'extraction obtenu avec la BAO3, ou bien de ne sortir que les combinaisons d'un mot en particulier.

SORTIE CORDIAL

Pour les fichiers résultant du script bao3-cordial.py, il faut lancer le programme avec un encodage ISO-8859-1 comme suit :

GLOBAL : .\patron2graphe.exe "iso-8859-1" patrons_sortie_3210.cnr.txt

PAR MOT : .\patron2graphe.exe "iso-8859-1" patrons_sortie_3210.cnr.txt motif-iso-8859-1.txt

SORTIE TREETAGGER

Pour TreeTagger, il faut lancer le programme avec un encodage UTF-8 :

GLOBAL : .\patron2graphe.exe "utf-8" patrons_e-3210.xml.txt

PAR MOT : .\patron2graphe.exe "utf-8" patrons_e-3210.xml.txt motif-utf-8.txt


Pour accéder aux graphes et aux comparaisons des temps de calcul -> RESULTATS.