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 !

L'extension du résultat a été modifiée pour une affichage meilleure pour ce site (.xq, .xml -> .txt)
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