refactor: externaliser DPI labels et companion blacklist (modifiables sans recompiler)

Suite de l'externalisation des règles. Trois listes étaient codées en dur dans
anonymizer_core_refactored_onnx.py et impossibles à modifier par les
établissements sans recompiler :

- _NEVER_MASK_AS_NAME (12 entrées) — labels DPI structurels
- _DPI_LABELS_BLACKLIST (14 entrées, doublon partiel du précédent)
- _COMPANION_BLACKLIST (~75 entrées) — spécialités, labos pharma, mots ambigus

Les deux premières fusionnées dans data/dpi_labels_blacklist.txt (11 entrées
uniques, comparaison case-insensitive). La troisième dans
data/companion_blacklist.txt (75 entrées, comparaison uppercase).

Ajout de deux clés YAML pour enrichissement par établissement :
- additional_dpi_labels (ex: "Service", "Statut")
- additional_companion_blacklist (ex: spécialités locales)

Les 3 niveaux cumulatifs habituels s'appliquent : code (vide) → fichiers data/
→ YAML config. Chargement au démarrage avec log INFO du nombre d'entrées.

Test trackare-18007562-23054899 : 122 hits, 0 régression, 0 DPI label masqué
comme NOM.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-14 10:26:18 +02:00
parent b5058b9c4b
commit 59acf390f4
4 changed files with 169 additions and 40 deletions

View File

@@ -72,6 +72,20 @@ additional_villes_blacklist: []
# Exemple :
# - "VOTRE_VILLE"
# Labels DPI supplémentaires à ne jamais masquer comme noms
# (complète data/dpi_labels_blacklist.txt)
# Utiliser pour : titres de colonnes, en-têtes de sections, libellés de champs
additional_dpi_labels: []
# Exemple :
# - "Service"
# - "Statut"
# Termes en MAJUSCULES à ne jamais propager comme noms compagnons
# (complète data/companion_blacklist.txt — spécialités, labos pharma, mots ambigus)
additional_companion_blacklist: []
# Exemple :
# - "VOTRE_SPECIALITE"
flags:
case_insensitive: true
unicode_word_boundaries: true