Spaces:
Sleeping
Sleeping
File size: 4,518 Bytes
1766da1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | # 01 — Registres paroissiaux XVIIᵉ-XVIIIᵉ siècle
> 🎓 **Cas d'école** — scénario illustratif. Le corpus, les chiffres et
> l'institution sont fictifs mais conçus pour être réalistes (calibrés
> sur des projets décrits dans la littérature DH).
## Contexte
| | |
|---|---|
| Institution | Service d'archives départementales d'une métropole française |
| Projet | Numérisation et indexation plein-texte de 80 000 pages de registres |
| | de baptêmes-mariages-sépultures (BMS) du XVIIᵉ au XVIIIᵉ siècle |
| Corpus de benchmark | 200 pages échantillonnées sur 12 paroisses |
| Langue | Français pré-classique, formules latines récurrentes |
| Écriture | Mains de scribes paroissiaux, qualité variable, cursive courante |
| GT disponible | 200 pages transcrites par 3 archivistes vacataires |
| Conventions | Diplomatique strict (préservation `ſ`, `u`/`v`, abréviations) |
| Budget annuel | 15 000 € pour les coûts d'inférence sur 4 ans |
## Question
> Quel moteur (ou pipeline) retenir pour traiter les 80 000 pages dans le
> budget alloué, en privilégiant le rappel des **noms propres** (objectif
> métier : indexer les actes pour la recherche généalogique) ?
## Métriques regardées en priorité
L'équipe a ouvert le rapport Picarones et consulté **dans cet ordre** :
1. **Synthèse factuelle en tête** — pour identifier les moteurs candidats
dans le groupe de tête statistique. Le CDD (Friedman-Nemenyi) montrait
que `pero_ocr`, `tesseract → claude-haiku-4-5` et `tesseract` étaient
indiscernables au seuil α = 0,05.
2. **Vue Pareto coût/qualité** (axe coût €) — pour exclure les options
trop chères pour le budget. `gpt-4o` en zero-shot, malgré un CER
compétitif, était à ×8 le coût de `claude-haiku-4-5`.
3. **Score de difficulté** stratifié par paroisse — pour vérifier qu'aucun
moteur ne s'effondrait sur les paroisses aux mains les plus cursives.
`pero_ocr` y excellait, `tesseract` seul s'effondrait.
4. **Taxonomie des erreurs (vue Caractères)** — l'équipe a regardé
spécifiquement la classe `abbreviation_error` puisque les actes BMS
utilisent des abréviations latines fréquentes (`obijt`, `bapt.`).
`tesseract → claude-haiku-4-5` produisait 2× moins d'erreurs
d'abréviation que `tesseract` seul (le LLM les développait correctement).
## Métriques **non** regardées
- Le CER global comme critère unique. L'équipe savait par expérience que
les actes BMS sont des textes courts et formulaires : un CER de 8 %
peut être acceptable si les noms propres et les dates sont préservés.
- Le WER : trop sensible à la segmentation, sans valeur ajoutée par
rapport au CER pour leur usage.
## Verdict
**Pipeline retenu** : `tesseract → claude-haiku-4-5` en mode
`post_correction_texte`.
**Arguments** :
- Coût estimé : 80 000 × 0,80 €/1000 = **64 €** (budget largement
respecté). À comparer aux 12 000 € de `gpt-4o` en zero-shot.
- CER médian : 4,2 % [3,8–4,7] (IC 95 % bootstrap), dans le groupe de
tête statistique du CDD.
- Profil d'erreurs favorable aux noms propres.
- Robuste sur la stratification par paroisse (pas d'effondrement sur les
paroisses aux mains difficiles).
## Limites
- L'évaluation a porté sur 200 pages, soit 0,25 % du corpus cible. Une
validation sur 1 000 pages additionnelles est prévue après mise en
production.
- L'IC bootstrap suppose l'indépendance entre documents — peut-être
optimiste car les pages d'une même paroisse partagent le même scribe.
- Le coût de `claude-haiku-4-5` peut évoluer pendant les 4 ans du projet.
L'équipe a prévu un avenant tarifaire dans la convention.
- L'empreinte carbone n'a pas été incluse comme critère décisif (mode
expérimental dans Picarones), mais l'équipe a noté qu'un OCR cloud
émet ~×30 plus de CO₂ qu'un OCR local côté France.
## Reproductibilité
```yaml
# picarones-config.yml
corpus: ./benchmarks/bms-200pages/
engines:
- tesseract: { lang: fra+lat, psm: 6 }
- pero_ocr: { model: medieval-french-2024 }
- pipeline:
ocr: tesseract
llm: claude-haiku-4-5
mode: post_correction_texte
prompt: correction_early_modern_french.txt
- pipeline:
ocr: null
llm: gpt-4o
mode: zero_shot
prompt: zero_shot_imprime_ancien.txt
normalization: early_modern_french
report:
lang: fr
output: rapport-bms.html
```
Reprise possible via `picarones run --partial-dir /tmp/picarones-bms/`.
|