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 :
- Rubrique Société - NOM-PREP-NOM
- Rubrique Société - NOM-ADJ
- Rubrique Médias - NOM-PREP-NOM
- Rubrique Médias - NOM-AJD
[ 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 |