Annotation automatique de sources juridiques chinoises
Auteurs : Frédéric Constant, Luca Gabbiani et Pierre Magistry
Retour d'expérience d'un accompagnement numérique Distam
Données : https://gitlab.huma-num.fr/txahl/tagging_xahl
Notre projet porte sur l’identification et l’annotation automatique d’entités au sein de recueils de jugements compilés sous les Qing (1644-1911). Ces collections contiennent plusieurs milliers de mémoires sur des affaires criminelles, contenant tous des informations de même type, tels les noms des criminels, des parties au procès, la province dans laquelle les faits se sont déroulés, le titre du fonctionnaire auteur du mémoire, les lois citées à l’appui du jugement ainsi que la peine prononcée. Le recueil de ces informations présente un grand intérêt pour la constitution de bases de données sur l’histoire du droit et les pratiques judiciaires en Chine. Il peut également servir à l’élaboration de tables des matières de vastes corpus composés de plusieurs dizaines de milliers de pages. L’automatisation de ce type de tâche peut ainsi apporter une aide précieuse pour la classification et l’indexation de documents comportant par ailleurs une structuration de l’information relativement homogène.
Les vérités de terrain ont été acquises par l’annotation manuelle de plusieurs centaines de mémoires du ministère des Peines compilés dans le Xing’an huilan 刑案匯覽 (Une vue d’ensemble des affaires pénales), une collection de 5400 documents judiciaires compilée au milieu du 19ème siècle. Nous avons élaboré une typologie d’annotation déterminant les informations importantes à recueillir (consultable sur le gitlab du projet: https://gitlab.huma-num.fr/txahl/tagging_xahl/-/blob/main/types_en.md). Les annotations ont été réalisées sur la plateforme Kairntech (https://kairntech.com/).
Les informations annotées peuvent être réparties en deux catégories distinctes : des entités nommées qu’il est possible d’identifier à l’aide de listes – à l’instar des noms de province ou des titres des fonctionnaires –, et des entités pour lesquelles il est nécessaire d’entraîner un modèle de reconnaissance, tels les noms des criminels ou les lois.
Les expériences qui suivent ont été effectuées sur la base de 389 documents annotés manuellement.
Ces dernières années ont vu l’émergence de multiples grands modèles de langues (LLM) adaptés au chinois classique qui peuvent servir de base à l’entraînement de modèles de reconnaissance. Leur nombre nous invite à proposer une comparaison de leurs performances respectives. Il est à noter que (vraisemblablement pour des raisons de coût et de quantités de données disponibles) ces modèles ne sont en généralement pas construits exclusivement sur la base de corpus de chinois classique mais procèdent par l’adaptation d’un modèle conçu et pré-entraîné initialement pour le chinois moderne standard.
Si les dates et les noms de provinces sont relativement faciles à identifier et ne justifient pas un recours à des LLM, la détection de mentions de lois s’est avérée particulièrement difficile dans une expérience préliminaire. Nous avons donc choisi de concentrer la comparaison des modèles sur la tâche de détection des noms de personnes, en conservant la distinction « criminal/secondary/other party ».
La plateforme Kairntech permet d’exporter les données dans un format json, que nous avons pu transformer afin d’utiliser ces données dans Prodigy (https://prodi.gy) et lancer rapidement nos expériences en entraînant des modèles Spacy (https://spacy.io). Les LLM utilisés comme bases pour la comparaison sont librement disponibles sur la plateforme HuggingFace (https://huggingface.co).
Spacy propose des architectures préétablies faciles à entraîner sur la base d’un fichier de configuration, dans lequel on peut faire varier le LLM utilisé.
L’ensemble des codes et des données utilisés pour nos expériences sont disponibles sur le gitlab du projet : https://gitlab.huma-num.fr/txahl/tagging_xahl
Nos données annotées sont en quantité relativement modeste par rapport à la taille des modèles entraînés (en nombre de paramètres à ajuster). Les modèles neuronaux étant initialisés pseudo-aléatoirement avant leur entraînement, il, faut s’attendre à une forte variabilité des résultats. Un même modèle doit être entraîné plusieurs fois pour avoir une idée claire de son potentiel.
Le protocole expérimental classique pour l’apprentissage automatique consiste à diviser le corpus en trois parties (inégales) d’entraînement, de validation et de test. Dans notre cas, elles contiennent respectivement 309, 40 et 40 documents. L’idée importante est que pour ne pas fausser l’expérience, la performance ne doit pas être mesurée sur des données utilisées pour l’entraînement du modèle. Les données de test sont donc mises de côté pour l’évaluation finale. Les données de validation sont, elles, utilisées pendant l’entraînement pour suivre son déroulement, et notamment savoir quand arrêter celui-ci pour éviter le surentraînement.
La Figure ci-dessous présente la dispersion des résultats, elle montre les scores obtenus au cours de différents entraînements des modèles (une couleur par modèle) et permet de comparer à chaque fois le score obtenu pendant l’entraînement sur la partie validation, et le score obtenu par le même modèle sur le corpus de test. On observe ainsi que ces modèles basés sur BERT sont assez instables dans une configuration comme la nôtre, caractérisée par peu de données, à l’exception du modèle jihuai (https://huggingface.co/Jihuai/bert-ancient-chinese) qui semble plus stable et potentiellement plus performant. Il nous semble donc à retenir, au minimum pour des expériences préliminaires en début d’annotation de corpus. Les résultats obtenus sont loin d’être satisfaisants, mais le modèle devrait rapidement pouvoir venir épauler une annotation manuelle.
OpenEdition vous propose de citer ce billet de la manière suivante :
DISTAM (14 juin 2024). Annotation automatique de sources juridiques chinoises. DISTAM. Consulté le 13 octobre 2024 à l’adresse https://doi.org/10.58079/11tlp