La troisième Boite à Outils consiste à extraire des patrons morphosyntaxiques et des relations de dépendance à partir des fichiers que nous avons étiqueté lors de la Boite à Outils 2. Grâce au fichier BAO3.pl, nous allons pouvoir récupérer des patrons morphosyntaxique dans un fichier texte intitulé perlIsTheBigOne.txt. Ces patrons vont être comptés et classés par ordre descendant d'occurrences dans le fichier de sortie.
En entrée, ce script prend le fichier corpus-titre-description.xml ainsi que le patron morphosyntaxique recherché (ex. NOM ADJ, DET ADJ NOM, etc.) On lance le script de cette façon : BAO3.pl corpus-titre-description.xml [patron]. Ici, nous allons chercher les patrons NOM-ADJ : BAO3.pl corpus-titre-description.xml NOM ADJ. En sortie, nous récupérons le fichier perlIsTheBigOne.txt.
Et voila à quoi ressemble le fichier de sortie :
On peut ensuite utiliser le fichier corpus-titre-description.udpipe que nous avons créer lors de la BàO2 et le mettre au format XML grace au fichier udpipe2xml.pl : perl udpipe2xml.pl corpus-titre-description.udpipe. En sortie, nous obtenons un fichier XML :
Nous pouvons ensuite utiliser notre nouveau fichier corpus-titre-description.udpipe.xml afin de récupérer les relations de dépandances. Pour cela, nous utilisons le script extract-relation-udpipe.pl. Dans le terminal, nous pouvons écrire : perl extract-relation-udpipe.pl corpus-titre-description.udpipe.xml [relation] > [sortie]. Ici, nous avons choisit la relation objet ("obj") et notre fichier de sortie sera relations_dependance.txt : perl extract-relation-udpipe.pl corpus-titre-description.udpipe.xml "obj" > relations_dependance.txt.
Et voici le fichier relations_dependance.txt :
Pour cette BàO3, le script Python nous permet d'effectuer la même tâche que le script Perl BAO3.pl : il nous permet de récupérer des patrons morphosyntaxiques à partir de notre fichier corpus-titre-description.xml. Ce script se lance de cette façon : python3 BAO3.py corpus-titre-description.xml [patron] > [sortie]. Ici, nous allons chercher les patrons NOM-PRP-NOM et mettre un fichier de sortie nommé pattern.txt : python3 BAO3.py corpus-titre-description.xml NOM PRP NOM > pattern.txt.
Voici un apperçu du fichier texte :