Update custom_recognizers.py
This commit is contained in:
@@ -1,24 +1,10 @@
|
|||||||
from presidio_analyzer import Pattern, PatternRecognizer
|
from presidio_analyzer import Pattern, PatternRecognizer
|
||||||
|
|
||||||
# Ce fichier définit nos détecteurs personnalisés sous forme de classes Python.
|
|
||||||
# C'est beaucoup plus robuste que le JSON.
|
|
||||||
|
|
||||||
# --- DÉTECTEURS BELGES ---
|
# --- DÉTECTEURS BELGES ---
|
||||||
|
|
||||||
class BelgianNrnRecognizer(PatternRecognizer):
|
class BelgianNrnRecognizer(PatternRecognizer):
|
||||||
"""Détecteur pour le Numéro de Registre National belge."""
|
"""Détecteur pour le Numéro de Registre National belge."""
|
||||||
PATTERNS = [
|
PATTERNS = [Pattern(name="NRN", regex=r"\b(?:[0-9]{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12][0-9]|3[01]))-?\d{3}\.?\d{2}\b", score=1.0)]
|
||||||
Pattern(
|
|
||||||
name="NRN (avec séparateurs)",
|
|
||||||
regex=r"\b(?:[0-9]{2}(?:\.0[1-9]|\.1[0-2])(?:\.0[1-9]|\.[12][0-9]|\.3[01]))-\d{3}\.\d{2}\b",
|
|
||||||
score=1.0,
|
|
||||||
),
|
|
||||||
Pattern(
|
|
||||||
name="NRN (sans séparateurs)",
|
|
||||||
regex=r"\b(?:[0-9]{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12][0-9]|3[01]))\d{5}\b",
|
|
||||||
score=0.8,
|
|
||||||
),
|
|
||||||
]
|
|
||||||
CONTEXT = ["registre national", "nrn", "niss"]
|
CONTEXT = ["registre national", "nrn", "niss"]
|
||||||
SUPPORTED_ENTITY = "BE_NATIONAL_REGISTER_NUMBER"
|
SUPPORTED_ENTITY = "BE_NATIONAL_REGISTER_NUMBER"
|
||||||
|
|
||||||
@@ -27,7 +13,7 @@ class BelgianEnterpriseRecognizer(PatternRecognizer):
|
|||||||
PATTERNS = [Pattern(name="BTW/TVA", regex=r"\bBE\s?0\d{3}\.\d{3}\.\d{3}\b", score=0.95)]
|
PATTERNS = [Pattern(name="BTW/TVA", regex=r"\bBE\s?0\d{3}\.\d{3}\.\d{3}\b", score=0.95)]
|
||||||
CONTEXT = ["numéro d'entreprise", "btw", "tva"]
|
CONTEXT = ["numéro d'entreprise", "btw", "tva"]
|
||||||
SUPPORTED_ENTITY = "BE_ENTERPRISE_NUMBER"
|
SUPPORTED_ENTITY = "BE_ENTERPRISE_NUMBER"
|
||||||
|
|
||||||
# --- DÉTECTEURS RGPD GÉNÉRIQUES ---
|
# --- DÉTECTEURS RGPD GÉNÉRIQUES ---
|
||||||
|
|
||||||
class IbanRecognizer(PatternRecognizer):
|
class IbanRecognizer(PatternRecognizer):
|
||||||
@@ -36,13 +22,18 @@ class IbanRecognizer(PatternRecognizer):
|
|||||||
CONTEXT = ["iban", "compte", "bancaire"]
|
CONTEXT = ["iban", "compte", "bancaire"]
|
||||||
SUPPORTED_ENTITY = "IBAN"
|
SUPPORTED_ENTITY = "IBAN"
|
||||||
|
|
||||||
# Ajoutez ici d'autres classes pour les autres regex si nécessaire...
|
class PhoneRecognizer(PatternRecognizer):
|
||||||
# (Ex: FrenchNIRRecognizer, PhoneRecognizer, etc.)
|
"""Détecteur pour les numéros de téléphone EU."""
|
||||||
|
PATTERNS = [Pattern(name="Phone (EU)", regex=r"\b(?:(?:\+|00)(?:32|33|352)|0)\s?[1-9](?:[\s.-]?\d{2}){3,4}\b", score=0.8)]
|
||||||
|
CONTEXT = ["tel", "téléphone", "gsm"]
|
||||||
|
SUPPORTED_ENTITY = "PHONE_NUMBER"
|
||||||
|
|
||||||
# Liste de tous les reconnaisseurs à charger
|
# ... Ajoutez ici d'autres classes pour les autres regex si nécessaire ...
|
||||||
|
|
||||||
|
# Liste de tous les reconnaisseurs à charger par Presidio
|
||||||
custom_recognizers = [
|
custom_recognizers = [
|
||||||
BelgianNrnRecognizer,
|
BelgianNrnRecognizer,
|
||||||
BelgianEnterpriseRecognizer,
|
BelgianEnterpriseRecognizer,
|
||||||
IbanRecognizer,
|
IbanRecognizer,
|
||||||
# Ajoutez les autres classes de reconnaisseurs ici
|
PhoneRecognizer,
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user