BAO 3 - Extraction de patrons morphosyntaxiques

Comme pour la BAO 2, cette étape sera divisée en plusieurs parties : une partie qui se concentre sur les fichiers taggés avec treetagger, et une partie qui se concentre sur les fichiers étiquetés avec Cordial.

Pour chacune de ces parties, nous nous intéresserons à deux types de patrons morphosyntaxiques :

  • - NOM - ADJ
  • - NOM - PREP - NOM

Partie Treetagger

Cette partie va se diviser en 2 sous-parties :

  • - l'affichage html des patrons morphosyntaxiques, à l'aide de feuilles de style XSLT
  • - l'extraction des patrons morphosyntaxiques vers une sortie texte, à l'aide d'un script Perl

-> XSLT

Les fichier taggés par treetagger sont des fichiers XML. On va donc pouvoir afficher les résultats désirés à l'aide de deux feuilles de styles XSLT récupérées sur la page I-Campus.

Rubrique Société Rubrique Médias Les feuilles de style associées
NOM - ADJ NOM - ADJ NOM - ADJ | XSL
NOM - PREP - NOM NOM - PREP - NOM NOM - PREP - NOM | XSL

En m'inspirant des feuilles de styles précédentes, j'ai décidé de colorer tout le texte, en donnant à chaque étiquette une couleur différente. Cela me permet d'avoir une vision plus globale de la facon dont treetagger a étiqueté certains mots. On peut d'ailleurs constater pas mal d'erreurs d'étiquetage...

Coloration totale du texte.
Société Médias XSL

-> Perl

A l'aide d'un script Perl, on va aussi extraire les patrons morphosyntaxiques et les écrire sur un fichier de sortie texte.

Voici le script Perl qui va extraire les motifs choisis ; il a été légèrement modifié pour s'adapter au motif choisi.

Version NOM PRP NOM Version NOM ADJ
Script NOM-PRP-NOM dispo ici Script NOM-ADJ dispo ici

On verra les resultats obtenus un peu plus tard (cf bas de la page), en comparaison avec les résultats obtenus sur les fichiers étiquetés via Cordial.

Partie Cordial - Pure Perl

Avec M. J-M Daube, nous avons construit un programme Perl pour extraire des patrons morphosyntaxiques dans les étiquetages produits avec Cordial.
En entrée, nous avons donc les textes bruts étiquetés par Cordial.
On ajoute aussi en paramètre un fichier texte contenant le(s) motif(s) choisi(s).
On obtient en sortie les motifs extraits. (A l'aide de la commande '> fichier_sortie.txt' , j'ai redirigé les résultats vers un fichier texte.)

NB : J'avais rentré les motifs NOM-PREP-NOM et NOM-ADJ dans le même fichier de paramètres. J'obtenais donc un seul fichier de sortie, mélangeant les 2 patrons. J'ai décidé de refaire les deux extractions séparément car j'ai trouvé ca plus intéressant. Il y aura donc pour chaque rubrique deux fichiers de sortie (un NOM-PREP-NOM et un NOM-ADJ).

Voici le script Perl qui va extraire les motifs choisis.

Le script est disponible ici --> SCRIPT PERL <--

Les motifs pour l'extraction de patrons sont :

  • NC[^\s]+ ADJ[^\s]+ pour les NOM-ADJ
  • NC[^\s]+ PREP NC[^\s]+ pour les NOM-PREP-NOM

Les résultats obtenus...

On obtient au total 8 fichiers de sortie.
On va faire 4 comparaisons :

  1. Rubrique Société - NOM-PREP-NOM
  2. Rubrique Société - NOM-ADJ
  3. Rubrique Médias - NOM-PREP-NOM
  4. Rubrique Médias - NOM-AJD
Pour chaque comparaison, on aura d'un coté les résultats obtenus avec treetagger, de l'autre, ceux obtenus avec Cordial.

[ NB : Les 8 fichiers texte sont disponibles en bas de la page. ]

1. Rubrique Société - NOM-PREP-NOM

treetagger Cordial

2. Rubrique Société - NOM-ADJ

treetagger Cordial

3. Rubrique Médias - NOM-PREP-NOM

treetagger Cordial

4. Rubrique Médias - NOM-ADJ

treetagger Cordial

On constate que pour une même rubrique, les mots taggés et extraits selon un motif, ne sont pas les mêmes avec treetagger et avec Cordial.
Ceci est nettement visible avec le "d' ".
-> Cordial le considère comme une PREP. Par ex : Besoin(NOM) d'(PREP) histoire(NOM)
-> Treetagger le prend avec le mot suivant, et considère le tout comme ADJ : Besoin(NOM) d'histoire(ADJ)
Cordial semble donc étiqueter les mots de manière plus précise.

Les fichiers

treetagger Cordial
Société - NOM PREP NOM
Société - NOM PREP NOM
Société - NOM ADJ
Société - NOM ADJ
Médias - NOM PREP NOM
Médias - NOM PREP NOM
Médias - NOM ADJ
Médias - NOM ADJ

>> BAO 4