This commit is contained in:
Biqoz
2025-09-15 19:04:38 +02:00
parent 3e70181b58
commit 3f9c007c9e
46 changed files with 919 additions and 146 deletions

View File

@@ -3,12 +3,18 @@ recognizer_registry:
recognizers:
- name: FrenchAddressRecognizer
supported_language: fr
supported_entity: FR_ADDRESS
supported_entity: ADRESSE_FRANCAISE
patterns:
- name: Adresse française complète
regex: "\\b\\d{1,4}(?:bis|ter|quater)?\\s+(?:rue|avenue|boulevard|place|impasse|allée|chemin|route)\\s+[A-Za-zà-ÿ\\s'-]+,\\s*[0-9]{5}\\s+[A-Za-zà-ÿ\\s'-]+\\b"
- name: Adresse française complète avec virgule
regex: "\\b\\d{1,4}(?:bis|ter|quater)?\\s+(?:rue|avenue|boulevard|place|impasse|allée|chemin|route|square|villa|cité|passage|quai|cours|esplanade)\\s+[A-Za-zà-ÿ\\s'-]+?,\\s*[0-9]{5}\\s+[A-Za-zà-ÿ'-]+(?=\\s*$|\\s*\\n|\\s*-)"
score: 0.95
- name: Code postal français
regex: "\\b[0-9]{5}\\b"
- name: Adresse française sans virgule
regex: "\\b\\d{1,4}(?:bis|ter|quater)?\\s+(?:rue|avenue|boulevard|place|impasse|allée|chemin|route|square|villa|cité|passage|quai|cours|esplanade)\\s+[A-Za-zà-ÿ\\s'-]+?\\s+[0-9]{5}\\s+[A-Za-zà-ÿ'-]+(?=\\s*$|\\s*\\n|\\s*-)"
score: 0.9
- name: Numéro et type de voie
regex: "\\b\\d{1,4}(?:bis|ter|quater)?\\s+(?:rue|avenue|boulevard|place|impasse|allée|chemin|route|square|villa|cité|passage|quai|cours|esplanade)\\s+[A-Za-zà-ÿ\\s'-]{3,30}(?=\\s*[-,]|\\s*$|\\s+[0-9]{5}|\\s*\\n)"
score: 0.65
- name: Code postal français (isolé)
regex: "(?<!\\d{1,4}(?:bis|ter|quater)?\\s+(?:rue|avenue|boulevard|place|impasse|allée|chemin|route|square|villa|cité|passage|quai|cours|esplanade)\\s+[A-Za-zà-ÿ\\s'-]+?,\\s*)\\b[0-9]{5}\\b(?!\\s+[A-Za-zà-ÿ'-]+)"
score: 0.6
context: ["adresse", "domicile", "résidence", "siège social"]

View File

@@ -3,12 +3,18 @@ recognizer_registry:
recognizers:
- name: FrenchIDCardRecognizer
supported_language: fr
supported_entity: FR_ID_CARD
supported_entity: CARTE_IDENTITE_FRANCAISE
patterns:
- name: Numéro CNI nouveau format
- name: Numéro CNI nouveau format (9 chiffres)
regex: "\\b[0-9]{9}\\b"
score: 0.98
- name: Numéro CNI ancien format (12 chiffres)
regex: "\\b[0-9]{12}\\b"
score: 0.85
- name: Numéro CNI avec espaces
score: 0.95
- name: Numéro CNI avec espaces (nouveau)
regex: "\\b[0-9]{3}\\s[0-9]{3}\\s[0-9]{3}\\b"
score: 0.99
- name: Numéro CNI avec espaces (ancien)
regex: "\\b[0-9]{4}\\s[0-9]{4}\\s[0-9]{4}\\b"
score: 0.9
context:
@@ -16,7 +22,7 @@ recognizer_registry:
- name: FrenchPassportRecognizer
supported_language: fr
supported_entity: FR_PASSPORT
supported_entity: PASSEPORT_FRANCAIS
patterns:
- name: Numéro de passeport français
regex: "\\b[0-9]{2}[A-Z]{2}[0-9]{5}\\b"
@@ -28,7 +34,7 @@ recognizer_registry:
- name: FrenchDriverLicenseRecognizer
supported_language: fr
supported_entity: FR_DRIVER_LICENSE
supported_entity: PERMIS_CONDUIRE_FRANCAIS
patterns:
- name: Permis de conduire français
regex: "\\b[0-9]{12}\\b"

View File

@@ -3,7 +3,7 @@ recognizer_registry:
recognizers:
- name: FrenchTaxIDRecognizer
supported_language: fr
supported_entity: FR_TAX_ID
supported_entity: NUMERO_FISCAL_FRANCAIS
patterns:
- name: Numéro fiscal français
regex: "\\b[0-9]{13}\\b"
@@ -15,7 +15,7 @@ recognizer_registry:
- name: FrenchBankAccountRecognizer
supported_language: fr
supported_entity: FR_BANK_ACCOUNT
supported_entity: COMPTE_BANCAIRE_FRANCAIS
patterns:
- name: RIB français
regex: "\\b[0-9]{5}\\s[0-9]{5}\\s[0-9]{11}\\s[0-9]{2}\\b"

View File

@@ -0,0 +1,20 @@
# Recognizer pour numéros de téléphone français
recognizer_registry:
recognizers:
- name: FrenchPhoneRecognizer
supported_language: fr
supported_entity: TELEPHONE_FRANCAIS
patterns:
- name: Téléphone français avec indicatif international
regex: "\\b(?:\\+33|0033|33)\\s?0?[1-9](?:[\\s\\-\\.]?[0-9]{2}){4}\\b"
score: 1.0
- name: Téléphone français format standard
regex: "\\b(?<!\\s)(?<!boulevard\\s)(?<!avenue\\s)(?<!rue\\s)(?<!place\\s)0[1-9](?:[\\s\\-\\.]?[0-9]{2}){4}(?![0-9])(?!\\s[A-Za-z])(?!\\s[A-Z][a-z])\\b"
score: 0.85
- name: Mobile français
regex: "\\b(?<!boulevard\\s)(?<!avenue\\s)(?<!rue\\s)(?<!place\\s)(?:(?:\\+33|0033|33)\\s?0?[67]|0[67])(?:[\\s\\-\\.]?[0-9]{2}){4}(?![0-9])(?!\\s[A-Za-z])(?!\\s[A-Z][a-z])\\b"
score: 0.95
- name: Téléphone avec parenthèses
regex: "\\b\\(0[1-9]\\)(?:[\\s\\-\\.]?[0-9]{2}){4}\\b"
score: 0.9
context: ["téléphone", "tél", "mobile", "portable", "fixe", "numéro"]

View File

@@ -3,7 +3,7 @@ recognizer_registry:
recognizers:
- name: FrenchINSEERecognizer
supported_language: fr
supported_entity: FR_SOCIAL_SECURITY_NUMBER
supported_entity: NUMERO_SECURITE_SOCIALE_FRANCAIS
patterns:
- name: INSEE complet avec espaces
regex: "\\b[12]\\s*[0-9]{2}\\s*(?:0[1-9]|1[0-2])\\s*(?:2[ABab]|[0-9]{2})\\s*[0-9]{3}\\s*[0-9]{3}[\\s]?[0-9]{2}\\b"

View File

@@ -0,0 +1,17 @@
# Recognizer pour numéros de TVA français
recognizer_registry:
recognizers:
- name: FrenchVATRecognizer
supported_language: fr
supported_entity: TVA_FRANCAISE
patterns:
- name: TVA intracommunautaire française
regex: "\\bFR[0-9A-Z]{2}[0-9]{9}\\b"
score: 1.0
- name: TVA avec espaces
regex: "\\bFR\\s[0-9A-Z]{2}\\s[0-9]{3}\\s[0-9]{3}\\s[0-9]{3}\\b"
score: 0.95
- name: Numéro TVA avec contexte
regex: "\\b(?:TVA|tva)\\s*:?\\s*FR[0-9A-Z]{2}[0-9]{9}\\b"
score: 1.0
context: ["TVA", "intracommunautaire", "numéro de TVA", "identification fiscale"]