La manipulation de données au service de l’annotation : le cas du projet JADE

Louis Maritaud

Le projet Justice Algorithmique Des Élections (JADE), porté par Romain Rambaud, Professeur de droit public au Centre de Ressources Juridiques de l’Université Grenoble-Alpes, vise à proposer une solution d’aide à la prise de décision juridique dans le cadre des contestations des résultats des élections législatives en France - voir le blog du porteur du projet. Pour ce faire, l’équipe de recherche s’est mobilisée autour d’une démarche commune, à savoir l’annotation manuelle de décisions du Conseil Constitutionnel, parues de 1958 à nos jours. Ce travail d’annotation a été réalisé au format XML avec le logiciel Oxygen, à l’aide d’une Document Type Definition (DTD) sur mesure. Il s’est avéré très chronophage, au point de mettre en péril la réalisation du projet.

Une solution s’est présentée aux membres du projet : la mise en place d’une ingénierie de Traitement Automatique des Langues (TAL), qui visait à 1- entraîner un modèle sur les annotations déjà établies, et 2- annoter de façon automatique les textes dont les annotations n’étaient pas réalisées. C’est dans cet objectif que GATES a été sollicité, et qu’une aide a été fournie.

D’un verrou temporel à un verrou technologique

Le TAL s’appuie sur un système d’intelligence artificielle, qui vise à entraîner un modèle à la reconnaissance d’items linguistiques afin de pouvoir catégoriser de nouveaux inputs selon les outputs donnés à l’entraînement. Pour pouvoir y parvenir, un corpus d’entraînement assez large et équilibré (en terme de quantités d’occurrences par catégorie), avec une quantité limitée de catégories est favorable, voire nécessaire.

Dans notre cas, le corpus était d’une part assez restreint en terme de quantité d’annotations, et d’autre part assez déséquilibré. De plus, un nombre considérable de labels étaient disponibles à l’annotation. Par ailleurs, chaque annotation produite dans le cadre du projet JADE comprend de nombreuses informations. Nous trouvons en effet une première catégorie d’annotation qui considère l’« objet » du grief, c’est-à-dire les points sur lesquels les contestations de l’élection portent. Une seconde catégorie d’annotation concerne la « qualification » du grief, c’est-à-dire le raisonnement du juge concernant l’objet préalablement décrit. Le tableau ci-dessous recense les diverses annotations et le nombre d’occurrences dans le corpus annoté manuellement par l’équipe.

Label Objet Occurrences Objet
8.Autres_griefs_1_Abstention 1
2.Préalable_scrutin_2_Autre 1
7.Opérations_électorales_12_Enveloppes 1
6.Financement_1Mandataire_financier 2
6.Financement_2_Etablissement_d_un_compte_de_campagne 2
33 LIGNES ONT ÉTÉ OMMISES  
7.Opérations_électorales_6_Dépouillement 44
4.Campagne_propagande_15_Tracts 49
6.Financement_5_Dépenses 58
TOTAL OBJET 614

Tableau 1 : répartition des annotations manuelles d’objets réalisées par l’équipe du projet JADE

Label Qualification Occurrences Qualification
3_Grief_C_1_Absence_d_impact_1_Rejet38.2_1_insusceptible_effet_sans_précision 1
3_Grief_C_1_Absence_d_impact_1_Rejet38.2_2_insusceptible_effet_écart_de_voix 1
2_Grief_ETEDC_1_Rejet38.2_5_inopérant 1
3_Grief_C_1_Absence_d_impact_2_Rejet_au_fond_1_réciprocité_irrégularités 2
3_Grief_C_6_Absence_Inéligibilité-sanction_1_Comptes_de_Campagne 2
19 LIGNES OMMISES  
2_Grief_ETEDC_2_Rejet_au_fond_3_irrégularité_neutralisée 47
1.Grief_NC_2_Rejet_au_fond_1_non_assorti_précisions_preuves 48
1.Grief_NC_2_Rejet_au_fond_2_non_fondé 221
Total Qualification 531

Tableau 2 : répartition des annotations manuelles de qualifications réalisées par l’équipe du projet JADE

Au total, 42 labels différents sont disponibles à l’annotation dans la catégorie « Objet », et 27 dans la catégorie « qualifications ». La répartition de ces labels en terme d’occurrences est également très déséquilibrée. Ces deux facteurs rendent l’annotation automatique simplement irréalisable. Il a fallu d’abord conceptualiser et en mettre en œuvre une chaîne de manipulation des données, afin d’aboutir à une annotation semi-automatique performante.

Le dépassement du verrou technologique : la manipulation de données

Dans les deux catégories d’annotation préalablement décrites (Objet et Qualification) se trouvent des sous-catégories, qui combinent plusieurs informations annotées. La figure ci-dessous représente, dans un fichier XML annoté, les différentes catégories et sous-catégories en jeu, par le biais d’encadrés de couleur.

Annotations

Image 1 : représentation des informations contenues dans une seule annotation

La manipulation de données avait pour visée de 1- réduire l’empan d’occurrences d’un label à l’autre, 2- réduire le nombre de labels et 3- réduire la quantité d’informations contenues dans une seule annotation. Pour ce faire, nous avons fait le choix de considérer les différentes annotations comme relevant d’un sous-corpus donné. Concernant l’objet du grief, la partie la plus à gauche de l’annotation totale est master du reste, désormais perçu comme child. Pour l’exemple présenté en figure 1, « 6.Financement » a donc été retenu comme label d’annotation, créant ainsi 7 sous-corpus, correspondant aux 7 labels master présents dans les données annotées manuellement. Pour la qualification du grief, une table de correspondance a été mise en œuvre par l’équipe du projet, représentée dans le tableau ci-dessous.

Ancien label Nouveau label
1.Grief_NC_1_Rejet38.2_1_inopérant
1.Grief_NC_1_Rejet38.2_2_manifestement_non_fondé
1.Grief_NC_1_Rejet38.2_3_non_assorti_précisions_preuves
1.Grief_NC_2_Rejet_au_fond_insusceptible_effet_sans_précision
1.Grief_NC_2_Rejet_au_fond_1_non_assorti_précisions_preuves
1.Grief_NC_2_Rejet_au_fond_2_non_fondé
1.Grief_NC_2_Rejet_au_fond_3_inopérant
REJET
2_Grief_ETEDC_1_Rejet38.2_1_pas_office_juge
2_Grief_ETEDC_1_Rejet38.2_2_insusceptible_effet_sans_précision
2_Grief_ETEDC_1_Rejet38.2_3_insusceptible_effet_écart_de_voix
2_Grief_ETEDC_1_Rejet38.2_4_irrecevable_hors_délai
2_Grief_ETEDC_1_Rejet38.2_5_inopérant
2_Grief_ETEDC_1_Rejet38.2_6_irrégularité_neutralisée
2_Grief_ETEDC_2_Rejet_au_fond_1_pas_office_juge
2_Grief_ETEDC_2_Rejet_au_fond_2_insusceptible_effet_écart_de_voix
2_Grief_ETEDC_2_Rejet_au_fond_3_irrégularité_neutralisée
2_Grief_ETEDC_2_Rejet_au_fond_4_insusceptible_effet_sans_precision
REJET_SANS_
CARACTERISATION_AU_
FOND_DU_GRIEF
3_Grief_C_1_Absence_d_impact_1_Rejet38.2_1_insusceptible_effet_sans_précision
3_Grief_C_1_Absence_d_impact_1_Rejet38.2_2_insusceptible_effet_écart_de_voix
3_Grief_C_1_Absence_d_impact_2_Rejet_au_fond_1_réciprocité_irrégularités
3_Grief_C_1_Absence_d_impact_2_Rejet_au_fond_2_écart_de_voix_explicite
3_Grief_C_1_Absence_d_impact_2_Rejet_au_fond_4_Irrégularité_neutralisée
3_Grief_C_6_Absence_Inéligibilité-sanction_1_Comptes_de_Campagne
REJET_MALGRE_
UN_GRIEF_CARACTERISE
3_Grief_C_2_Rectification_résultats
3_Grief_C_2_Rectification_résultats_sans_réformation_ni_annulation
3_Grief_C_4_Atteinte_sincérité_scrutin_1_Sans_rectification_des_résultats
3_Grief_C_4_Atteinte_sincérité_scrutin_2_Avec_rectification_des_résultats
RECTIFICATION_
REFORMULATION_
ANNULATION_ET_
OU_SANCTION

Tableau 3 : Table de correspondance des Qualifications du projet JADE

En utilisant Python et une série de boucles comprenant des conditions textuelles, les données ont été remaniées afin de correspondre aux nouveaux labels, ce qui donne la répartition suivante :

Label Objet Occurrences Objet Label Qualification Occurrences Qualification
2.Préalable 11 REJET_MALGRE_UN_GRIEF_CARACTERISE 27
3.Candidature 17 RECTIFICATION_REFORMATION_
ANNULATION_ET_OU_SANCTION
82
8.Autres 22 REJET_SANS_CARACTERISATION_
AU_FOND_DU_GRIEF
114
5.Campagne 66 REJET 308
6.Financement 102 TOTAL 531
7.Opérations 173    
4.Campagne 223    
TOTAL 614    

Tableau 4 : répartition et labels des annotations suite à la manipulation de données

Avec les données désormais remaniées, dont le nombre de labels et l’empan de nombre d’occurrences est considérablement réduit, nous avons essayé plusieurs approches de TAL afin de produire des annotations semi automatiques utiles au projet, ce qui a permis d’avancer dans la demande initiale de l’équipe de recherche.

L’annotation en question

Ces quelques manipulations de données nous donnent à voir des éléments propres aux questions de la science des données. En effet, si la pratique d’annotation est très largement répandue dans le périmètre des SHS, elle peut se révéler limitante dans sa conception. Dans le cadre du projet JADE, chaque annotation comprenait initialement une multitude d’information, ce qui empêchait l’application directe du TAL. En matière de conception des annotations, cette expérience fait ressortir quatre points :

  1. Chaque annotation doit être pensée indépendamment, comme un cumul des informations qu’elle contient. Dans cette optique, de nombreux ajouts seront à réaliser au fur et à mesure de l’annotation des documents, et la limite des strates d’annotations peut parfois être franchie en terme de nomenclature : si l’annotation attendue est du type [Catégorie A] [Catégorie B] [Catégorie C], il peut arriver dans la pratique que pour un élément, l’ordre ou l’existence des catégories soit bousculé.
  2. Les statistiques et manipulations de données sur les catégories englobantes sont plus compliquées à mettre en place, car elles nécessitent de traiter l’information et de la scinder par la chaîne de caractères
  3. Les catégories englobantes freinent également la ré-utilisation des données produites. En annotant « par la fin », on oblige les utilisateurs à pré-manipuler les données, ce qui freine la réutilisation et l’ouverture des données.
  4. Pour appliquer le TAL, il est nécessaire d’avoir une grille d’annotation finement structurée, de telle sorte que le nombre de labels soit limité.

Ces éléments nous amènent à une recommandation globale : annoter les documents par information, en multipliant les catégories d’annotations indépendantes, plutôt que d’annoter globalement chaque item avec une multitudes d’informations présentes dans chaque annotation. Pour un fichier XML, par exemple, il s’agira de créer une classe par information dans la DTD. La conception d’une grille d’annotation pertinente et fonctionnelle est un travail de longue haleine, qui se poursuit tout au long de la réalisation d’un projet. En suivant ces quelques bases, le travail postérieur de traitement et d’ouverture des données sera grandement facilité.

Les données ont de fait été ouvertes sur l’entrepôt Recherche Data Gouv :

Bligny, Caroline; Rambaud, Romain, 2024, “Cross-referenced data on electoral disputes and French legislative election results”, https://doi.org/10.57745/0BI3LB, Recherche Data Gouv, V1.





Maritaud, Louis (2024). La manipulation de données au service de l’annotation : le cas du projet JADE. Blog GATES Data SHS. Université Grenoble Alpes.

Les scripts réalisés sont disponibles sur la forge Gitlab de l’Université.