Boîte à Outils 3

pluriTAL  M1 Paris 3
  • Accueil
  • BàO 1
  • BàO 2
  • BàO 3
  • BàO 4
  • Conclusion

BàO 3 : Extraction des patrons morphosyntaxiques

Objectif

BàO3 permet d’extraire des patrons morphosyntaxiques à partir des fichiers étiquetés par Tree-tagger ou Talismane. Comme chaque patron morphosyntaxique représente une caractéristique de son rubrique, l’extraction de ces patrons morphosyntaxique permet de construire une terminologie pour chaque rubrique et de comparer et comprendre les diversités et les analogies entre elles.


Patrons à extraire

A partir de ces quatre patrons morphosyntaxiques qu’on a indiqués dans le fichier termino, on va chercher dans le fichier Talismane ceux qui correspondent à ces patrons morphosyntaxiques.


						NC ADJ
						NC P NC P NC
						V DET NC
						ADJ NC
						
termino

Méthodes pour réaliser l'extraction des patrons morphosyntaxiques

  • Perl
  • Python
  • XSLT
  • XQuery

Perl

Fichiers en entrée :

Les textes bruts extraits et étiquetés via Talismane.

3208 3210


Fil de pensée :

Par exemple, dans le fichier 3208-2018-talismane.txt :

- On s’intéresse à deux colonnes (POS et token) uniquement, même si toutes les colonnes seront enregistrées dans la mémoire. On va essayer de trouver toutes les correspondances entre la troisième colonne et chaque ligne dans le fichier termino. A partir de moment qu’on aurait trouvé la correspondance entre la colonne 3 et les lignes du fichier termino, on va extraire ce qui se trouve dans la colonne 1 ce qui correspond à la POS qui est été extraite.

- On ne s’intéresse pas à :
 • Ligne vide
 • ## titre : 2018/01/01/19-00-00/0,2-3208,1-0,0.xml
 • 1 ££debuttitre££ _ NC NC 0 _ 0 _
 • 1 ££fintitre££ _ NC NC 0 _ 0 _
 • 1 ££debutdescription££ _ NC NC 0 _ 0 _
 • 1 ££findescription££ _ NC NC 0 _ 0 _
 • 16 § § PONCT PONCT 14 ponct 14 ponct


Script de Perl avec commentaires écrit en cours :

Attention :

 1. On construit le dictionnaire à l’aide du séparateur qui est à la fin de chaque phrase, mais il y a des phrases qui manque de séparateur, cela va causer les mauvais résultats. Parce que la clé est le numéro de la première colonne, s'il manque un séparateur, le dictionnaire va concaténer les deux phrases successives, et la phrase dont les lignes qui ont les mêmes numéros que ceux de la phrases précédentes va remplacer ces lignes de la phrase précédentes, donc ça va nous donner moins de résultats.
Il faut créer un compteur qui va être la clé du dictionnaire et sauter les lignes vides et les lignes qui ont des infos bruit. => $ligne=~/^\d+\t(.+)$/

 2. Mots ciblés : NC P NC P NC P NC
 Patron : NC P NC
 On veut extraire 3 NC P NC, mais les expressions régulières ne peut qu’identifier 2 NC P NC.
 On ajoute "?=", cet opérateur permet de modifier le comportement en lecture avant quand on fait la recherche.


Scripts de Perl proposés par Serge Fleury et Jean-Michel Daube et les résultats :

extract-terminologie-bisbis.pl :

Lancement du script : perl extract-terminologie-bisbis.pl sortie-3210-regexp-talismane.txt termino

extract-terminologie-bisbis.pl Résultat - 3208 Résultat - 3210


extract-terminologie-one-CORRIGEE-jm.pl :

Lancement du script : perl extract-terminologie-one-CORRIGEE-jm.pl sortie-3210-regexp-talismane.txt termino

extract-terminologie-one-CORRIGEE-jm.pl Résultat - 3208 Résultat - 3210


Python

J'ai écrit les script de python qui peuvent réaliser la même tâche et obtenir les mêmes résultats. Au lieu de traiter phrase par phrase, mon script va mettre tous les mots et son catégorie dans une liste, et extraire les patrons en utilisant les expression régulières.
Il y a deux scripts :

BàO3_extraction_patron.py : extraire les patrons morphosyntaxiques

BàO3_extraction_patron.py Résultat - 3208 Résultat - 3210


BàO3_extraction_patron_frequence.py : calculer la fréquence et mettre en ordre

BàO3_extraction_patron.py Résultat - 3208 Résultat - 3210

XSLT

Objectif : construire une feuille de styles XSLT pour extraire des patrons morphosyntaxiques dans les étiquetages produits avec treetagger

Fichiers en entrée : les textes étiquetés via Treetagger dans la BàO2 (1 fichier XML par rubrique)
On testera par exemple les feuilles de styles XSLT suivantes sur ces 2 fichiers construits à partir de l'arborescence 2016, la rubrique "A La Une" et la rubrique "International" : TXT-ALAUNE-TREETAGGER et TXT-INTERNATIONAL-TREETAGGER

Feuille de style n°1 : NOM-ADJ-TT.xsl

3208.xml Résultat_3208_NOMADJ.txt 3210.xml Résultat_3210_NOMADJ.txt NOM-ADJ.xsl


Feuille de styles n°2 : NOM-PREP-NOM-TT.xsl

3208.xml Résultat_3208_NPN.txt 3210.xml Résultat_3210_NPN.txt NOM-PREP-NOM.xsl

XQuery

Objectif : On construit les requêtes XQuery pour extraire les patrons sur les fichiers étiquetés avec Talismane
Construire une requête pour extraire les patrons morpho-syntaxiques NOM ADJ
Construire une requête pour extraire les patrons morpho-syntaxiques NOM PRP NOM

Patron NC-ADJ

NC-ADJ.xq Résultat_3208_NCADJ.txt


Patron NC-P-NC

NC-ADJ.xq Résultat_3208_NCPNC.txt

PROJET ENCADRÉ 2
© SONG Yuchen & YAN Meixin