Un modèle qui apprend à lire les vieilles écritures

Tout part d'un prénom illisible sur un acte de ma famille. Plutôt que de me contenter d'un gros modèle généraliste, j'en entraîne un, petit et spécialisé, de bout en bout, et je le mesure honnêtement.

L'essentiel

Lire une photographie d'acte manuscrit, puis en extraire les informations utiles (les époux, leurs parents, métiers, la date, le lieu) sous forme structurée. Un modèle maison, léger, entraîné surtout sur des actes synthétiques, comparé sans tricher à un gros modèle généraliste.

Statut : en cours France et Espagne 314 pages réelles annotées 12 informations extraites open source, MIT coût nul pour le visiteur
Entrée : un acte manuscrit
Charles Louis Itsweire, cocher, âgé de vingt neuf ans, né à Winnezeele (Nord), fils de Henri Itsweire, cultivateur, et de Rose Deleu, sans profession, épouse le vingt trois septembre à Paris...
→
Sortie : les informations, structurées
{
  "epoux_prenom": "Charles Louis",
  "epoux_nom":    "Itsweire",
  "epoux_metier": "cocher",
  "pere_epoux":   "Henri Itsweire",
  "mere_epoux":   "Rose Deleu",
  "date":         "vingt trois septembre",
  "lieu":         "Paris"
}

Exemple tiré des annotations M-POPP (vérité terrain), pour montrer le format d'entrée et de sortie. Ce n'est pas une prédiction du modèle.

Le problème

Sur un acte rapporté par ma famille, un prénom se lit mal : Abdellah, ou Abdallah ? Les archives d'état civil sont numérisées par millions, mais restent des images. Pour retrouver et recouper des actes, il faut encore les déchiffrer à la main, un par un.

Les gros modèles de vision actuels lisent déjà très bien l'imprimé et étonnamment bien le manuscrit. Mais sur ces écritures anciennes, aux mises en page changeantes, dans deux langues, ils se trompent encore, et surtout on ne sait pas exactement ce qu'ils valent sur ce cas précis. D'où l'idée d'un modèle dédié, dont je maîtrise l'entraînement et que je peux mesurer.

La démarche

Le chemin, impasses comprises. D'abord tester les modèles généralistes pour avoir une référence honnête. Ensuite chercher les vrais jeux de données du domaine, et il y en a peu : je pars de M-POPP, des actes de mariage parisiens annotés par des chercheurs. Comme il est petit, je construis un générateur d'actes synthétiques, en français et en espagnol, pour entraîner à grande échelle. Enfin j'affine le modèle sur les vrais actes, et je compare.

Protocole de comparaison. Même jeu de test que pour le généraliste, jamais vu à l'entraînement. Séparation par page, aucune fuite. Mêmes métriques pour tous : taux d'erreur caractère et mot pour la lecture, précision, rappel et F1 par information pour l'extraction. On rapporte aussi les échecs.

Les données

Une seule source réelle, choisie parce qu'elle colle exactement à la tâche. Le volume viendra du générateur synthétique, y compris pour l'espagnol.

JeuM-POPP (INSA Rouen, projet EXO-POPP)
Natureactes de mariage parisiens manuscrits, 1880 à 1940
Pages annotées314
Découpage250 entraînement · 32 validation · 32 test
LicenceCC-BY 4.0
Modèles de base envisagésFlorence-2-base · Qwen2-VL-2B

Les douze informations extraites de chaque acte :

datelieu époux : prénomépoux : nomépoux : métier épouse : prénomépouse : nomépouse : métier père de l'épouxmère de l'époux père de l'épousemère de l'épouse

Les résultats

À venir

Le modèle n'est pas encore entraîné, donc aucun score n'est affiché ici. Ce serait malhonnête d'en inventer. À la place, voici où en est le projet, très concrètement.

Fait

  • Décodage du format d'annotation de M-POPP
  • Lecture et harmonisation des 314 pages
  • Jeu de données commun aux futures sources
  • Métriques testées : erreur caractère, F1 par information

En cours

  • Générateur d'actes synthétiques, français et espagnol
  • Pré-entraînement puis affinage sur le réel

Prochaines étapes

  • Évaluation comparée, maison contre généraliste
  • Score par information, sur les 32 pages de test
  • Un cas de réussite et un cas d'échec, montrés tels quels

Dernière mise à jour : juillet 2026

Limites et honnêteté

Le jeu de test ne fait que 32 pages : les scores, quand ils arriveront, seront à lire avec prudence, avec un intervalle de confiance large. L'espagnol sera couvert par des actes synthétiques, mais non évalué sur du réel, faute d'un jeu annoté accessible. Le domaine est borné : des actes de mariage manuscrits d'une période et de régions données, pas n'importe quel manuscrit. Ces limites ne sont pas des détails, elles font partie du projet.

Détails techniques

Architecture

La tâche impose un modèle qui lit une page entière et en sort directement le texte balisé, pas un système ligne à ligne. On vise donc un petit modèle vision-langage, Florence-2-base ou Qwen2-VL-2B, affiné pour produire le texte puis les douze informations.

Annotations

M-POPP encode les informations par des symboles placés après chaque mot. Un module maison les traduit vers le jeu commun des douze informations, ce qui alimente directement les métriques d'extraction. Tout est reproductible depuis les carnets Colab et vérifié par des tests automatiques.

Stockage

Trois espaces gratuits, chacun son rôle, rien sur un disque personnel : Colab pour entraîner, Hugging Face pour héberger le modèle et le jeu de données, GitHub pour le code et les résultats. Les données synthétiques sont générées à la volée, aucun dossier lourd à conserver.