La boîte à outils N°2

Présentation

Dans la deuxième BAO, on va étiqueter les données issues de la première boîte à outils. Ces données seront annotées avec Talismane et TreeTagger, deux outils d'étiquetage qui lemmatisent et annotent un texte avec des catégories syntaxiques. Nous avons choisi trois rubriques à étiqueter : actualité-médias, technologie et la une. Pour faire cet étiquetage nous avons utilisé le fichier XML créé dans la BOA 1.

Étiquetage

L’objectif de la BAO2 est de produire, pour une rubrique sélectionnée:

Nous avons choisi de faire ce programme en python. (3.8)

Remerciements

Tout d’abord, nous souhaitons remercier les étudiants Corentin VIALAR, Valentin Soumah et Yara Amer qui ont défriché le terrain en python et ont chacun posté sur iCampus un script fonctionnel. Leur démarche nous a donné de précieux indices pour la réalisation de notre programme.

Les fonctions

Nous avons décidé de créer des fonctions pour la plupart des instructions se répétant plusieurs fois. Afin de rendre le code plus lisible.

Les deux fonctions ci-dessous sont une adaptation de celles récupérées sur le script BAO2_Corentin.py, en fonction de nos critères de paramétrage et de notre arborescence, notre script ne commençant qu’à partir de la sortie de la BAO1 et non à partir des fichiers du corpus 2019.

Dans la fonction « tagging », les modules subprocess et os sont utilisés. Les scripts perl « tree-tagger2xml-utf8.pl » et « tokenise-utf8.pl » sont exécutés via le module subprocess, qui permet d’appeler des commandes bash à partir d’un script python, et le module os est utilisé pour changer le répertoire courant afin que talismane soit exécuté dans de son propre dossier.

Le main

Nous commençons par récupérer les paramètres de la commande grâce au module sys :

Ici, « sys.argv[1] » est le chemin vers la sortie xml de la BAO1, et « sys.argv[2] » est la clé correspondant à la rubrique choisie. Une fois les données récupérées, le traitement peut commencer.

Le traitement

Le texte est transformé en une liste dont chaque élément est trié à l’aide des expressions régulières et d’une structure de contrôle conditionnelle, puis est rangé dans une ou plusieurs des trois listes lui correspondant.

Les résultats

Les résultats sont normalisés afin de correspondre à l’exemple de sortie de Serge Fleury et Jean-Michel Daube et d’assurer des entrées correctes pour la BAO3.

Problèmes rencontrés : L’optimisation du temps et la capacité de nos ordinateurs

Notre script a pris plusieurs dizaines d’heures pour la une et les scripts mieux calibrés ont fait planter nos ordis. Ces deux obstacles nous ont contraints à choisir, en plus de la une, les rubriques contenant le minimum de lignes, à savoir : « actualité-media » et « technologie ».

Les résultats

sortie texte

icone

sortie treetagger

icone

sortie talismane

icone