Validateur scripts/validate_paranames.py exécuté sur le gazetteer réel, révèle 2 défauts → corrigés : - Mots-outils FR (avec/dans/voir/...) présents dans INSEE/paranames → risque FP au contexte 'low'. Ajout de 347 mots-outils spaCy fr (sûrs, filtrés des patronymes INSEE fréquents) à stopwords_manuels.txt. build_paranames_gazetteer.py filtre désormais aussi contre ce fichier ; gazetteer reconstruit (1 379 196 noms, mots-outils ≥3 chars retirés). - Priorité sécurité respectée : allez/polygone sont de vrais patronymes INSEE rares → laissés MASQUABLES (pas de fuite), hors stopwords. - OYARCABAL reclassé en warning (couvert par regex F3, absent de Wikidata). Garde-fous vérifiés : Petit/Boucher/Berger conservés, noms étrangers (EJNAINI/NGUYEN/...) conservés. Validateur 5/5. tests/unit 85 passed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
data/paranames — Gazetteers de noms mondiaux
Issu de paranames v2024.05.07.0, sous licence CC BY 4.0.
Citation
Sälevä, J., & Lignos, C. (2024). ParaNames 1.0: Creating an Entity Name Corpus for 400+ Languages using Wikidata. In Proceedings of LREC-COLING 2024.
Lien : https://aclanthology.org/2024.lrec-main.1103/
Contenu
| Fichier | Description |
|---|---|
noms_famille_world.txt.gz |
Noms de famille mondiaux (UPPERCASE, NFKD sans diacritiques, A-Z). |
prenoms_world.txt.gz |
Prénoms mondiaux (UPPERCASE, NFKD sans diacritiques, A-Z). |
EXTRACTION.md |
Procédure reproductible d'extraction. |
Les deux fichiers sont triés alphabétiquement, encodés UTF-8, compressés gzip niveau 9. Une entrée par ligne.
Régénération
python scripts/build_paranames_gazetteer.py
Le script est idempotent : relance = même résultat. Le cache HuggingFace (~/.cache/huggingface/) évite tout re-téléchargement.
Voir EXTRACTION.md pour le détail de la procédure.
Source amont
- Repo : https://github.com/bltlab/paranames
- Mirror HuggingFace : https://huggingface.co/datasets/imvladikon/paranames
- Données :
data/train.parquet(~1.33 GB, 124 M lignes — noms parallèles de plus de 12 M d'entités nommées dans 400+ langues, extraits de Wikidata). - Filtrage appliqué : seuls les
type == "PER"(personnes) sont retenus.
Utilisation dans l'anonymiseur
Ces gazetteers complètent les listes INSEE (françaises) pour couvrir les noms internationaux (basques, vietnamiens, arabes, asiatiques, africains…) fréquents dans les documents médicaux français des CHU et hôpitaux de territoires multi-ethniques (La Réunion, Antilles, métropole).
Charger en lecture :
import gzip
with gzip.open("data/paranames/noms_famille_world.txt.gz", "rt", encoding="utf-8") as f:
NOMS_WORLD = {line.strip() for line in f if line.strip()}
Attribution dans l'application
L'écran « À propos » de l'application Pseudonymisation mentionne :
Gazetteers de noms mondiaux issus de paranames (Sälevä & Lignos, 2024) sous licence CC BY 4.0.