From 4d336106558c0085dabe3fb9eead0f6841cc7a76 Mon Sep 17 00:00:00 2001 From: Domi31tls Date: Tue, 31 Mar 2026 11:07:59 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20cross-validation=20respecte=20bypass=5Fs?= =?UTF-8?q?topwords=20pour=20les=20noms=20forc=C3=A9s=20(Dr/Mme)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Les noms avec bypass_stopwords=True (contexte Dr/Mme confirmé) sont maintenant toujours acceptés par la cross-validation, même s'ils sont dans les stop-words médicaux (ex: Dr MASSE, Dr GRAND). Note: les fuites "Sie" (3 chars) et "GRAND" (stop-word) existaient déjà avant le refactoring NER-first (score 99.3 identique). Co-Authored-By: Claude Opus 4.6 (1M context) --- anonymizer_core_refactored_onnx.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/anonymizer_core_refactored_onnx.py b/anonymizer_core_refactored_onnx.py index f07a3ca..8056f9b 100644 --- a/anonymizer_core_refactored_onnx.py +++ b/anonymizer_core_refactored_onnx.py @@ -2343,6 +2343,10 @@ def _cross_validate_name_candidates( if strength == "high": # Toujours accepter les champs DPI structurés accepted = True + elif cand.bypass_stopwords: + # Force names (contexte Dr/Mme confirmé) → toujours accepter + # même si c'est un stop-word (ex: Dr MASSE, Dr GRAND) + accepted = True elif strength == "medium": if is_ner_confirmed: accepted = True