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...) :
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 :
... produit cette expression régulière dans le fichier motif dont voici un aperçu (pour le patron ADJNUM NC - nombre et nom) :
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 :
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 :
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 :
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) :
Ensuite on affiche les formes correspondantes aux catégories grammaticales constituant le patron sans oublier la fermeture du document XML :
À 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 :
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 :
Sorties XML::XPATH :
Sorties XSLT :