Création de modèles de transcription pour le projet LECTAUREP #1

Quand on se lance dans une campagne de transcription reposant sur la reconnaissance d’écritures manuscrites, on passe généralement par une série de questions qui sont les mêmes d’un projet à l’autre. Parmi ces questions, il y a celle des modèles de transcription et de leur rapport à la variation des écritures. Doit-on entraîner un modèle pour chaque type d’écriture présent dans un corpus de documents ? Au contraire, peut-on se contenter d’entraîner un seul modèle tout terrain (qu’on appellera mixte ou générique) ?

On se pose rarement ces questions si l’on a recours à l’OCR car généralement ces outils ont déjà atteint le stade du tout en un, mais c’est loin d’être le cas pour les textes manuscrits. S’il faut mener une campagne de transcription manuelle pour créer la vérité de terrain nécessaire à l’entraînement des modèles, il est normal de chercher à déterminer en tout premier lieu si une seule suffit, ou s’il faut en fait en mener autant qu’il y a de familles d’écritures. Le problème devient encore plus tentaculaire si la répartition de ces écritures n’est pas prévisible et qu’on commence à se demander comment déterminer et repérer ces variations d’écriture dans les documents : on frissonne à l’idée de devoir dépouiller chaque page du corpus et gérer des dizaines de modèles alors qu’on pensait régler le problème de la transcription en deux claquements de doigts sur un clavier.

Le projet LECTAUREP n’échappe pas à ce cas de figure : avec nos centaines de mains d’écriture dans les répertoires de notaires, dont certaines n’apparaissent que sur très peu de documents, la perspective de créer une vérité de terrain pour chaque main ne manque pas de provoquer des grimaces. Très tôt, nous avons envisagé des solutions pour éviter d’avoir à entraîner plusieurs centaines de modèles différents.

La piste des modèles multiples

Nous ne nous sommes pas directement engagés sur la piste d’un modèle générique. Au contraire, nous avons d’abord imaginé restreindre nos efforts pour ne traiter que quelques notaires lisibles et dont les scribes sont restés constants. L’idée était notamment de simplifier la tâche de transcription manuelle car chaque changement d’écriture requiert un temps d’adaptation et un effort supplémentaire pour la personne chargée de l’annotation.

Une première campagne de transcription avait pris place durant la phase 1 du projet LECTAUREP et s’était concentrée sur 50 pages du notaire Marotte. Nous avons transposé cette transcription dans eScriptorium et annoté 100 pages tirées des répertoires de deux autres notaires : Dufour et Riant. Notons que le texte est beaucoup plus dense dans les pages de Marotte.

En septembre 2020, nous avons évalué l’efficacité des entraînements menés avec ces données à l’aide de Kraken. Le graphique ci-dessous résume l’essentiel des points pris en compte, à savoir :

  • le plus grand score de précision atteint avec les données (Best accuracy), basé sur une évaluation du taux d’erreur par caractère tel que fourni par Kraken à la fin de chaque cycle d’entraînement1 ;
  • le nombre de cycles d’entraînement (epoch) maximum opérés avec ces données avec les réglages par défaut de Kraken ;
  • le nombre de pages et le nombre de caractères contenus dans le set d’entraînement.

graphique entrainements des modèles Marotte Dufour et Riant

Nous nous sommes aperçus, sans surprise, que la densité du texte a un impact sur la quantité de pages qu’il faut transcrire pour obtenir de bons résultats : 49 pages de Marotte contiennent plus de données textuelles que 98 pages de Riant. Avec un tel écart, il faut plus d’itérations (epochs) sur les données Riant pour obtenir un modèle qui reste de toute façon largement en-dessous du modèle Marotte : 69,51 % de précision contre 89,17 %.

Grâce à cette expérience, nous avons conclu que pour passer le cap des 10 % d’erreurs par caractère pour le modèle Marotte, il nous fallait produire plus de données, et que nous étions encore loin du compte pour les modèles Dufour et Riant. En effet, il semblait nécessaire de prévoir de transcrire manuellement 200 pages (ou plus) pour certains notaires avant de parvenir à un modèle à peu près efficace. Cette perspective nous a légèrement échaudé et nous avons décidé de nous intéresser de plus près à la question des modèles mixtes ou génériques, entraînés simultanément sur plusieurs écritures.

Affinage et robustesse

Sans chercher à créer d’emblée un modèle mixte prêt à l’usage, nous avons envisagé d’en acquérir un dont la précision serait au moins supérieur à 80 %, puis d’utiliser nos sets Marotte, Riant et Dufour pour affiner des modèles et finir de gagner les points de précisions restants.

On s'approche du centre de la cible grâce au modèle mixte et on finit de resserrer sur le coeur de cible en affinant sur une écriture particulière

Avec les sets Marotte, Dufour et Riant, nous possédions près de 250 pages de vérité de terrain (pour un total d’environ 42 500 caractères) regroupant au moins 3 types d’écriture. Pour vérifier la faisabilité d’un modèle mixte, et en attendant de constituer un nouveau set de données pour notre modèle générique de base, nous avons décidé de réaliser un entraînement à partir de ces 250 pages.

Graphique montrant la courbe d'apprentissage du premier modèle mixte entraîné

Le graphique ci-dessus représente la courbe d’apprentissage du modèle mixte : en 25 cycles d’apprentissage, le modèle parvient à une précision maximale de 82,89 %. C’est moins que Marotte, mais mieux que Dufour et Riant seuls.

Au-delà du score de précision fourni par Kraken à la fin des cycles d’entraînement, nous nous interrogions sur la capacité du modèle à généraliser son apprentissage à d’autres écritures. La question était alors de savoir si un modèle mixte est plus robuste qu’un modèle unique face à des données légèrement différentes. Derrière la notion de robustesse, nous entendons la capacité d’un modèle à maintenir une transcription correcte malgré l’apparition d’écritures qui n’étaient pas présentes dans le set d’entraînement. Ce sont ces éléments inconnus du modèle que l’on appelle les données hors-domaine.

Illustration du concept de données hors-domaine

Si, appliqué à de nouvelles données, le modèle de transcription maintient une performance élevée malgré la variation des écritures, alors on peut considérer le modèle mixte robuste face à la variation des écritures.

Nous avions désormais deux questions liées : pouvons-nous, pour une écriture donnée, entraîner un modèle plus rapidement et avec moins de données en nous appuyant sur l’affinage d’un modèle mixte ? Le modèle obtenu en bout de course gagne-t-il en plus en robustesse face aux variations imprévues dans le lot traité ?

Le prochain billet s’attachera donc à la description des modalités de création du modèle mixte, mais aussi aux réglages qu’il nous a fallu opérer sur Kraken pour dépasser le plafond des scores à 80 %.

  1. Pour cette expérience, on prend la valeur maximale tout cycle confondu et pas le taux d’exactitude du modèle considéré comme le meilleur. Cf. Surapprentissage []

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.