Séance du 18 et 25/03/2015 et du 1/04/2015: BàO 3, extractions des patrons
Désormais nous souhaitons extraire les formes que nous voulons analyser.
Lors de ces 3 séances, nous avons vu 3 manières différentes d’extraire les patrons morpho-syntaxiques de nos fichiers treetaggués et cordialisés. Un patron morpho-syntaxique correspond, par exemple, à la séquence NOM ADJ ou encore NOM PREP NOM.
Comme l’étiquetage par Treetagger et Cordial est différent, les scripts seront différents selon si l’on souhaite extraire à partir du fichier .xml ou .cnr.
La première solution que nous avons vu est celle proposée par Rachid Belmouhoub.
Elle ne traite que les fichiers XML. Elle prend en entrée 2 arguments: le fichier taggué et le fichier de motif recherché. Son programme utilise le module perl XML::LibXML. Il est composé de 2 subroutines: une pour écrire le chemin xpath qui mène au motif recherché et l’autre pour en extraire la forme correspondante. On cherche à extraire le 3ème <data> du noeud <element>, « string », mais seulement si son type correspond au motif entré. Un fichier de sortie est crée par patrons.
La seconde, celle de Jean-Michel Daube, extrait les patrons des fichiers issus de Cordial.
Comme le précédent, ce programme prend deux arguments: le fichier de patrons morphosyntaxiques et le fichier cordial. On splite chaque ligne au niveau de la tabulation et on enregistre le token et le Part-Of-Speech dans une liste. Quand on rencontre une ponctuation dans la ligne, on commence à traiter cette ligne. On transforme d’abord les listes en scalaires afin de pouvoir les comparer au motif recherché. Puis on imprime le token qui était recherché.
Enfin la dernière, proposée par M. Fleury, traite les deux formats. Les programmes ne sont pas généraux, ils correspondent à un étiqueteur (Cordial ou Treetagger) et à un patron donné. Cependant, ils sont très simples et faciles à modifier selon le patron. Ces scripts traitent ligne par ligne et vérifient que la présence du motif recherché grâce à des expressions régulières. Si oui, il l’extrait.
Nous avons testé chacune de ces solutions sur nos données.