new full
This commit is contained in:
24
conf/recognizers/PII/generic/addresses.yaml
Normal file
24
conf/recognizers/PII/generic/addresses.yaml
Normal file
@@ -0,0 +1,24 @@
|
||||
# Recognizer pour adresses postales génériques
|
||||
recognizer_registry:
|
||||
recognizers:
|
||||
- name: GenericAddressRecognizer
|
||||
supported_language: fr
|
||||
supported_entity: ADRESSE
|
||||
patterns:
|
||||
- name: Adresse avec numéro et rue
|
||||
regex: "\\b\\d{1,4}(?:bis|ter|quater)?[A-Za-z]?\\s+(?:rue|avenue|boulevard|place|impasse|allée|chemin|route|quai|square|passage|villa|cité|cours|esplanade|promenade|sentier|voie|lotissement)\\s+[A-ZÀ-Ÿ][a-zà-ÿ\\s'-]{3,30}(?=\\s*[-,]|\\s*$|\\s+[0-9]{4,5}|\\s*\\n)"
|
||||
score: 0.8
|
||||
- name: Code postal générique
|
||||
regex: "\\b(?<!FR[0-9]{2}\\s)(?<![0-9]\\s)[0-9]{4,5}(?!\\s[0-9]{4})(?!\\s[0-9A-Z]{4})\\b"
|
||||
score: 0.6
|
||||
- name: Adresse complète avec ville et virgule
|
||||
regex: "\\b\\d{1,4}(?:bis|ter|quater)?[A-Za-z]?\\s+(?:rue|avenue|boulevard|place|impasse|allée|chemin|route|quai|square|passage|villa|cité|cours|esplanade|promenade|sentier|voie|lotissement)\\s+[A-ZÀ-Ÿ][a-zà-ÿ\\s'-]+?,\\s*[0-9]{4,5}\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]+(?=\\s*$|\\s*\\n|\\s*-)"
|
||||
score: 0.95
|
||||
- name: Adresse complète sans virgule
|
||||
regex: "\\b\\d{1,4}(?:bis|ter|quater)?[A-Za-z]?\\s+(?:rue|avenue|boulevard|place|impasse|allée|chemin|route|quai|square|passage|villa|cité|cours|esplanade|promenade|sentier|voie|lotissement)\\s+[A-ZÀ-Ÿ][a-zà-ÿ\\s'-]+?\\s+[0-9]{4,5}\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]+(?=\\s*$|\\s*\\n|\\s*-)"
|
||||
score: 0.9
|
||||
- name: Adresse simple avec type de voie
|
||||
regex: "\\b(?:rue|avenue|boulevard|place|impasse|allée|chemin|route|quai|square|passage|villa|cité|cours|esplanade|promenade|sentier|voie|lotissement)\\s+[A-ZÀ-Ÿ][a-zà-ÿ\\s'-]{3,30}(?=\\s*[-,]|\\s*$|\\s+[0-9]{4,5}|\\s*\\n)"
|
||||
score: 0.65
|
||||
context:
|
||||
["adresse", "domicile", "résidence", "siège", "demeurant", "résidant"]
|
||||
@@ -11,9 +11,6 @@ recognizer_registry:
|
||||
- name: IBAN compact
|
||||
regex: "\\b[A-Z]{2}[0-9]{2}[0-9A-Z]{12,30}\\b"
|
||||
score: 0.9
|
||||
- name: IBAN belge spécifique
|
||||
regex: "\\bBE[0-9]{2}\\s?[0-9]{4}\\s?[0-9]{4}\\s?[0-9]{4}\\b"
|
||||
score: 0.95
|
||||
- name: IBAN français spécifique
|
||||
regex: "\\bFR[0-9]{2}\\s?[0-9]{4}\\s?[0-9]{4}\\s?[0-9]{4}\\s?[0-9]{4}\\s?[0-9]{3}\\b"
|
||||
score: 0.95
|
||||
|
||||
39
conf/recognizers/PII/generic/credit_cards.yaml
Normal file
39
conf/recognizers/PII/generic/credit_cards.yaml
Normal file
@@ -0,0 +1,39 @@
|
||||
# Recognizer pour numéros de carte de crédit
|
||||
recognizer_registry:
|
||||
recognizers:
|
||||
- name: CreditCardRecognizer
|
||||
supported_language: fr
|
||||
supported_entity: CREDIT_CARD
|
||||
patterns:
|
||||
- name: Visa
|
||||
regex: "\\b4[0-9]{3}\\s?[0-9]{4}\\s?[0-9]{4}\\s?[0-9]{4}\\b"
|
||||
score: 1.0
|
||||
- name: Mastercard
|
||||
regex: "\\b5[1-5][0-9]{2}\\s?[0-9]{4}\\s?[0-9]{4}\\s?[0-9]{4}\\b"
|
||||
score: 1.0
|
||||
- name: American Express
|
||||
regex: "\\b3[47][0-9]{2}\\s?[0-9]{6}\\s?[0-9]{5}\\b"
|
||||
score: 1.0
|
||||
- name: Carte générique 16 chiffres
|
||||
regex: "\\b(?<!FR[0-9]{2}\\s)[0-9]{4}\\s?[0-9]{4}\\s?[0-9]{4}\\s?[0-9]{4}(?!\\s[0-9A-Z]{4}\\s[0-9A-Z]{3})\\b"
|
||||
score: 0.7
|
||||
- name: Carte générique 15 chiffres
|
||||
regex: "\\b[0-9]{4}\\s?[0-9]{6}\\s?[0-9]{5}\\b"
|
||||
score: 0.7
|
||||
- name: Carte avec contexte
|
||||
regex: "\\b(?:carte|card|numéro de carte)\\s*:?\\s*([0-9]{4}\\s?[0-9]{4}\\s?[0-9]{4}\\s?[0-9]{4})\\b"
|
||||
score: 0.9
|
||||
- name: Carte masquée
|
||||
regex: "\\b[0-9]{4}\\s?[*X]{4}\\s?[*X]{4}\\s?[0-9]{4}\\b"
|
||||
score: 0.8
|
||||
context:
|
||||
[
|
||||
"carte",
|
||||
"credit",
|
||||
"crédit",
|
||||
"visa",
|
||||
"mastercard",
|
||||
"amex",
|
||||
"paiement",
|
||||
"CB",
|
||||
]
|
||||
@@ -3,16 +3,22 @@ recognizer_registry:
|
||||
recognizers:
|
||||
- name: EmailRecognizer
|
||||
supported_language: fr
|
||||
supported_entity: EMAIL_ADDRESS
|
||||
supported_entity: ADRESSE_EMAIL
|
||||
patterns:
|
||||
- name: Email standard
|
||||
regex: "\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b"
|
||||
score: 1.0
|
||||
- name: Email obfusqué
|
||||
- name: Email obfusqué avec crochets
|
||||
regex: "\\b[A-Za-z0-9._%+-]+\\s*\\[at\\]\\s*[A-Za-z0-9.-]+\\s*\\[dot\\]\\s*[A-Z|a-z]{2,}\\b"
|
||||
score: 0.8
|
||||
- name: Email avec (at) et (point)
|
||||
regex: "\\b[A-Za-z0-9._%+-]+\\s*\\(at\\)\\s*[A-Za-z0-9.-]+\\s*\\(point\\)\\s*[A-Z|a-z]{2,}\\b"
|
||||
score: 0.7
|
||||
- name: Email avec arobase écrite
|
||||
regex: "\\b[A-Za-z0-9._%+-]+\\s*(?:arobase|at)\\s*[A-Za-z0-9.-]+\\s*(?:point|dot)\\s*[A-Z|a-z]{2,}\\b"
|
||||
score: 0.75
|
||||
- name: Email avec espaces
|
||||
regex: "\\b[A-Za-z0-9._%+-]+\\s+@\\s+[A-Za-z0-9.-]+\\s+\\.\\s+[A-Z|a-z]{2,}\\b"
|
||||
score: 0.9
|
||||
context:
|
||||
["email", "courriel", "mail", "@", "contact", "adresse électronique"]
|
||||
|
||||
32
conf/recognizers/PII/generic/iban.yaml
Normal file
32
conf/recognizers/PII/generic/iban.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
# Recognizer pour numéros IBAN
|
||||
recognizer_registry:
|
||||
recognizers:
|
||||
- name: IBANRecognizer
|
||||
supported_language: fr
|
||||
supported_entity: IBAN
|
||||
patterns:
|
||||
- name: IBAN français
|
||||
regex: "\\bFR[0-9]{2}\\s?[0-9]{4}\\s?[0-9]{4}\\s?[0-9]{4}\\s?[0-9]{4}\\s?[0-9]{4}\\s?[0-9]{3}\\b"
|
||||
score: 1.0
|
||||
- name: IBAN belge
|
||||
regex: "\\bBE[0-9]{2}\\s?[0-9]{4}\\s?[0-9]{4}\\s?[0-9]{4}\\b"
|
||||
score: 1.0
|
||||
- name: IBAN générique européen
|
||||
regex: "\\b[A-Z]{2}[0-9]{2}\\s?(?:[A-Z0-9]{4}\\s?){2,7}[A-Z0-9]{1,4}\\b"
|
||||
score: 0.9
|
||||
- name: IBAN compact
|
||||
regex: "\\b[A-Z]{2}[0-9]{2}[A-Z0-9]{12,30}\\b"
|
||||
score: 0.85
|
||||
- name: IBAN avec contexte
|
||||
regex: "\\b(?:IBAN|iban)\\s*:?\\s*([A-Z]{2}[0-9]{2}\\s?(?:[A-Z0-9]{4}\\s?){2,7}[A-Z0-9]{1,4})\\b"
|
||||
score: 0.95
|
||||
context:
|
||||
[
|
||||
"IBAN",
|
||||
"iban",
|
||||
"compte",
|
||||
"bancaire",
|
||||
"virement",
|
||||
"RIB",
|
||||
"coordonnées bancaires",
|
||||
]
|
||||
@@ -3,7 +3,7 @@ recognizer_registry:
|
||||
recognizers:
|
||||
- name: IpAddressRecognizer
|
||||
supported_language: fr
|
||||
supported_entity: IP_ADDRESS
|
||||
supported_entity: ADRESSE_IP
|
||||
patterns:
|
||||
- name: IPv4
|
||||
regex: "\\b(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\\b"
|
||||
|
||||
31
conf/recognizers/PII/generic/locations.yaml
Normal file
31
conf/recognizers/PII/generic/locations.yaml
Normal file
@@ -0,0 +1,31 @@
|
||||
# Recognizer pour lieux géographiques
|
||||
recognizer_registry:
|
||||
recognizers:
|
||||
- name: LocationRecognizer
|
||||
supported_language: fr
|
||||
supported_entity: LOCATION
|
||||
patterns:
|
||||
- name: Ville française (sauf si dans adresse)
|
||||
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*[0-9]{5}\\s+)\\b(?:Paris|Marseille|Lyon|Toulouse|Nice|Nantes|Strasbourg|Montpellier|Bordeaux|Lille|Rennes|Reims|Le Havre|Saint-Étienne|Toulon|Grenoble|Dijon|Angers|Nîmes|Villeurbanne|Saint-Denis|Le Mans|Aix-en-Provence|Clermont-Ferrand|Brest|Limoges|Tours|Amiens|Perpignan|Metz|Besançon|Boulogne-Billancourt|Orléans|Mulhouse|Rouen|Caen|Nancy|Saint-Denis|Argenteuil|Montreuil|Roubaix|Tourcoing|Nanterre|Avignon|Créteil|Dunkerque|Poitiers|Asnières-sur-Seine|Courbevoie|Versailles|Colombes|Fort-de-France|Aulnay-sous-Bois|Saint-Pierre|Rueil-Malmaison|Pau|Aubervilliers|Champigny-sur-Marne|Antibes|La Rochelle|Cannes|Calais|Béziers|Colmar|Bourges|Mérignac|Saint-Nazaire|Issy-les-Moulineaux|Noisy-le-Grand|Évry|Cergy|Pessac|Vénissieux|Ivry-sur-Seine|Clichy|Troyes|Lorient|Montauban|Neuilly-sur-Seine|Antony|Sarcelles|Niort|Chambéry|Le Blanc-Mesnil|Beauvais|Maisons-Alfort|Chelles|Meaux|Levallois-Perret|Valence|Quimper|Arras|Villejuif|Hyères|La Seyne-sur-Mer|Fréjus|Albi|Sartrouville|Fontenay-sous-Bois|Clamart|Sevran|Compiègne|Drancy|Le Tampon|Bayonne|Massy|Gennevilliers|Corbeil-Essonnes|Saint-Ouen|Garges-lès-Gonesse|Bagneux|Cagnes-sur-Mer|Grasse|Talence|Castres|Douai|Wattrelos|Cholet|Vannes|Suresnes|Puteaux|Gagny|Belfort|Chartres|Saint-Priest|Vincennes|Montrouge|Meyzieu|Villepinte|Caluire-et-Cuire|Bourg-en-Bresse|Roanne|Concarneau|Saint-Brieuc|Épinay-sur-Seine|Vaulx-en-Velin|Rosny-sous-Bois|Arles|Thonon-les-Bains|Viry-Châtillon|Alfortville|Livry-Gargan|Herblay|Houilles|Schiltigheim|Franconville|Châtillon|Nogent-sur-Marne|Pontoise|L'Haÿ-les-Roses|Malakoff|Châtenay-Malabry|Conflans-Sainte-Honorine|Villemomble|Tremblay-en-France|Montigny-le-Bretonneux|Athis-Mons|Chatou|Villeneuve-Saint-Georges|Les Mureaux|Champs-sur-Marne|Yerres|Savigny-sur-Orge|Villetaneuse|Sainte-Geneviève-des-Bois|Marignane|Goussainville|Stains|Poissy|Rillieux-la-Pape|Charleville-Mézières)\\b"
|
||||
score: 0.7
|
||||
- name: Pays
|
||||
regex: "\\b(?:France|Belgique|Suisse|Canada|Allemagne|Italie|Espagne|Portugal|Royaume-Uni|États-Unis|Maroc|Algérie|Tunisie|Sénégal|Côte d'Ivoire|Mali|Burkina Faso|Niger|Tchad|République centrafricaine|Cameroun|Gabon|République démocratique du Congo|Madagascar|Maurice|Seychelles|Comores|Djibouti|Vanuatu|Nouvelle-Calédonie|Polynésie française|Wallis-et-Futuna|Saint-Pierre-et-Miquelon|Mayotte|Guyane|Martinique|Guadeloupe|La Réunion)\\b"
|
||||
score: 0.85
|
||||
- name: Lieu de naissance
|
||||
regex: "\\b(?:né|née|naissance)\\s+(?:à|au|aux|en|dans)\\s+([A-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ][a-zàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþß'-]+(?:[\\s-][A-Za-zàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþß'-]+)*)\\b"
|
||||
score: 0.95
|
||||
- name: Région française
|
||||
regex: "\\b(?:Île-de-France|Auvergne-Rhône-Alpes|Hauts-de-France|Nouvelle-Aquitaine|Occitanie|Grand Est|Provence-Alpes-Côte d'Azur|Pays de la Loire|Bretagne|Normandie|Bourgogne-Franche-Comté|Centre-Val de Loire|Corse)\\b"
|
||||
score: 0.8
|
||||
context:
|
||||
[
|
||||
"lieu",
|
||||
"ville",
|
||||
"pays",
|
||||
"région",
|
||||
"naissance",
|
||||
"domicile",
|
||||
"résidence",
|
||||
"né",
|
||||
"née",
|
||||
]
|
||||
37
conf/recognizers/PII/generic/names.yaml
Normal file
37
conf/recognizers/PII/generic/names.yaml
Normal file
@@ -0,0 +1,37 @@
|
||||
# Recognizer pour noms et prénoms génériques
|
||||
recognizer_registry:
|
||||
recognizers:
|
||||
- name: GenericPersonNameRecognizer
|
||||
supported_language: fr
|
||||
supported_entity: PERSONNE
|
||||
patterns:
|
||||
- name: Nom avec titre de civilité complet
|
||||
regex: "(?<!\\w)(?:Monsieur|Madame|Mademoiselle|Docteur|Professeur)\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]{2,}(?:\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]{2,})*(?=\\s*\\(|\\s*,|\\s*$|\\s+(?:né|née|demeurant))"
|
||||
score: 0.8
|
||||
- name: Nom avec contexte explicite
|
||||
regex: "(?<=\\b(?:témoin|expert|consultant|gérant|directeur)\\s+)[A-ZÀ-Ÿ][a-zà-ÿ'-]{2,}\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]{2,}(?=\\s*\\(|\\s*,|\\s*$)"
|
||||
score: 0.7
|
||||
- name: Prénom seul avec contexte
|
||||
regex: "(?<=\\b(?:je suis|mon nom est|je m'appelle|appelé|nommé)\\s+)[A-ZÀ-Ÿ][a-zà-ÿ'-]{2,}(?=\\s|$|\\.|,)"
|
||||
score: 0.6
|
||||
- name: Nom complet simple
|
||||
regex: "(?<=\\b(?:témoin|expert|consultant|gérant|directeur|Monsieur|Madame|appelé|nommé)\\s+)[A-ZÀ-Ÿ][a-zà-ÿ'-]{2,}\\s+[A-ZÀ-Ÿ][a-zà-ÿ'-]{2,}(?=\\s*\\(|\\s*,|\\s*$)"
|
||||
score: 0.5
|
||||
- name: Prénom français courant
|
||||
regex: "(?<!\\w)(?:Nicolas|Pierre|Jean|Marie|Paul|Michel|Philippe|Alain|Bernard|Christian|Daniel|François|Jacques|Laurent|Marc|Olivier|Pascal|Patrick|Stéphane|Thierry|Vincent|Antoine|Bruno|Christophe|David|Eric|Frédéric|Guillaume|Henri|Julien|Luc|Mathieu|Maxime|Sébastien|Thomas|Yves|Alexandre|André|Arnaud|Benoît|Cédric|Didier|Dominique|Emmanuel|Fabrice|Gérard|Hervé|Jérôme|Lionel|Louis|Ludovic|Marcel|Maurice|Michaël|Patrice|Raphaël|Raymond|Rémi|René|Richard|Robert|Roger|Serge|Sylvain|Sylvie|Anne|Catherine|Christine|Françoise|Isabelle|Martine|Monique|Nathalie|Nicole|Pascale|Sandrine|Sophie|Valérie|Véronique|Brigitte|Chantal|Corinne|Dominique|Élisabeth|Hélène|Jacqueline|Jeanne|Joëlle|Karine|Laurence|Michèle|Nadine|Patricia|Sabine|Simone|Suzanne|Sylviane|Thérèse|Viviane|Yvette|Yvonne|Agnès|Amélie|Audrey|Béatrice|Bénédicte|Camille|Carole|Caroline|Céline|Claire|Delphine|Émilie|Estelle|Évelyne|Florence|Geneviève|Gwenaëlle|Ingrid|Julie|Laetitia|Laure|Magali|Mélanie|Muriel|Odile|Pauline|Solange|Stéphanie|Virginie)(?=\\s|$|\\.|,)"
|
||||
score: 0.7
|
||||
context:
|
||||
[
|
||||
"témoin",
|
||||
"expert",
|
||||
"consultant",
|
||||
"gérant",
|
||||
"directeur",
|
||||
"Monsieur",
|
||||
"Madame",
|
||||
"appelé",
|
||||
"nommé",
|
||||
"je suis",
|
||||
"je m'appelle",
|
||||
"mon nom est",
|
||||
]
|
||||
12
conf/recognizers/PII/generic/personal_ids.yaml
Normal file
12
conf/recognizers/PII/generic/personal_ids.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
# Recognizer pour identifiants personnels génériques
|
||||
recognizer_registry:
|
||||
recognizers:
|
||||
- name: GenericPersonalIDRecognizer
|
||||
supported_language: fr
|
||||
supported_entity: IDENTIFIANT_PERSONNEL
|
||||
patterns:
|
||||
- name: Numéro d'identité générique
|
||||
regex: "\\b(?:ID|identifiant|matricule|numéro)\\s*:?\\s*[A-Z0-9]{6,15}\\b"
|
||||
score: 0.8
|
||||
|
||||
context: ["identifiant", "matricule", "référence", "code", "numéro ID"]
|
||||
26
conf/recognizers/PII/generic/phone_numbers.yaml
Normal file
26
conf/recognizers/PII/generic/phone_numbers.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
# Recognizer pour numéros de téléphone génériques
|
||||
recognizer_registry:
|
||||
recognizers:
|
||||
- name: GenericPhoneRecognizer
|
||||
supported_language: fr
|
||||
supported_entity: TELEPHONE
|
||||
patterns:
|
||||
- name: Téléphone international avec indicatif
|
||||
regex: "\\b\\+[1-9]\\d{1,3}[\\s\\-\\.]?\\d{1,4}[\\s\\-\\.]?\\d{1,4}[\\s\\-\\.]?\\d{1,9}\\b"
|
||||
score: 0.95
|
||||
- name: Téléphone français format standard
|
||||
regex: "\\b(?<!\\s)0[1-9](?:[\\s\\-\\.]?[0-9]{2}){4}(?![0-9])(?!\\s[A-Za-z])\\b"
|
||||
score: 0.85
|
||||
- name: Téléphone avec parenthèses
|
||||
regex: "\\b\\([0-9]{2,4}\\)[\\s\\-\\.]?[0-9]{2,4}[\\s\\-\\.]?[0-9]{2,4}[\\s\\-\\.]?[0-9]{2,4}\\b"
|
||||
score: 0.9
|
||||
- name: Téléphone format groupé
|
||||
regex: "\\b(?<!FR)(?<![0-9]{5}\\s)(?<!\\s)(?<!boulevard\\s)(?<!avenue\\s)(?<!rue\\s)(?<!place\\s)0[1-9][\\s\\-\\.][0-9]{2}[\\s\\-\\.][0-9]{2}[\\s\\-\\.][0-9]{2}[\\s\\-\\.][0-9]{2}(?![\\s\\-\\.][0-9])(?!\\s[A-Za-z])(?!\\s[A-Z][a-z])"
|
||||
score: 0.7
|
||||
- name: Téléphone compact 10 chiffres
|
||||
regex: "\\b(?<!FR[0-9]{2}\\s)(?<![0-9])(?<!\\s)(?<!boulevard\\s)(?<!avenue\\s)(?<!rue\\s)(?<!place\\s)0[1-9](?:[0-9]{2}){4}(?![0-9])(?!\\s[A-Za-z])(?!\\s[A-Z][a-z])\\b"
|
||||
score: 0.5
|
||||
- name: Téléphone avec contexte
|
||||
regex: "\\b(?:tél|téléphone|mobile|portable)\\s*:?\\s*(?:(?:\\+33|0033|33)\\s?0?[1-9](?:[\\s\\-\\.]?[0-9]{2}){4}|0[1-9](?:[\\s\\-\\.]?[0-9]{2}){4})\\b"
|
||||
score: 0.9
|
||||
context: ["téléphone", "tél", "mobile", "portable", "contact", "numéro"]
|
||||
Reference in New Issue
Block a user