Files
Aivanov_scan_ogc/bench_v2_report.md
Dom b6dd9ff1df chore(bench): résultats V2 et rapports de benchmarking
Snapshot des 18 JSONs produits par le pipeline V2 (Qwen2.5-VL-3B +
checkboxes densité + validation ATIH), utiles au collaborateur comme
référence de ce que la chaîne actuelle produit.

Rapports :
- bench_v2_report.md       : comparaison V2 vs legacy docTR+VLM
                             (couverture, divergences, régressions
                             notables sur codage_reco et praticien).
- validation_report.md     : résumé de la validation ATIH sur les 18
                             JSONs (131/149 → 140/149 codes valides
                             après fix suffixes `*` et `+N`, 0
                             incohérence GHM↔GHS, 8 suggestions de
                             correction OCR).

Script de comparaison :
- bench_v11_vs_legacy.py   : tableau d'accord champ par champ entre
                             un run du pipeline (output/v2/) et les
                             JSONs legacy (output/).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 15:06:30 +02:00

3.5 KiB
Raw Blame History

Bench V2 (Qwen2.5-VL-3B) vs V0 legacy — 18 dossiers OGC 2018

Bench terminé (18/18 JSONs dans output/v2/, 0 parse_error, 0 truncated_loop). Temps VLM cumulé 495 s27.5 s / dossier sur 6 pages. Legacy non-GT : les chiffres ci-dessous mesurent l'écart, pas la justesse absolue.

Couverture & accord (page recueil)

Champ V2 extr. Legacy extr. Accord (both) Diffs
n_ogc / finess / date_debut_controle 100% 94% 100% 0
etablissement / dates_sejour 100% 94% 94% 1
codage_etab.dp 100% 94% 76% 4
codage_etab.dp_libelle 94% 94% 69% 5
codage_etab.dr 77% 38% 20% 4
codage_reco.dp 27% 94% 25% 3
ghm_etab / ghs_etab 100% 8388% 8187% 23
ghm_reco / ghs_reco 100% 77% 93% 1
recodage_impactant 100% 88% 75% 4
ghs_injustifie 100% 66% 42% 7
accord_desaccord 100% 94% 82% 3
praticien_conseil 88% 94% 47% 8

DAS : etab 31/47 récupérés (66%), reco 5/41 (12%).

Audit visuel — 3 divergences codage_reco.dp

Dossier Legacy V2 Réalité (image) Gagnant
OGC 20 D274 D374 D374 V2 (legacy fautif)
OGC 66 C780 C07 (copie etab) C780 Legacy
OGC 74 B991 A099 (copie etab) ≈B991 Legacy

Pattern : V2 laisse vide (13/18) ou recopie codage_etab.dp (3/18) au lieu de lire la colonne droite.

Top 5 améliorations V2

  1. GHM/GHS reco 100% vs 77% couverture (+4 dossiers).
  2. Corrections OCR crédibles : OGC 27 1652 (invalide CIM-10) → I652 ; OGC 66 CO7C07.
  3. Zéro parse error / JSON toujours bien formé (vs boucles DAS tronquées en legacy).
  4. codage_etab.dr mieux rempli : 77% vs 38%.
  5. Entête 100% stable (finess, dates, n_ogc, étab) — plus aucun rateau.

Top 3 régressions V2

  1. codage_reco.* sous-extrait : dp 27% vs 94%, DAS reco 12% de récupération. La colonne Recodage est structurellement ignorée.
  2. praticien_conseil halluciné : « DR VIGNAU » dans 15/18 dossiers, y compris où legacy lit clairement PIAU, POSE CATHERINE, Masson. Biais fréquentiel.
  3. ghs_injustifie non structuré : renvoie le libellé complet « 0 SE 1 2 3 4 ATU FFM FSD » au lieu de la case cochée (7 désaccords).

Verdict

V2 n'est PAS prêt à remplacer V0 en l'état. Les champs d'entête, GHM/GHS et DP etab progressent clairement, mais la colonne Recodage — cœur métier du contrôle T2A — est quasi-ignorée. Déployer perdrait l'information la plus utile du dossier. Blocages : (a) extraction codage_reco.*, (b) hallucination praticien_conseil, (c) ghs_injustifie non structuré.

Actions priorisées

  1. P0 — Prompt recueil avec colonne Recodage explicite : few-shot montrant les deux colonnes (Codage étab | Recodage), demander séparément codage_reco.{dp,dr,das}. Tester un crop ciblé demi-page droite avec passe dédiée.
  2. P1 — Anti-hallucination praticien_conseil : contrainte prompt (« si illisible, chaîne vide, ne jamais deviner ») + éventuelle passe OCR manuscrit sur crop bas de page. Valider que VIGNAU ne redevient pas défaut.
  3. P2 — Structurer ghs_injustifie via checkboxes.py (case cochée, pas libellé). Au passage corriger pipeline/persist.py : ocr_model="Qwen/Qwen2.5-VL-3B-Instruct", pipeline_version="v2" (actuellement tag "GLM-OCR" obsolète dans _meta).