Sommaire
A propos de la BAO 3
Après les finitions sur la BAO2, nous avons à notre disposition un certain nombre de fichiers étiquetés syntaxiquement,
l'idée est maintenant d'en extraire les des patrons syntaxiques choisis afin de pouvoir visualiser certaines interactions dans la partie BAO4.
Pour cela nous allons utiliser trois méthodes différentes et les illustrer avec différents exemples. Les programmes seront commentés uniquement
succinctement et disponibles au téléchargement.
Les méthodes abordées ici se basant sur les étiquetages syntaxiques de Cordial et Treetagger, elles sont de trois types.
les deux premières se basant sur le résultat du programme treetagger2xml qui prend en entrée un fichier treetagger et
intègre une structure xml aux éléments. Nous aborderons donc un descriptif de l'utilisation et des adaptations que
nous avons faites sur treetagger2xml. Ensuite nous parlerons des méthodes différentes mises en place concernant l'extraction de patron :
- Un programme perl se basant sur la librairie Xpath pour les fichiers issus de treetagger2xml
- Application de feuille XSLT directement sur les fichiers issus de treetagger2xml
- Une méthode se basant directement sur les fichiers issus Cordial et treetagger
Treetagger2xml et programme d'appel associé
Nous commençons donc par treetagger2xml .
Comme déjà dit auparavant il prend en entrée un fichier étiqueté et lemmatisé par tree tagger, il prend aussi un format d'encodage.
Vous trouverez ci-dessous le programme modifié pour une utilisation personnelle généralisée à un ensemble de fichiers.
Nous rajoutons ainsi un argument supplémentaire en paramètre qui sera lié à notre parcours d'arborescence.
Nous joignons aussi la première version de notre programme d'appel, en effet nous avons cette fois généralisé le parcours d'arborescence
et par un simple appel, nous utilisons le programme treetagger2xml.
La seule subtilité du programme d'appel réside dans la bonne gestion des éléments passés en paramètre du programme appelé et par
l'idée de faire appel à deux programmes via une fonction d'appel.
Programmes
Observons maintenant les programmes. (Cliquez sur les images afin afficher les pages html simple pour meilleure visualisation)Le programme treetagger2xml modifié :
Le programme d'appel :
Les liens pour le téléchargement des programmes :
modifTreetagger2xml-utf8.pl
appelTreeTagger2xml-utf8.pl
Résultats
Nous présenterons les résultats de treetagger2xml dans la partie XSLT car nous leur avons adjoint une feuille de style ce qui était la problématique d'extraction posée par cette section. En voici néanmoins un avant goût :Xpath
Le programme Xpath se base sur la librairie Xpath de perl, Le code étant largement commenté, nous ne nous attarderons pas d'avantage.
Un détail supplémentaire néanmoins nous avons encore une fois utilisé un programme d'appel pour généraliser le processus.
Malheureusement, ce programme reste singulièrement long (en terme de temps d'exécution), il convient ainsi mieux à un traitement localisé,
et pour un fichier qui ne serait pas trop volumineux.
Programmes
Le programme d'appel :
Résultats
Remarque : le programme prenant trop de temps nous avons limité le nombre de fichiers ainsi que le nombre de patrons extraits
XSLT
La méthode XSLT est similaire au programme précédent dans sa finalité.
Le traitement est cependant différent en cela que l'on applique une feuille de style au fichier XML original, issu de treetagger2xml et
que l'on ne crée donc pas un nouveau fichier.
L'idée étant de cibler des noeuds, de tester si il contiennent notre motif
(ici NOM PRP NOM), si c'est le cas de stocker l'élément ciblé dans une variable. On prend le noeud suivant si le résultat était positif (following-sibling)
on teste la suite de notre motif (même opérations) jusqu'à la fin, on imprime ensuite nos variables dans un tableau.
On peut observer ici la feuille XSLT :
On peut voir, avant de tester les résultats plus bas, ci après un screenshot test du résultat sur un fichier :
Résultats
Voici le tableau de liens des résultats issus de treetagger2xml avec une feuille de style appliquée.!!! Attention !!!
Certains fichiers étant très volumineux le temps de chargement peut-être long, d'autre part, selon les configurations, certains navigateurs ne tolèrent pas l'application d'XSLT (par sécurité) en cas de problème (ouverture d'une page blanche) merci de tester avec un autre navigateur.
Programme Perl
Nous attaquons la dernière partie avec un script d'extraction de patrons méthode pure perl.
Nombreuses sont les solutions vues en cours nous ne les reprendrons pas ici, au besoin on pourra les trouver sur le site
plurital.
Nous avons choisis de créer une méthode originale, inspirée des techniques observées et valable pour les fichiers cordial et treetagger
(moyennant une adaptation). Vous trouverez le script commenté après ainsi que le script d'appel
(on réemploi encore cette technique d'appel extérieur pour généraliser sur x fichiers)
(et merci à notre Louis national pour le debug des lignes 35 et 63)
Script
Le programme Extraction Motif :Le programme d'appel :
Résultats
A propos de la BAO 3
Treetagger2xml et programme d'appel associé
Xpath
XSLT
Programme Perl
Retour au sommaire