Extraction de patrons syntaxiques (sorties XML)
Consigne
Il s'agit de réaliser une extraction de patrons sur les sorties au format XML de l'étiquetage (via Treetagger) issues de la Boîte à Outils Série 2 via un script Perl utilisant la bibliothèque XML::XPath.
Modifications
Le code principal de la recherche de motif est exactement le même que précédemment. Il suffit juste de remplir les structures de données sur lesquelles travaille l'algorithme à partir du fichier XML passé en paramètre.
On pourrait refactoriser le code existant pour prendre en paramètre une fonction qui réalise l'extraction, sur le même modèle que ce qui a été fait pour la boîte à outils 1. Cependant, comme on ne va se servir du code commun qu'une seconde fois, j'ai décidé de copier-coller mon fichier existant et de modifier la partie concernée.
Code
my $xp = XML::XPath->new(filename =>$filename) or die "$!"; my @data = (); my $nodeset = $xp->find('//element'); foreach my $element ($nodeset->get_nodelist) { push(@data, [$xp->find("./data[\@type='string']", $element)->get_node(1)->string_value(), $xp->find("./data[\@type='type']", $element)->get_node(1)->string_value(), $xp->find("./data[\@type='lemma']", $element)->get_node(1)->string_value()]); }
Utilisation et exemple
L'utilisation du script se fait avec les mêmes arguments de précédemment, à ceci près que le support de Cordial est retiré, car seuls des fichiers issus TreeTagger sont à manipuler.
* Résultat(s) pour le motif PRP NOM ADJ en mode mélancolique d' origine iranienne d' humour noir de western emblématique d' origine iranienne d' humour noir pour galet glacé pour raisons fiscales de prison ferme de théâtre néerlandais d' art martiaux d' action impressionnant de famille aisée de famille canadien pour raisons fiscales de fonds urbains de cinéma américain pour raisons professionnelles de cinéma américaines d' or spatial en dynasties cinématographiques d' animation élégant sans explications crédibles d' initiative française de père Algérien de passeport russe