# data/paranames — Gazetteers de noms mondiaux

Issu de [paranames](https://github.com/bltlab/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

```bash
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](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 :

```python
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.
