Boîte à outils III

Les objectifs

Le but de cette troisième boîte à outils est l'extraction de n'importe quels patrons syntaxiques. En effet, c'est à l'utilisateur de rentrer la suite de patrons qui l'intéresse afin de lancer le script à proprement dit. Pour ce faire, on utilise trois scripts différents :

Les scripts

Nous avons utilisé trois scripts différents afin d'obtenir différents types de sorties ("texte brute" et documents XML) contenant la liste des patrons reconnus à partir des fichiers obtenus dans la boîte à outils II. Pour obtenir ces listes (classées par rubrique), nous avons eu recours à des versions modifiées de celles proposées sur le site du cours du projet encadré pour la boîte à outils III.

Version cordial (voir le script d'extraction):

Dans un premier temps, nous avons cherché à extraire des patrons à partir des sorties étiquetées "texte brute" obtenues dans la boîte à outils II après un étiquetage avec le programme Tree Tagger.

Pour obtenir ces sorties (au format "texte brut"), nous avons mis au point une version modifiée et plus automatique dans le traitement des fichiers contenu dans un répertoire. En effet, notre script est capable d'effectuer le même traitement sur tous les fichiers contenus dans un même répertoire et évite ainsi de taper 17 fois les mêmes commandes dans le terminal. Quelques explications du script s'imposent :

Phase 1 : lecture du patron défini par l'utilisateur

Tout d'abord, on laisse l'utilisateur sélectionner son patron (inconvénient : notre script n'enregistre qu'un seul patron; possibilité de l'améliorer je pense...) :
Sélection du patron par l'utilisateur

Phase 2 : enregistrement du patron dans le fichier motif

Ensuite on enregistre son patron dans un fichier motif qui sera utilisé ultérieurement pour l'extraction des patrons :

Enregistrement du patron dans un fichier motif

... produit cette expression régulière dans le fichier motif dont voici un aperçu (pour le patron ADJNUM NC - nombre et nom) :

Expression régulière créée par le programme 'def_patron_cordial_up.pl'

Phase 3 : appel du script d'extraction

Enfin, on exécute le programme d'extraction pour chacune des rubriques du répertoire boîte à outils 2 qui produira en sortie des fichiers au format "texte brute" :



Quelques explications sur le programme 'term.pl' :

Cette version modifiée (du programme proposé par M. Jean-Michel Daube) utilisant les expressions régulières va repérer grâce à celles-ci le nombre de catégories grammaticales qui constituent le patron et récupérer sa forme correspondante :

Programme 'term.pl' qui va afficher les patrons grâce au fichier motif défini précédemment

Version module XML::XPATH :

Dans un deuxième temps, nous avons effectué le même travail mais avec un script différent : on a eu recours à un script utilisant le module XML::XPATH. Avec ce module, le script va utiliser des requêtes XPATH pour récupérer les patrons reconnus dans les documents XML (contenant l'étiquetage via Tree Tagger). En effet, la grosse différence est qu'on utilise ici des documents XML alors que précédemment on utilisait des fichiers textes étiquetés (par Cordial et Tree Tagger). Le programme produire en sortie un fichier texte contenant les patrons reconnus selon la rubrique :

Création du fichier de sortie contenant les patrons identifiés dans la rubrique

Ce programme prend deux arguments : un document XML (= une rubrique) comme premier argument puis un second : un fichier texte motif contenant un ou plusieurs patrons prédéfinis ressemblant à ceci :

Fichier motif contenant les ou les patron(s) prédéfini(s) manuellement

Version XSLT (requêtes XPATH) :

Enfin nous avons procédé au même type d'exercice mais cette fois-ci on a mis au point un script proche de celui utilisé dans la phase 1 :

On commence par demander à l'uilisateur de rentrer un patron puis on enregistre les requêtes XPATH d'identification des patrons dans une variable que l'on insèrera plus tard dans le corps de la feuille de styles XSLT (créée à l'aide de ce programme) :

Requêtes XPATH intégrées au programme

Ensuite on affiche les formes correspondantes aux catégories grammaticales constituant le patron sans oublier la fermeture du document XML :

Affichage des formes correspondantes au patron

À la fin du programme, on insère dans chacun des documents XML la ligne spécifiant l'association à la feuille de styles créé par le programme :

Association de la feuille de styles au document XML

Pour voir les pages créées par ce programme, allez dans la rubrique téléchargements -> XSLT
en cliquant ici.

Les résultats

Voici quelques résultats obtenus avec la boîte à outils III :

Pour des raisons pratiques, on ne traitera que 5 rubriques (les moins gourmandes en espaces de stockage parmi les 17) pour cette boîte à outils mais vous pourrez avoir accès à tous les résultats dans la page téléchargements

Sorties cordial :

RubriquesPatron DET NC ADJPatron NC PREP NCADJNUM NC
CinémaCinéma.txtCinéma.txtCinéma.txt
MédiasMédias.txtMédias.txtMédias.txt
Rendez-vousRendezvous.txtRendezvous.txtRendezvous.txt
VoyagesVoyages.txtVoyages.txtVoyages.txt
VousVous.txtVous.txtVous.txt


Sorties XML::XPATH :

RubriquesPatron DET NOM ADJPatron NOM PRP NOMNUM NOM
CinémaCinéma.txtCinéma.txtCinéma.txt
MédiasMédias.txtMédias.txtMédias.txt
Rendez-vousRendezvous.txtRendezvous.txtRendezvous.txt
VoyageVoyage.txtVoyage.txtVoyage.txt
VousVous.txtVous.txtVous.txt


Sorties XSLT :

RubriquesPatron DET NOM ADJPatron NOM PRP NOMNUM NOM
CinémaCinéma.xmlCinéma.xmlCinéma.xml
MédiasMédias.xmlMédias.xmlMédias.xml
Rendez-vousRendezvous.xmlRendezvous.xmlRendezvous.xml
VoyagesVoyage.xmlVoyage.xmlVoyage.xml
VousVous.xmlVous.xmlVous.xml