Accéder au plein texte dans la minute : l’emploi des méthodes HTR dans une démarche d’histoire computationnelle
J’ai eu le privilège d’être accueilli en tant que Resident Fellow de février à juillet 2023 à l’Institut historique allemand à Paris dans le cadre de mon projet de thèse, commencé en août 2023 à l’Université de Fribourg et dirigé par Olivier Richard. Le présent billet est une présentation synthétique du travail accompli au cours de mes six mois à l’institut. Il s’agit avant tout de présenter la mise en œuvre de technologies de transcription automatisée d’écriture manuscrite (HTR) en commençant par la création de vérité de terrain et en embrayant sur l’optimisation d’un modèle préexistant à l’aide de celle-ci.
„La confédération des lettres : correspondance ordinaire des cantons urbains (XVe–XVIe siècle)“ propose une approche ambitieuse d’un type documentaire répandu dans les villes de l’ancienne confédération helvétique et, à ce jour, encore sous-exploité au regard de son potentiel. Le plus souvent nommés livres de missives (Missivenbücher ou liber missivarium), ces documents sont constitués en grande majorité de copies préparatoires (Konzepte) de missives, mais on y trouve de nombreux autres types d’écrits tels que, entre autres, des lettres ouvertes, des sauf-conduits, des copies de lettres reçues par la ville ou bien même entre deux correspondants extérieurs. Lorsqu’ils existent, ces fonds sont sériels. Les caractères quasi quotidien et continu des entrées de ces livres permettent aujourd’hui d’étudier de manière approfondie un large corpus de correspondances urbaines. Cela implique également la possibilité de mener une analyse comparée du processus de production et de conservation documentaire entre plusieurs villes de taille et de statuts juridiques différents. En parallèle, il s’agit de produire un corpus de vérité de terrain pour l’écriture de chancellerie qui doit permettre l’entrainement de modèles généralistes de transcription.
J’ai entamé à l’IHA un travail structurant pour ma thèse, à savoir l’acquisition du plein texte des missives à l’aide du logiciel de reconnaissance automatique de caractères manuscrits Kraken déployé sur une l’interface eScriptorium hébergée par l’Inria. Mon premier contact avec ce type documentaire a eu lieu en 2018-2019 à Bâle. J’y avais été missionné par mon actuel directeur de thèse, Olivier Richard, pour photographier les livres de missives locaux. Ces photographies, de même que les numérisations produites par mes soins en mars 2023 des livres de missives zurichois, doivent me permettre d’expérimenter ma démarche et d’évaluer s’il est possible d’entraîner des modèles capables de transcrire avec une marge d’erreur acceptable des écritures de chancellerie riches en abréviations et en caractères diacritiques.
Les reproductions, réalisées de différentes manières et n’étant pas le fruit d’une entreprise institutionnelle, ont fait l’objet d’un important travail de prétraitement, d’abord semi-automatique, puis manuel. Chaque image correspond à une page, recadrée du mieux possible. La taxonomie des documents au format jpg reprend la numérotation des livres, pagination ou foliotation. Dans le cas des liasses, j’ai opté pour une logique de foliotation. Je ne couvre pas tout à fait le XVe siècle, tout particulièrement pour Bâle où la pratique du livre de missives est plus précoce par la reliure de cahiers préexistants.
Le logiciel Kraken procède à la transcription en deux étapes. Il commence par segmenter l’image avant d’appliquer aux zones ainsi obtenues un modèle de reconnaissance optique de caractères. Pour peu que la structure du document soit spécifique, il devient rapidement nécessaire d’entraîner un modèle de segmentation en plus du modèle de reconnaissance de caractère si l’on souhaite traiter le texte obtenu en sortie computationnellement. Les progrès en la matière ont été fulgurants grâce, notamment, à plusieurs projets collectifs1.
Les pages des livres de missives sont organisées de manière relativement similaire avec, pour chaque entrée, une adresse, un corps de texte et une signature. Cependant ces entrées peuvent être plusieurs par pages ou bien se prolonger sur plusieurs pages. Elles peuvent être glosées marginalement ou interlinéairement. Ce sont autant de facteurs d’hétérogénéité. Le modèle par défaut gère plutôt mal notre mise en page, il est donc nécessaire d’entraîner un modèle de segmentation, en plus du modèle de reconnaissance. Celui-ci doit rester simple, mais permettre de reconstituer la structure du texte. J’ai composé une ontologie spécifique à mon projet en piochant dans les Guidelines du projet SegmOnto après avoir analysé la mise en page d’un large échantillon de mon corpus. J’ai conservé trois types de zones (MainZone, MarginTextZone:correction et NumberingZone) et deux types de lignes (DefaultLine et InterlinearLine:correction).
Deux méthodes existent pour entraîner un modèle: l’apprentissage from scratch et le finetuning. La première consiste à entraîner un nouveau modèle à partir d’un corpus relativement conséquent. Plus ce corpus est hétérogène, plus il doit être volumineux. Cette méthode permet d’entraîner des modèles génériques qui peuvent servir ensuite de base à la seconde méthode. Le finetuning consiste à reentraîner un entraîner un modèle existant sur un échantillon de ses propres données. C’est par exemple la démarche choisie par Sébastien Biay au cours de son stage à l’Institut historique allemand sur le projet Constance de Salm2. J’ai choisi d’évaluer la compatibilité de notre corpus avec les modèles existants à partir de deux pages de transcription tirées du premier livre bâlois3. Ces pages, une fois transcrites, ont été comparées aux résultats de transcription de trois modèles jugés pertinents.
Ces trois modèles figurent dans le catalogue proposé par le projet collaboratif HTR-United qui référence des données d’entraînement ainsi que des modèles vérifiés4:
- HTR model Cremma Medieval5.
- HTR model for Latin and French Medieval Documentary Manuscripts (12th-15th)6.
- HTR model for German manuscripts trained from several datasets7.
J’ai sélectionné les deux premiers modèles car ils ont été entraînés sur des corpus médiévaux en minuscule gothique. La plupart des scribes qui ont œuvré dans un contexte de chancellerie aux documents qui constituent notre corpus semblent écrire en gothique cursive, avec quelques emprunts à d’autres formes comme la textualis8. Le troisième modèle a été adopté car il est entraîné sur des textes en langue allemande, contrairement aux deux premiers modèles entraînés sur des textes latins et français. Ce modèle allemand est toutefois tiré de documents plus tardifs que notre corpus et, après un examen rapide de son corpus d’entraînement, sur des systèmes d’écriture bien différents de ce à quoi je suis confronté. Les modèles sélectionnés ont été appliqués à notre échantillon et exportés au format texte. Leur efficacité a pu être comparée à l’aide de l’application KaMI qui permet de mesurer la distance entre deux versions d’un texte à l’aide d’une trousse de métriques9. J’ai conservé deux jeux de métriques, l’un en pourcentage, l’autre en fréquence absolue10.
Metric | Default | Ignoring digits | Ignoring case | Ignoring punctuation | Ignoring diacritics | Combining all options |
WER in % | 82.346 | 82.326 | 81.548 | 80.344 | 79.498 | 76.294 |
CER in % | 30.389 | 30.347 | 29.972 | 29.417 | 28.148 | 26.571 |
Wacc in % | 17.653 | 17.673 | 18.451 | 19.655 | 20.501 | 23.705 |
Hits | 3707 | 3707 | 3728 | 3706 | 3723 | 3739 |
Substitutions | 1164 | 1163 | 1143 | 1115 | 1047 | 987 |
Deletions | 167 | 165 | 167 | 108 | 193 | 125 |
Insertions | 200 | 200 | 200 | 227 | 157 | 177 |
Metric | Default | Ignoring digits | Ignoring case | Ignoring punctuation | Ignoring diacritics | Combining all options |
WER in % | 90.888 | 90.992 | 88.268 | 84.942 | 90.205 | 80.552 |
CER in % | 36.065 | 36.027 | 33.584 | 34.428 | 34.817 | 30.467 |
Wacc in % | 9.111 | 9.007 | 11.731 | 15.057 | 9.794 | 19.447 |
Hits | 3692 | 3692 | 3821 | 3699 | 3756 | 3893 |
Substitutions | 1202 | 1202 | 1069 | 1145 | 1088 | 898 |
Deletions | 144 | 141 | 148 | 85 | 119 | 60 |
Insertions | 471 | 471 | 475 | 467 | 521 | 520 |
Metric | Default | Ignoring digits | Ignoring case | Ignoring punctuation | Ignoring diacritics | Combining all options |
WER in % | 88.952 | 88.939 | 87.357 | 87.701 | 87.129 | 82.623 |
CER in % | 38.15 | 38.133 | 37.177 | 37.39 | 36.49 | 34.611 |
Wacc in % | 11.047 | 11.06 | 12.642 | 12.298 | 12.87 | 17.376 |
Hits | 3184 | 3183 | 3233 | 3153 | 3241 | 3258 |
Substitutions | 1357 | 1356 | 1308 | 1341 | 1287 | 1223 |
Deletions | 497 | 496 | 497 | 435 | 435 | 370 |
Insertions | 68 | 68 | 68 | 67 | 89 | 86 |
Le modèle allemand se révèle vite inadéquat : presque 35 % d’erreur sur les caractères reconnus en ignorant les chiffres, la casse, la ponctuation et les très nombreux caractères diacritiques de notre corpus. En ignorant tous ces paramètres, un modèle satisfaisant passerait sous la barre des 5 % d’erreurs. C’est le modèle CREMMA qui obtient les meilleures performances en ne se trompant que sur 30 % des caractères, 26 % si l’on ignore tous les caractères spéciaux. Cela demeure insuffisant en l’état, mais il me semble être le modèle le plus apte a être affiné sur notre corpus. J’ai transcrit cinq pages de chaque livre de missives traités et suis prêt à lancer des entraînements pour la segmentation et la transcription.
Afin de faciliter l’encodage et la mise en corpus des textes encodés obtenus en sortie de la chaîne de traitement HTR pour des traitements postérieurs, j’ai réalisé des index numériques des livres, en reprenant et complétant les index et registres disponibles. Cette tâche a été achevée pour les livres bâlois A2 à A6. J’ai documenté, entre autres, pour chaque entrée un identifiant, les pages sur lesquelles elle s’étend et sa date. À partir de ces trois informations, il est possible d’émettre des hypothèses sur les conditions de productions et de conservation des livres observés.
J’ai commencé par exclure toutes les entrées pour lesquelles la date de rédaction n’est pas précisément établie. En plaçant chaque entrée sur un repère orthonormé sur lequel l’abscisse représente son ordre d’apparition dans les livres de missive et l’ordonnée représente sa date de rédaction, on observe que la série des livres de missives n’est pas continue, du moins jusqu’à la fin de l’année 1447. Les livres A2 et A3 attestent en leur sein d’une certaine continuité temporelle des entrées. On note un vide temporel entre la fin du volume A2 et le début du volume A3. De même entre le volume A3 et le volume A4. Les minutes qui constituent ce dernier semblent constituer deux ensembles temporels distincts. Finalement, les volumes A5 et A6 sont caractérisés par une continuité établie entre les deux. Le début du volume A5 présente un bref hiatus, très marqué.
Si cette continuité entre volumes successifs se perpétue dans les suivants, il serait possible d’estimer qu’une conservation systématique des cahiers qui servaient de copie préparatoire au secrétaire de la ville a été décidée vers le milieu du XVe siècle, même si la reliure de ceux-ci en codex est postérieure. En effet, l’argument des pertes aléatoires ne ferait alors plus foi. Si la conservation est temporellement continue à partir d’une date précise, alors qu’elle est auparavant régulièrement interrompue, c’est qu’une modification des pratiques de conservation a eu lieu. Sinon, les pertes de feuillets continuerait ultérieurement. La pratique bâloise diverge fondamentalement de la pratique zurichoise et ce, dès le départ. Là où; à Zurich, le secrétaire municipal s’exerce sur des feuilles volantes, le secrétaire bâlois travaille dès le départ sur des feuillets, plus simples à conserver et à relier par la suite. Cela participe sans doute à expliquer que la série zurichoise remonte certes jusqu’aux années 1420, mais conserve très peu de missives (une dizaine par an) avant 1465.
En appliquant la même méthode de visualisation au seul volume A2, on obtient le résultat suivant. La succession des entrées s’effectue en rythme : elles progressent cycliquement dans le calendrier, avant de retourner quelques semaines, voir quelques mois en arrière et de progresser à nouveau. Les points forment presque un motif de vagues. Dès lors, il devient évident que les copies préparatoires n’étaient pas écrites dans une logique purement chronologique dans les cahiers dédiés, mais plutôt que ceux-ci étaient remplis progressivement dans une logique chrono-thématique ou chronologique soumise à un autre critère.
En calculant la moyenne d’entrées par semaine au fil du temps, j’obtiens le graphique ci-dessus. J’ai répété cette manœuvre pour chaque volume traité. J’ai pu constater que la répartition n’est pas égale. Les semaines les plus prolixes, le secrétaire du conseil peut rédiger jusqu’à 16 minutes de missive, mais de manière générale, il en prépare plutôt 4 à 8. Il est nécessaire de noter que pour de nombreuses semaines, aucune minute n’a été conservée. Ce n’est pas étonnant pour les premiers volumes qui sont caractérisés par des hiatus temporels. De surcroît, les semaines sans entrées dans les missivenbücher ne sont pas réparties de la même manière entre les volumes. Elles se font plus rares dans la dernière cote traitée, mais surviennent tout de même à un rythme régulier. Le secrétaire était le plus puissant représentant de l’administration municipale : il occupait une position sociale de choix dans les villes à la fin du Moyen Âge. Il était parfois amené à partir en ambassade ou à quitter sa ville pour d’autres raisons diplomatiques ou politiques. Il est possible que son absence ai modifié le processus scriptural à l’origine de la rédaction des minutes conservées dans nos livres de missives. Par exemple, le conseil aurait pu, à l’aide d’employés de la chancellerie et de ses propres membres, préparer les missives à expédier séance tenante, rendant ainsi le recours aux cahiers de minutes caduque.
J’ai procédé à une analyse exploratoire des métadonnées produites dans l’optique d’un traitement automatique de la sortie de la chaîne de traitement HTR de nos livres de missives. Je souhaite émettre une hypothèse, qu’une analyse herméneutique devra confirmer ou infirmer : si une série débute tôt, cela ne veut pas forcément dire qu’elle est continue, ni même qu’elle est composée d’un échantillon suffisamment important pour être représentatif. L’analyse de l’organisation interne des volumes permet de faire des observations d’ordre codicologique que leur analyse approfondie permettra d’affiner. Ces observations permettent en définitive d’affirmer que les cahiers ont précédé l’objet-livre, et pas seulement matériellement. Au départ, les secrétaires municipaux bâlois préparaient leurs missives dans des cahiers sans savoir que ceux-ci seraient ultérieurement reliés. Les secrétaires les remplissaient en conséquence indépendamment et ils ne furent reliés en ensembles codicologiques que plus tard. Je suis impatient d’étendre cette méthode à un corpus chronologiquement et géographiquement élargi pour tenter de déceler des évolutions dans les pratiques de production et de conservation de ce type documentaire. Une approche comparée entre les résultats obtenus pour les différentes villes faisant l’objet de notre étude permettra de comprendre le contexte scriptural de la production et surtout de la conservation des minutes de missives par les autorités municipales dans l’espace suisse-alémanique.
- Thibaut Clérice, You Actually Look Twice At it (YALTAi): using an object detection approach instead of region segmentation within the Kraken engine, 2023 (hal-03723208v2); Simon Gabay, Jean-Baptiste Camps, Ariane Pinche, Nicola Carboni, SegmOnto, A controlled Vocabulary to Describe the Layout of Pages, version 0.9, Paris/Genève, 2021: https://github.com/SegmOnto. [↩]
- Sébastien Biay, Chaîne de traitement pour l’édition numérique de la correspondance manuscrite de Constance de Salm (1767–1845), mémoire de master « Technologies numériques appliquées à l’histoire », dir. Mareike König, Ariane Pinche, École nationale des chartes, 2022 ; Sébastien Biay, « Ein experimenteller Workflow für die Edition der Korrespondenz der Constance de Salm (1767–1845) », dans Digital Humanities am DHIP, 25/01/2023, URL : https://dhdhi.hypotheses.org/6847. [↩]
- StABS Missiven A1 p. 163, 175. [↩]
- HTR-United. (2020-2022). HTR-United Catalog. HTR-United. Alix Chagué & Thibault Clérice (eds). URL: https://github.com/HTR-United/htr-united/blob/026e680323b47f6206a6d6007cb96d6cc756fab5/htr-united.yml. [↩]
- Pinche, Ariane. (2022). HTR model Cremma Medieval (1.1.0). Zenodo. https://doi.org/10.5281/zenodo.6669508. [↩]
- Torres Aguilar, Sergio, & Jolivet, Vincent. (2023). HTR model for Latin and French Medieval Documentary Manuscripts (12th-15th) (Version 1) [Data set]. Zenodo. https://doi.org/10.5281/zenodo.7547438. [↩]
- Stefan Weil. (2023). HTR model for German manuscripts trained from several datasets. Zenodo. https://doi.org/10.5281/zenodo.7933463. [↩]
- Albert Derolez, The paleography of Gothic Manuscript Books, Cambridge, Cambridge University Press, 2003, p. 142-162. [↩]
- Lucas Terriel & Alix Chagué (2021), Kami-lib – Kraken model inspector, URL :https://gitlab.inria.fr/dh-projects/kami/kami-lib. [↩]
- Détail des métriques conservées: le taux d’erreur dans les mots (WER: pourcentage d’erreur lors de la transcription des mots), le pourcentage d’erreur dans les caractères (CER: pourcentage d’erreur lors de la transcription des caractères), la précision dans les mots (Wacc: pourcentage de réussite lors de la transcription des mots). Le nombre total de caractères correctement transcrits (Hits), le nombre de substitutions d’un caractère par un autre (Substitutions), le nombre de caractère non transcrits (Deletions), le nombre de caractère ajoutés par erreur (Insertions). [↩]
OpenEdition vous propose de citer ce billet de la manière suivante :
Hippolyte Souvay (13 octobre 2023). Accéder au plein texte dans la minute : l’emploi des méthodes HTR dans une démarche d’histoire computationnelle. Digital Humanities à l'Institut historique allemand. Consulté le 8 octobre 2024 à l’adresse https://doi.org/10.58079/nkzt