Git --projet-boite-à-outils

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

Chargement des données XML grâce à XPATH
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.

Utilisation
perl extract_pattern_xml.pl -f=cine.xml
Exemple de sortie
* 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