diff --git a/conf/default.yaml b/conf/default.yaml index 7b005f9..0c0db8c 100644 --- a/conf/default.yaml +++ b/conf/default.yaml @@ -79,30 +79,33 @@ recognizer_registry: context: ["iban", "compte"] # --- DÉTECTEUR SWIFT CORRIGÉ --- + # --- DÉTECTEUR SWIFT CORRIGÉ ET VALIDE --- # Nous écrasons le détecteur par défaut de Presidio ("SwiftCodeRecognizer") # avec notre propre version, plus intelligente et contextuelle. - - name: SwiftCodeRecognizer # <-- NOM EXACT du détecteur Presidio pour l'écraser + - name: SwiftCodeRecognizer # Nom exact pour écraser le détecteur par défaut supported_language: fr supported_entity: SWIFT_CODE + + # LA CORRECTION EST ICI : La deny_list est au niveau du Recognizer, pas du Pattern. + # Ces mots, même s'ils correspondent à une regex ci-dessous, seront ignorés. + deny_list: [ + "CONTRAT", "DOCUMENT", "DOCUMENTS", "CONSTITUE", "D'INVESTISSEMENT", + "UTILISANT", "DEVRAIENT", "ENVISAGER", "CONSEIL", "QUALIFIÉS", "ÉVALUER", + "IMPLICATIONS", "ACCUMULE", "OBLIGATIONS", "FINANCEMENT", "EXCLUANT", + "CONVERTIBLE", "INSTRUMENTS", "CIRCULATION", "ENTREPRISES", "COMMERCE", + "ÉVÉNEMENT", "PAYABLES", "INCLUANT", "JURIDICTION", "INFORMATION", + "FOURNIRA", "DISPOSITIONS", "RELATIFS", "RELATION", "PRESTATAIRE", + "SERVICES", "RECONNAÎT" + ] + + # Les patterns sont définis séparément. patterns: - - name: BIC/SWIFT Code with context and deny list + - name: BIC/SWIFT Code with context # La regex est correcte, mais son score est intentionnellement très bas. regex: "\\b[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}(?:[A-Z0-9]{3})?\\b" score: 0.01 # Le match seul ne vaut presque rien. - # LISTE D'EXCLUSION : Ces mots, même s'ils correspondent à la regex, - # ne seront JAMAIS considérés comme un SWIFT code. - deny_list: [ - "CONTRAT", "DOCUMENT", "DOCUMENTS", "CONSTITUE", "D'INVESTISSEMENT", - "UTILISANT", "DEVRAIENT", "ENVISAGER", "CONSEIL", "QUALIFIÉS", "ÉVALUER", - "IMPLICATIONS", "ACCUMULE", "OBLIGATIONS", "FINANCEMENT", "EXCLUANT", - "CONVERTIBLE", "INSTRUMENTS", "CIRCULATION", "ENTREPRISES", "COMMERCE", - "ÉVÉNEMENT", "PAYABLES", "INCLUANT", "JURIDICTION", "INFORMATION", - "FOURNIRA", "DISPOSITIONS", "RELATIFS", "RELATION", "PRESTATAIRE", - "SERVICES", "RECONNAÎT" - ] - - # Le contexte reste essentiel pour valider une détection. + # Le contexte reste essentiel pour valider une détection qui n'est pas dans la deny_list. context: ["bic", "swift", "code swift"] - name: SmartOrganizationRecognizer