Extraire des patrons syntaxiques et une relation (obj) sur les fichiers étiquettés par TreeTagger et UDPIPE.
Pour extraire les patrons qui nous interesse, nous allons utiliser les fichiers annotés de la boîte à outil 2. Nous allons utiliser deux scripts différents, un pour les fichiers xml étiquettés par TreeTagger et un autre pour les fichier txt étiquettés par Udpipe. Les deux scripts sont similaires. Seul la regexp pour matcher les patrons diffèrent.
pour télécharger le script pour les annotations via TreeTagger:
On a besoin de trois arguments pour ce script : le fichier de la BaO2, le nom de la rubrique pour nommer le fichier, et le patron syntaxique (de la forme NOM ADJ pour le patron NOM-ADJ). La sortie est un fichier .txt. On va lancer ce script pour les 6 patrons syntaxiques et pour chacun des trois rubriques.
Pour la script qui extrait les patrons via l'annotation Udpipe, on change uniquement le nom du script pour extraction-patron-UD.pl
Voici le script qui permet de récupérer notre patron syntaxique.
Cette expression régulière permet de matcher chaque ligne de notre fichier .xml. On va matcher les balises et récupèrer les informations dans celles qui nous interressent (la 2e et 3e)
La première balise correspond à la POS, la seconde au lemme et la dernière à la forme.
Cette expression régulière permet de matcher chaque ligne de notre fichier .udpipe. On utilise \t pour matcher les tabulations. Ces tabulations forment des colonnes. On va récupèrer la forme (2e colonne) et la POS (4e tabulation).
Contrairement à la regexp précédente, nous n'avons pas des balises mais des tabulations qui séparent nos informations. Ainsi nous avons un fichier composé de 10 colonnes. La deuxième correspond à la forme, la troisième au lemme et la quatrième à la POS.
Nous allons utiliser les fichiers au format .xml étiquettés par Udpipe de la BaO2 pour extraire la relation objet (obj).
On a besoin de trois arguments pour ce script : le fichier de la BaO2, le nom de la relation que l'on veut extraire (obj ici) et le nom de la rubrique pour nommer le fichier. La sortie est un fichier .txt
On récupère nos arguments écrits en ligne de commande. On crée également un dictionnaire pour récupérer ce que l'on va extraire et la fréquence d'occurence.
Nous allons segmenté notre texte avec la balise <p> (ce qui correspond à une phrase). On va ensuite lire notre fichier ligne par ligne en matchant chaque ligne avec l'expression régulière ci dessus. On cherche à la 8e balise <a> (qui correspond à la relation au format CoNNL) si on trouve notre relation. On récupère également la position de la forme dépendante (1er balise)et sa forme (2e balise), ainsi que la position du gouverneur (7e balise).
Ensuite, on regarde si gouverneur est avant le dépendant, ou après, en comparant leur position.. Cela nous permet d'aller en arrière ou d'avancer dans le texte pour trouver la forme du gouverneur. Dans les deux cas, on enregistre les informations dans le dictionnaire %dicoRelation.
Enfin, on ferme notre fichier.
On va écrire les résultats de l'extration et les fréquences d'occurrences stockés dans notre dictionnaire dans un fichier au format .txt. Avant cela, on compte le nombre d'occurrence en additionnant toutes les valeurs du dictionnaire. Cela nous permet d'avoir le total des éléments trouvés.
Patron | Résultat depuis fichier TreeTagger | Résultat depuis fichier UDpipe |
---|---|---|
NOM-ADJ | resultat-france.udpipe | resultat-france.treetagger |
ADJ-NOM | resultat-france.udpipe | resultat-france.treetagger |
NOM-PREP-NOM-PREP | resultat-france.udpipe | resultat-france.treetagger |
VERB-DET-NOM | resultat-france.udpipe | resultat-france.treetagger |
NOM-PREP-NOM | resultat-france.udpipe | resultat-france.treetagger |
PREP-DET-NOM | resultat-france.udpipe | resultat-france.treetagger |
Relation | Résultat |
---|---|
objet | resultat |
Patron | Résultat depuis fichier TreeTagger | Résultat depuis fichier UDpipe |
---|---|---|
NOM-ADJ | resultat-europe.udpipe | resultat-europe.treetagger |
ADJ-NOM | resultat-europe.udpipe | resultat-europe.treetagger |
NOM-PREP-NOM-PREP | resultat-europe.udpipe | resultat-europe.treetagger |
VERB-DET-NOM | resultat-europe.udpipe | resultat-europe.treetagger |
NOM-PREP-NOM | resultat-europe.udpipe | resultat-europe.treetagger |
PREP-DET-NOM | resultat-europe.udpipe | resultat-europe.treetagger |
Relation | Résultat |
---|---|
objet | resultat |
Patron | Résultat depuis fichier TreeTagger | Résultat depuis fichier UDpipe |
---|---|---|
NOM-ADJ | resultat-international.udpipe | resultat-international.treetagger |
ADJ-NOM | resultat-international.udpipe | resultat-international.treetagger |
NOM-PREP-NOM-PREP | resultat-international.udpipe | resultat-international.treetagger |
VERB-DET-NOM | resultat-international.udpipe | resultat-international.treetagger |
NOM-PREP-NOM | resultat-international.udpipe | resultat-international.treetagger |
PREP-DET-NOM | resultat-international.udpipe | resultat-international.treetagger |
Relation | Résultat |
---|---|
objet | resultat |