BàO 3
Extraction de patrons morphosyntaxiques
Nous allons extraire les patrons morphosyntaxiques avec les fichiers étiquetés obtenus en boîte à outils 2. Pour ce faire, nous allons utiliser 3 méthodes différentes : Perl, XSLT et XQuery. Les patrons morphosyntaxiques choisis sont les suivants : NOM-Prep-NOM-Prep, VERBE-DET-NOM, NOM-ADJ, ADJ-NOM, DET-ADJ-NOM et DET-NOM-VERBE.
1. Solution Perl
Ce script a été écrit en cours de Projet Encadré 2.
-Ce script prend deux arguments : fichier étiqueté avec UDpipe en BàO 2 et fichier de patron au format txt
-Exemple d'utilisation : perl bao3_extraction.pl sortie_udpipe.txt patron_nom_adj.txt
-Sortie : fichier TXT
Patron | 3208 | 3210 | 3214 | 3224 |
---|---|---|---|---|
NOM-P-NOM-P | 3208 | 3210 | 3214 | 3224 |
VER-DET-NOM | 3208 | 3210 | 3214 | 3224 |
NOM-ADJ | 3208 | 3210 | 3214 | 3224 |
ADJ-NOM | 3208 | 3210 | 3214 | 3224 |
DET-ADJ-NOM | 3208 | 3210 | 3214 | 3224 |
DET-NOM-VER | 3208 | 3210 | 3214 | 3224 |
2. Solution XSLT
La méthode XSLT prend en entrée le fichier XML étiqueté avec treetagger en boîte à outils 2. L'un des avantage d'extraire les patrons avec XSLT est qu'on a la possibilité de générer une sortie bien formée au niveau de la présentation pour le site HTML (avec les couleurs, tableaux … ). Cependant cette méthode n'est pas très rapide par raport à deux méthodes.
Résultat XSLT
Vous trouverez ici les résultats au format HTML générés avec le parser xsltproc
. Cela nous permet d'une affichage beaucoup plus rapide.
Patron | XSLT | 3208 | 3210 | 3214 | 3224 |
---|---|---|---|---|---|
NOM-P-NOM-P | XSLT | 3208 | 3210 | 3214 | 3224 |
VER-DET-NOM | XSLT | 3208 | 3210 | 3214 | 3224 |
NOM-ADJ | XSLT | 3208 | 3210 | 3214 | 3224 |
ADJ-NOM | XSLT | 3208 | 3210 | 3214 | 3224 |
DET-ADJ-NOM | XSLT | 3208 | 3210 | 3214 | 3224 |
DET-NOM-VER | XSLT | 3208 | 3210 | 3214 | 3224 |
3. Solution XQuery
Cette méthode prend en entrée le fichier étiqueté par treetagger en boîte à outils 2. L'extraction des patrons morphosyntaxiques était beaucoup plus simple et rapide par rapport à deux méthodes précédentes : environ 5 lignes de code pour le faire et moins de 15 secondes de traitement par patron !
Patron | XQuery | 3208 | 3210 | 3214 | 3224 |
---|---|---|---|---|---|
NOM-P-NOM-P | XQuery | 3208 | 3210 | 3214 | 3224 |
VER-DET-NOM | XQuery | 3208 | 3210 | 3214 | 3224 |
NOM-ADJ | XQuery | 3208 | 3210 | 3214 | 3224 |
ADJ-NOM | XQuery | 3208 | 3210 | 3214 | 3224 |
DET-ADJ-NOM | XQuery | 3208 | 3210 | 3214 | 3224 |
DET-NOM-VER | XQuery | 3208 | 3210 | 3214 | 3224 |
Extraction de relations de dépendance
Sur les données annotées en dépendance (udpipe), on essaiera de construire des ressources pour extraire les items connectés dans une relation de dépendance donnée (tous les mots connectés dans la relation OBJ).
Nous allons extraire la relation de dépendance OBJ via Perl, XSLT et XQuery.
1. Solution Perl
Ce script est disponnible sur iCampus Programmation et Projet Encadré 2.
-Ce script prend deux arguments : fichier étiqueté avec UDpipe en BàO 2 et relation à extraire
-Exemple d'utilisation : perl extract-relation-udpipe.pl bao2_sortie_udpipe_3224.txt.xml "obj"
3208 | 3210 | 3214 | 3224 |
---|---|---|---|
Perl 3208 | Perl 3210 | Perl 3214 | Perl 3224 |
2. Solution XSLT
Cette feuille de style est disponnible sur iCampus Programmation et Projet Encadré 2.
xsltproc bao3_relation_obj.xsl bao2_sortie_udpipe_3208.txt.xml | sed 's/^ *//g' | grep -ve "^ *$" | sort | uniq -c | sort -rn
3208 | 3210 | 3214 | 3224 |
---|---|---|---|
XSLT 3208 | XSLT 3210 | XSLT 3214 | XSLT 3224 |
3. Solution XQuery
cat bao3_udpipe_xq_3224.txt | sort | uniq -c | sort -gr | less
3208 | 3210 | 3214 | 3224 |
---|---|---|---|
XQUERY 3208 | XQUERY 3210 | XQUERY 3214 | XQUERY 3224 |