feat: dictionnaire CIM-10 complet (10 893 codes) + robustesse regex

- Nouveau module cim10_dict.py : extraction depuis metadata.json FAISS,
  lookup intelligent avec normalisation Unicode (accents, trémas, apostrophes)
- cim10_extractor : _lookup_cim10 utilise le dictionnaire complet,
  _find_dp normalisé, _find_das élargi à 20 patterns (cardio, métabo,
  infectieux, rénal...), biologie +6 tests (TGO/TGP, Hb, créatinine),
  traitements sans limite de lignes
- document_classifier : scoring pondéré, classify_with_confidence(), scan 5000 chars
- CLI --build-dict pour regénérer data/cim10_dict.json
- 32 nouveaux tests unitaires (124 total, 0 échec)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
dom
2026-02-11 08:09:32 +01:00
parent 037d255aa0
commit 12f4479cd2
6 changed files with 608 additions and 91 deletions

View File

@@ -163,8 +163,18 @@ def main(input_path: str | None = None) -> None:
action="store_true",
help="Désactiver l'enrichissement RAG (FAISS + Ollama)",
)
parser.add_argument(
"--build-dict",
action="store_true",
help="Générer le dictionnaire CIM-10 depuis metadata.json et quitter",
)
args = parser.parse_args()
if args.build_dict:
from .medical.cim10_dict import build_dict
build_dict()
return
if args.no_ner:
# Monkey-patch pour désactiver NER
from .anonymization import ner_anonymizer