From aa3db69a9b8be87037c2e3aa1106922ffc1719bd Mon Sep 17 00:00:00 2001 From: Domi31tls Date: Wed, 15 Apr 2026 09:40:08 +0200 Subject: [PATCH] fix(regex): RE_HOPITAL_VILLE accepte les ALL-CAPS (CENTRE HOSPITALIER) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le pattern type utilisait [Cc]entre\s+[Hh]ospitalier : seule la 1re lettre de chaque mot était ambidextre, la suite devait être en minuscules. "CENTRE HOSPITALIER COTE BASQUE" (tout majuscule) échappait → compensé par regex YAML force_mask_regex "Centre\s+Hospitalier\s+…". Fix : utiliser (?i:…) case-insensitive localement sur les sous-motifs "type d'établissement" et "déterminants" (de, du, la…) tout en gardant le nom propre strict (1re lettre majuscule obligatoire). Évite les FP tout en capturant les majuscules complètes. Cas validés : - "Centre Hospitalier de Bayonne" → match (inchangé) - "CENTRE HOSPITALIER COTE BASQUE" → match (nouveau) - "POLYCLINIQUE CÔTE BASQUE SUD" → match (nouveau) - "CLINIQUE SAINT-JEAN" → match (nouveau) - "examen hôpital de Bordeaux" → pas de match (exclusion préservée) Test YAML stripped : CENTRE HOSPITALIER et COTE BASQUE sont maintenant masqués par ETAB (regex/AC) au lieu de force_term. Après ce fix + Fix #4, on peut retirer les regex "Centre\s+Hospitalier…" et "Polyclinique…" du YAML. Non-régression : 122 hits sur trackare-18007562 avec YAML complet. Co-Authored-By: Claude Opus 4.6 (1M context) --- anonymizer_core_refactored_onnx.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/anonymizer_core_refactored_onnx.py b/anonymizer_core_refactored_onnx.py index 905739c..a1ff5b4 100644 --- a/anonymizer_core_refactored_onnx.py +++ b/anonymizer_core_refactored_onnx.py @@ -1055,12 +1055,16 @@ RE_ETABLISSEMENT = re.compile( ) RE_HOPITAL_VILLE = re.compile( r"(?