presidio modulaire
This commit is contained in:
44
conf/recognizers/PII/belgian/addresses.yaml
Normal file
44
conf/recognizers/PII/belgian/addresses.yaml
Normal file
@@ -0,0 +1,44 @@
|
||||
# Recognizer pour adresses belges complètes
|
||||
recognizer_registry:
|
||||
recognizers:
|
||||
- name: BelgianAddressRecognizer
|
||||
supported_language: fr
|
||||
supported_entity: BE_ADDRESS
|
||||
patterns:
|
||||
# Pattern principal : numéro + rue + code postal + ville (SANS contexte)
|
||||
- name: Adresse complète avec numéro devant
|
||||
regex: "\\b\\d{1,4}[A-Za-z]?\\s+(?:Avenue|Rue|Boulevard|Chaussée|Place|Quai|Impasse|Drève|Clos|Allée)\\s+(?:de\\s+la\\s+|de\\s+|du\\s+|des\\s+|d'|la\\s+|le\\s+)?[A-ZÀ-Ÿ][a-zà-ÿ'-]+(?:\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]+)*\\s*,\\s*[1-9]\\d{3}\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]+(?:\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]+)*"
|
||||
score: 1.0
|
||||
|
||||
# Pattern avec lookbehind positif pour exclure "demeurant" de la capture
|
||||
- name: Adresse après contexte demeurant
|
||||
regex: "(?<=\\bdemeurant\\s)\\d{1,4}[A-Za-z]?\\s+(?:Avenue|Rue|Boulevard|Chaussée|Place|Quai|Impasse|Drève|Clos|Allée)\\s+(?:de\\s+la\\s+|de\\s+|du\\s+|des\\s+|d'|la\\s+|le\\s+)?[A-ZÀ-Ÿ][a-zà-ÿ'-]+(?:\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]+)*\\s*,\\s*[1-9]\\d{3}\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]+(?:\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]+)*"
|
||||
score: 1.0
|
||||
|
||||
# Pattern avec lookbehind pour autres contextes
|
||||
- name: Adresse après contexte résidant
|
||||
regex: "(?<=\\b(?:résidant|domicilié|habite|situé)\\s)\\d{1,4}[A-Za-z]?\\s+(?:Avenue|Rue|Boulevard|Chaussée|Place|Quai|Impasse|Drève|Clos|Allée)\\s+(?:de\\s+la\\s+|de\\s+|du\\s+|des\\s+|d'|la\\s+|le\\s+)?[A-ZÀ-Ÿ][a-zà-ÿ'-]+(?:\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]+)*\\s*,\\s*[1-9]\\d{3}\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]+(?:\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]+)*"
|
||||
score: 1.0
|
||||
|
||||
# Pattern avec lookbehind pour contexte bureaux
|
||||
- name: Adresse après contexte bureaux
|
||||
regex: "(?<=\\b(?:dans les bureaux situés|siège social situé)\\s)\\d{1,4}[A-Za-z]?\\s+(?:Avenue|Rue|Boulevard|Chaussée|Place|Quai|Impasse|Drève|Clos|Allée)\\s+(?:de\\s+la\\s+|de\\s+|du\\s+|des\\s+|d'|la\\s+|le\\s+)?[A-ZÀ-Ÿ][a-zà-ÿ'-]+(?:\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]+)*\\s*,\\s*[1-9]\\d{3}\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]+(?:\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]+)*"
|
||||
score: 0.9
|
||||
|
||||
# Pattern alternatif : rue + numéro + ville (format classique)
|
||||
- name: Adresse format classique
|
||||
regex: "\\b(?:Avenue|Rue|Boulevard|Chaussée|Place|Quai|Impasse|Drève|Clos|Allée)\\s+(?:de\\s+la\\s+|de\\s+|du\\s+|des\\s+|d'|la\\s+|le\\s+)?[A-ZÀ-Ÿ][a-zà-ÿ'-]+(?:\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]+)*(?:\\s*,?\\s*\\d{1,4}[A-Za-z]?)?\\s*,\\s*[1-9]\\d{3}\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]+(?:\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]+)*"
|
||||
score: 0.8
|
||||
|
||||
context:
|
||||
[
|
||||
"demeurant",
|
||||
"résidant",
|
||||
"domicilié",
|
||||
"habite",
|
||||
"situé au",
|
||||
"sis à",
|
||||
"dans les bureaux situés",
|
||||
"siège social",
|
||||
"adresse",
|
||||
]
|
||||
26
conf/recognizers/PII/belgian/documents.yaml
Normal file
26
conf/recognizers/PII/belgian/documents.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
# Recognizer pour documents belges
|
||||
recognizer_registry:
|
||||
recognizers:
|
||||
- name: BelgianIDCardRecognizer
|
||||
supported_language: fr
|
||||
supported_entity: BE_ID_CARD
|
||||
patterns:
|
||||
- name: Carte d'identité belge
|
||||
regex: "\\b[0-9]{3}\\-[0-9]{7}\\-[0-9]{2}\\b"
|
||||
score: 0.95
|
||||
- name: eID compact
|
||||
regex: "\\b[0-9]{12}\\b"
|
||||
score: 0.8
|
||||
context: ["carte d'identité", "eID", "identiteitskaart", "pièce d'identité"]
|
||||
|
||||
- name: BelgianPassportRecognizer
|
||||
supported_language: fr
|
||||
supported_entity: BE_PASSPORT
|
||||
patterns:
|
||||
- name: Passeport belge
|
||||
regex: "\\b[A-Z]{2}[0-9]{6}\\b"
|
||||
score: 0.95
|
||||
- name: Passeport avec espaces
|
||||
regex: "\\b[A-Z]{2}\\s[0-9]{6}\\b"
|
||||
score: 0.9
|
||||
context: ["passeport", "passport", "paspoort", "document de voyage"]
|
||||
25
conf/recognizers/PII/belgian/national_register.yaml
Normal file
25
conf/recognizers/PII/belgian/national_register.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
# Recognizer pour numéro de registre national belge
|
||||
recognizer_registry:
|
||||
recognizers:
|
||||
- name: BelgianNRNRecognizer
|
||||
supported_language: fr
|
||||
supported_entity: BE_NATIONAL_REGISTER_NUMBER
|
||||
patterns:
|
||||
- name: NRN avec points et tiret
|
||||
regex: "\\b[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}-[0-9]{3}\\.[0-9]{2}\\b"
|
||||
score: 1.0
|
||||
- name: NRN compact
|
||||
regex: "\\b[0-9]{11}\\b"
|
||||
score: 0.7
|
||||
- name: NRN avec espaces
|
||||
regex: "\\b[0-9]{2}\\s[0-9]{2}\\s[0-9]{2}\\s[0-9]{3}\\s[0-9]{2}\\b"
|
||||
score: 0.8
|
||||
context:
|
||||
[
|
||||
"registre national",
|
||||
"numéro national",
|
||||
"NN",
|
||||
"RN",
|
||||
"identité",
|
||||
"carte d'identité",
|
||||
]
|
||||
44
conf/recognizers/PII/belgian/phones.yaml
Normal file
44
conf/recognizers/PII/belgian/phones.yaml
Normal file
@@ -0,0 +1,44 @@
|
||||
# Recognizer pour numéros de téléphone belges
|
||||
recognizer_registry:
|
||||
recognizers:
|
||||
- name: BelgianPhoneRecognizer
|
||||
supported_language: fr
|
||||
supported_entity: BE_PHONE_NUMBER
|
||||
patterns:
|
||||
# Patterns avec contexte Tel: et Tél:
|
||||
- name: Téléphone fixe avec contexte Tel
|
||||
regex: '(?<=Tel\s*:\s*)0[1-9](?:[./\s]?\d{2,3}){3}(?=\s|\)|$|[.,;])'
|
||||
score: 0.99
|
||||
- name: Téléphone fixe avec contexte Tél
|
||||
regex: '(?<=Tél\s*:\s*)0[1-9](?:[./\s]?\d{2,3}){3}(?=\s|\)|$|[.,;])'
|
||||
score: 0.99
|
||||
- name: Mobile avec contexte Tel
|
||||
regex: '(?<=Tel\s*:\s*)04[0-9]{2}[./\s]?[0-9]{2}[./\s]?[0-9]{2}[./\s]?[0-9]{2}(?=\s|\)|$|[.,;])'
|
||||
score: 0.99
|
||||
- name: Mobile avec contexte Tél
|
||||
regex: '(?<=Tél\s*:\s*)04[0-9]{2}[./\s]?[0-9]{2}[./\s]?[0-9]{2}[./\s]?[0-9]{2}(?=\s|\)|$|[.,;])'
|
||||
score: 0.99
|
||||
# Patterns généraux (sans contexte spécifique)
|
||||
- name: Téléphone fixe belge
|
||||
regex: '(?<!BCE\s*:?\s*)\b0[1-9](?:[./\s]?\d{2,3}){3}(?=\b|\)|$|[.,;])(?!.*BCE)'
|
||||
score: 0.95
|
||||
- name: Mobile belge
|
||||
regex: '\b04[0-9]{2}[./\s]?[0-9]{2}[./\s]?[0-9]{2}[./\s]?[0-9]{2}(?=\b|\)|$|[.,;])'
|
||||
score: 0.98
|
||||
- name: International belge
|
||||
regex: '\+32\s?[1-9](?:[./\s]?\d{2,3}){3}(?=\b|\)|$|[.,;])'
|
||||
score: 0.99
|
||||
- name: Numéro vert belge
|
||||
regex: '\b0800[./\s]?[0-9]{2}[./\s]?[0-9]{3}(?=\b|\)|$|[.,;])'
|
||||
score: 0.9
|
||||
context:
|
||||
[
|
||||
"Tel",
|
||||
"Tél",
|
||||
"téléphone",
|
||||
"gsm",
|
||||
"mobile",
|
||||
"portable",
|
||||
"appeler",
|
||||
"joindre",
|
||||
]
|
||||
Reference in New Issue
Block a user