La manipulation de données au service de l’annotation : le cas du projet JADE
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.
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 :
- 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é. - 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
- 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.
- 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é.