Commit Graph

5 Commits

Author SHA1 Message Date
f104c0bce0 fix(c8): remove 'grand' from stopwords (was filtering INSEE name)
Le mot "grand" en stopword filtrait les noms INSEE valides
comme GRAND, BILLON-GRAND lors du masquage NER. Sur le corpus
audit_30 : 17 fuites du nom "GRAND" dans
trackare-05012965-23060770.

Fix : suppression de la ligne (pipeline INSEE exige contexte
fort pour masquer, "grand" minuscule isolé ne sera pas FP).

Tests à venir : tests/unit/test_c8_grand_regression.py (Qwen)
Ref: docs/coordination/inbox/for-dom/2026-05-29_qwen_analyse-regression-grand.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-29 17:58:54 +02:00
1799878490 fix: DR. Ute (3 chars), SAINT-GERMES composé, SODIUM MACO/BAX pharma
- force_names bypass le seuil 4 chars (prénoms courts après Dr/Mme : Ute, Eva)
- SAINT seul = bloqué, SAINT-xxx composé = accepté comme nom
- Labos pharma ajoutés aux stop-words + companion blacklist :
  MACO, AGUETTANT, RENAUDIN, ARROW, BIOGARAN, MYLAN, TEVA, ZENTIVA
- Score : 99.8/100 (amélioration, "Sie" corrigé)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 15:17:37 +02:00
f5adf17e1a Revert "refactor: réduction stop-words manuels — NER cross-validation suffit"
This reverts commit 773d470e8e.
2026-03-31 11:04:51 +02:00
773d470e8e refactor: réduction stop-words manuels — NER cross-validation suffit
La cross-validation NER (_cross_validate_name_candidates) gère désormais
les décisions contextuelles nom/terme-médical. Les stop-words purement
médicaux sont supprimés :

- data/stopwords_manuels.txt : 1307 → 233 entrées (uniquement les mots
  ambigus qui sont aussi des noms/prénoms INSEE)
- _MEDICAL_STOP_WORDS_SET hardcodé : ~400 → 80 entrées essentielles
  (mots courts, formes galéniques, titres hospitaliers)
- Les enrichissements BDPM (~7300), edsnlp (~2000) et fichier externe
  sont conservés tels quels

Score qualité inchangé : 100/100 (A+), 0 fuite, 0 faux positif.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 09:26:54 +02:00
7bc86406ba feat: externalisation des listes — stop-words et villes modifiables sans code
Toutes les listes de règles sont maintenant modifiables sans toucher
au code Python :

Fichiers de données (data/) :
  - stopwords_manuels.txt : 1307 termes médicaux/techniques
  - villes_blacklist.txt : 117 communes à ne pas matcher
  - medicaments_stopwords.txt : 7312 médicaments BDPM (existant)
  - Chargés automatiquement au démarrage

Config YAML (dictionnaires.yml) :
  - additional_stopwords : mots supplémentaires par établissement
  - additional_villes_blacklist : villes supplémentaires
  - whitelist_phrases : phrases à ne jamais anonymiser
  - force_mask_terms : mots à toujours masquer

Chaîne de chargement : code dur → fichiers data/ → YAML config
Les 3 niveaux se cumulent (union).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 07:45:42 +02:00