BaO 2

Boîte à Outils 2


Enrichissement des données par étiquetage automatique

Objectif : les contenus textuels extraits doivent être étiquetés automatiquement (TreeTagger et UDPipe) : annotation en morpho-syntaxe et en dépendances.

Pour procéder à une analyse morpho-syntaxique des contenus des fils RSS du Monde de l’année 2020, il faut d’abord les enrichir par annotation. Cette année, l’étiquetage automatique est réalisé avec TreeTagger et UDPipe.

On remarquera au cours de ce travail des différences de choix de découpage et d'annotation entre les deux outils comparés, la première étant évidemment au niveau du tagset, distribué comme suit:

TreeTagger: annotation_treetagger
UDPipe, format U-ConLL (pour le POS qui nous intéresse, Universal POStags): annotation_udpipe

Toutes les tâches sont effectuées par le script perl BAO2_etiquetage_regexp.pl, suite du script perl BAO1_extraction_regexp.pl :

  • parcours de l’arborescence de fichiers à partir du répertoire de corpus 2020 pour atteindre les fichiers au format xml concernant la rubrique sélectionnée au lancement du programme (BAO 1)
  • extraction dans ces fichiers pour chaque item des contenus titre + description (BAO 1)
  • nettoyage et mise en forme des contenus pour préparer le travail d’étiquetage automatique (BAO 1)
  • étiquetage automatique des données avec TreeTagger:
  • tokenization avec le script perl fourni tokenise-utf8.pl
  • exécution du programme TreeTagger selon le modèle FR fourni
  • conversion au format xml avec le script perl fourni treetagger2xml-utf8.pl
  • étiquetage automatique des données avec UDPipe
  • exécution du programme UDPipe selon le modèle FR fourni

  • Remarque : pour préparer le travail d’analyse morpho-syntaxique, nous convertissons ensuite à leur tour les fichiers annotés avec UDPipe du format txt vers le format xml grâce au script perl fourni udpipe2xml.pl.

    Comme pour la BAO 1, une autre méthode a été implémentée pour illustrer l’utilisation de la bibliothèque XML::RSS dans le script perl BAO2_etiquetage_rss.pl.

    On note que le travail d’étiquetage est plus rapide pour les rubriques comme "cinéma" ou "sport", sûrement parce que les actualités dans ces domaines sont redondantes, on les retrouve d’un jour sur l’autre (et ici on procède à l’élimination des doublons). La normalisation des apostrophes est primordiale pour l’utilisation de l’outil UDPipe (dans le sous-programme de nettoyage : $description=~s/’/'/g; et $titre=~s/’/'/g;), sinon il est incapable de les reconnaître correctement. En effet, il sépare bien les ensembles contenant une apostrophe en deux tokens quand c’est nécessaire “d’”+“où”, “l’”+“épidémie”, “d’”+“origine” ou “n’”+“ont” mais sait aussi reconnaître des mots comme “aujourd’hui” en un seul token. A l’inverse, TreeTagger considère comme un seul token les ensembles contenant une apostrophe tels que “l’armement”, “n’existe” ou encore “d’intéressement”. Sur ce point, on peut donc considérer que UDPipe est plus en accord avec nos choix linguistiques, et propose un étiquetage plus conforme à nos attentes.

    Exemples d’étiquetages attendus (illustrant la question de l’apostrophe évoquée ci-dessus):

    Étiquetage TreeTagger au format xml: ex_treetagger
    Étiquetage UDPipe au format txt - ConLL: ex_udpipeconll
    Étiquetage UDPipe au format xml: ex_udpipexml

    Voici un schéma résumant ce qu'on trouve en sortie de la BàO 2:

    schéma_sortie

    Et ci-dessous, les résultats, sous forme de zip à télécharger à chaque fois car les fichiers une fois annotés sont très lourds en données:

    BàO 2 avec les expressions régulières:

    Cliquez sur l'icône pour afficher le script perl.

    Lancement de la BAO 2 regexp sur la rubrique "économie" via le terminal:

    terminal_bao1_regex
    Rubrique Sortie TreeTagger Sortie Udpipe (txt) Sortie Udpipe (xml)
    A la une Cliquez ici pour voir la sortie avec TreeTagger (xml) Cliquez ici pour voir la sortie avec UDPipe (txt) Cliquez ici pour voir la sortie avec UDPipe (xml)
    Société Cliquez ici pour voir la sortie avec TreeTagger (xml) Cliquez ici pour voir la sortie avec UDPipe (txt) Cliquez ici pour voir la sortie avec UDPipe (xml)
    Culture Cliquez ici pour voir la sortie avec TreeTagger (xml) Cliquez ici pour voir la sortie avec UDPipe (txt) Cliquez ici pour voir la sortie avec UDPipe (xml)

    BàO 2 avec les fils RSS:

    Cliquez sur l'icône pour afficher le script perl.

    Lancement de la BAO 2 rss sur la rubrique "économie" via le terminal:

    terminal_bao1_rss
    Rubrique Sortie TreeTagger Sortie Udpipe (txt) Sortie Udpipe (xml)
    Sport Cliquez ici pour voir la sortie avec TreeTagger (xml) Cliquez ici pour voir la sortie avec UDPipe (txt) Cliquez ici pour voir la sortie avec UDPipe (xml)
    Cinéma Cliquez ici pour voir la sortie avec TreeTagger (xml) Cliquez ici pour voir la sortie avec UDPipe (txt) Cliquez ici pour voir la sortie avec UDPipe (xml)

    Le plus important à cette étape est d’obtenir en sortie des données bien structurées pour pouvoir ensuite leur appliquer les requêtes d’extraction morpho-syntaxiques et en dépendances. En ouverture, on pourrait essayer encore d’autres outils d’étiquetage automatique pour comparer leur efficacité et trouver celui qui se rapproche le plus de nos propres choix.