Comment nous mesurons l’IA d’Anonimatum en 10 langues : corpus, rappel et précision

Un outil d’anonymisation se juge à ce qu’il laisse passer. C’est pourquoi, à chaque modification de l’IA d’Anonimatum, nous la testons sur un corpus de 6 123 documents en 10 langues (espagnol, catalan, galicien, basque, anglais, français, allemand, italien, portugais et roumain) et comparons ce qu’elle détecte avec ce qu’elle devrait détecter. Cet article explique ce que contient ce corpus, comment nous mesurons et quels sont les chiffres actuels, y compris ceux qui ne nous satisfont pas encore.
Ce que contient le corpus de test
Le corpus mélange deux types de documents. Les documents réels (4 805) sont, pour la plupart, des publications d’organismes publics diffusées sous licence de réutilisation : journaux et bulletins officiels, jugements et ordonnances, décisions d’autorités de protection des données et d’accès aux documents administratifs, procès-verbaux, conventions et textes de l’Union européenne. Les documents synthétiques (1 318) sont générés avec des données inventées pour couvrir ce qui apparaît peu dans les réels : bulletins de paie, factures, contrats, comptes rendus médicaux, formulaires, e-mails, tableurs et fichiers Word ou OpenDocument à mise en page complexe. On y trouve des factures sous toutes leurs formes : PDF avec texte, scannées, photographiées au téléphone, Word et Excel, jointes à un e-mail et factures électroniques XML.
1 272 documents sont des scans : avant de chercher des données personnelles, ils passent par l’OCR avec le modèle de la langue du document. On y trouve des pages de travers ou retournées, des tampons, des taches, des fax, des photos prises au téléphone et de l’écriture manuscrite, car c’est là que l’anonymisation échoue en pratique (voir les risques de l’OCR sur les documents scannés).
| Langue | Documents | Scans | Types de document | Réels | Synthétiques | Revus à la main |
|---|---|---|---|---|---|---|
| Espagnol | 645 | 114 | 43 | 515 | 130 | 84 |
| Catalan | 615 | 143 | 38 | 485 | 130 | 72 |
| Galicien | 573 | 101 | 35 | 443 | 130 | 71 |
| Basque | 575 | 112 | 52 | 445 | 130 | 53 |
| Anglais | 627 | 110 | 41 | 491 | 136 | 56 |
| Français | 637 | 208 | 39 | 501 | 136 | 62 |
| Allemand | 666 | 107 | 39 | 530 | 136 | 61 |
| Italien | 635 | 103 | 45 | 499 | 136 | 55 |
| Portugais | 580 | 98 | 34 | 444 | 136 | 57 |
| Roumain | 570 | 176 | 54 | 452 | 118 | 32 |
| Total | 6 123 | 1 272 | — | 4 805 | 1 318 | 603 |
Comment nous mesurons : rappel et précision
- Rappel : parmi toutes les données personnelles d’un document, la part que l’IA détecte. Un rappel de 0,95 signifie que 5 sur 100 passent à travers. C’est la mesure qui compte le plus en anonymisation : ce qui n’est pas détecté est publié.
- Précision : parmi tout ce que l’IA marque, la part qui est réellement une donnée personnelle. Une précision basse ne fait pas fuiter de données, mais oblige à retirer des marques en trop lors de la relecture.
- Identifiants structurés (numéros d’identité, numéros fiscaux, IBAN…) : ils doivent tous être détectés dans les documents avec une couche texte ; dans les scans, on tolère que l’OCR lise mal un chiffre.
Revus à la main ou annotation automatique
Pour mesurer le rappel, il faut savoir quelles données personnelles contient chaque document. Pour les synthétiques, nous le savons puisque nous les avons inventées. Pour les réels, il y a deux niveaux :
Documents réels revus à la main (603)
Une personne marque tout ce qu’il faudrait anonymiser : noms, adresses, téléphones, identifiants et entreprises. C’est la mesure la plus fiable et celle que nous exigeons : au moins 20 documents par langue et un rappel minimal de 0,95 (0,92 pour le basque, pour l’instant).
Documents réels à annotation automatique (4 182)
Seuls les noms fournis par les métadonnées de la publication sont marqués, comme les membres d’une juridiction ou le rapporteur. Ce n’est pas une annotation complète, mais elle couvre des milliers de documents et vise les cas difficiles : signatures dans les scans et noms isolés sans contexte.
Nous donnons donc deux chiffres de rappel sur les documents réels : celui des revus à la main, qui reflète le mieux un document complet, et celui de tous les réels (à la main et annotation automatique), plus sévère car il concentre les noms là où l’erreur est la plus facile. La précision se mesure sur les synthétiques et les revus à la main, où tout est marqué.
Résultats par langue
Chiffres de l’exécution n° 18 des tests de l’IA, du 21 octobre 2026. La précision est comprise entre 0,966 et 0,993 dans toutes les langues.
- Réels revus à la main
- Tous les réels (main + automatique)
- Espagnol
- Réels revus à la main: 0,985Tous les réels (main + automatique): 0,916
- Catalan
- Réels revus à la main: 0,957Tous les réels (main + automatique): 0,920
- Galicien
- Réels revus à la main: 0,956Tous les réels (main + automatique): 0,944
- Basque
- Réels revus à la main: 0,921Tous les réels (main + automatique): 0,975
- Anglais
- Réels revus à la main: 0,981Tous les réels (main + automatique): 0,925
- Français
- Réels revus à la main: 0,981Tous les réels (main + automatique): 0,960
- Allemand
- Réels revus à la main: 0,987Tous les réels (main + automatique): 0,985
- Italien
- Réels revus à la main: 1,000Tous les réels (main + automatique): 0,899
- Portugais
- Réels revus à la main: 0,994Tous les réels (main + automatique): 0,870
- Roumain
- Réels revus à la main: 0,974Tous les réels (main + automatique): 0,855
| Langue | Rappel, synthétiques | Rappel, revus à la main | Rappel, tous les réels | Précision |
|---|---|---|---|---|
| Espagnol | 0,982 | 0,985 | 0,916 | 0,966 |
| Catalan | 0,974 | 0,957 | 0,920 | 0,974 |
| Galicien | 0,977 | 0,956 | 0,944 | 0,989 |
| Basque | 0,966 | 0,921 | 0,975 | 0,985 |
| Anglais | 0,987 | 0,981 | 0,925 | 0,984 |
| Français | 0,978 | 0,981 | 0,960 | 0,991 |
| Allemand | 0,986 | 0,987 | 0,985 | 0,992 |
| Italien | 0,979 | 1,000 | 0,899 | 0,990 |
| Portugais | 0,986 | 0,994 | 0,870 | 0,989 |
| Roumain | 0,963 | 0,974 | 0,855 | 0,993 |
Sur les réels revus à la main, 9 des 10 langues atteignent 0,95 ou plus ; la valeur la plus basse est 0,921 (basque). Sur tous les réels, les valeurs les plus basses sont 0,855 (roumain), 0,870 (portugais) et 0,899 (italien). Pour les synthétiques, qui réunissent les cas les plus difficiles du corpus (scans manuscrits, fax, taches, pages retournées), la valeur la plus basse est 0,963 (roumain).
Ce qui a changé en octobre 2026
Avant les améliorations de ce mois, les chiffres étaient nettement moins bons. Pour les langues de la péninsule Ibérique, nous comparons le rappel sur les réels revus à la main ; pour les autres, celui de tous les réels, là où se trouvait le problème.
- Avant les améliorations
- Maintenant
- Espagnol
- Avant les améliorations: 0,921Maintenant: 0,985
- Catalan
- Avant les améliorations: 0,814Maintenant: 0,957
- Galicien
- Avant les améliorations: 0,895Maintenant: 0,956
- Basque
- Avant les améliorations: 0,597Maintenant: 0,921
- Avant les améliorations
- Maintenant
- Anglais
- Avant les améliorations: 0,832Maintenant: 0,925
- Français
- Avant les améliorations: 0,809Maintenant: 0,960
- Allemand
- Avant les améliorations: 0,745Maintenant: 0,985
- Italien
- Avant les améliorations: 0,846Maintenant: 0,899
- Portugais
- Avant les améliorations: 0,769Maintenant: 0,870
- Roumain
- Avant les améliorations: 0,412Maintenant: 0,855
- Basque (0,597 → 0,921) : adresses où le type de voie suit le nom de la rue (« kalea », « hiribidea », « solairua »), signatures en majuscules, civilités comme « andrea » et « jauna », et formes juridiques comme « S. Koop. » ou « Fundazioa ».
- Français, allemand, italien, portugais, anglais et roumain (le roumain, de 0,412 à 0,855) : civilités devant le nom, composition des juridictions, listes de noms, codice fiscale italien, adresses et formes juridiques de chaque pays.
- Sans régression : chaque amélioration est testée sur le corpus complet ; un gain dans une langue ne peut pas se faire aux dépens d’une autre.
Ce qu’il reste à améliorer
Ce qui passe aujourd’hui se concentre sur deux cas, visibles surtout dans le chiffre de tous les réels :
- Noms mal lus par l’OCR. Dans un scan, un nom peut sortir collé au mot suivant, coupé par un trait d’union en fin de ligne ou avec des lettres interverties. Si l’OCR ne le lit pas comme un nom, l’IA ne le reconnaît pas.
- Noms isolés sans contexte. Un nom de famille peu courant dans une liste, sans civilité, fonction ni verbe autour, est difficile à distinguer d’un mot quelconque. C’est ce qui sépare le plus les deux chiffres dans les langues dont le rappel sur tous les réels est le plus bas.
- En basque, s’y ajoutent des noms coupés qui portent leur déclinaison et des noms étrangers. Son minimum provisoire de 0,92 ne peut que monter, jusqu’aux 0,95 des autres langues.
En attendant, la réponse pratique reste la même : la détection automatique propose et une personne relit avant d’appliquer, surtout pour les scans. L’anonymisation visuelle par zones couvre ce que l’OCR ne lit pas.
Exécuté à chaque modification de l’IA
Ces tests ne sont pas une photo pour le blog. Le corpus complet passe en intégration continue à chaque modification de l’IA, avant la mise en production : extraction du texte (avec OCR pour les scans), détection des données personnelles et comparaison avec le résultat attendu. Chaque langue a un minimum de rappel et de précision qui ne peut que monter ; une modification qui passe en dessous n’est pas intégrée. Les chiffres de cet article viennent de ces rapports et nous les mettrons à jour quand ils changeront.
Questions fréquentes
Que signifie un rappel de 0,98 ?
Que sur 100 données personnelles présentes dans les documents, l’IA en détecte 98. Les 2 autres doivent être repérées lors de la relecture humaine avant d’appliquer l’anonymisation.
Pourquoi le rappel sur tous les réels est-il plus bas que sur les revus à la main ?
Parce que l’annotation automatique ne marque que les noms fournis par la publication (membres d’une juridiction, rapporteurs…), souvent dans des signatures scannées ou des listes sans contexte, là où la détection échoue le plus. Les revus à la main mesurent le document entier.
Un document du corpus est-il publié ?
Non. Nous ne publions que des comptages et des taux par langue. Aucun document, texte, nom ni donnée personnelle du corpus ne sort des tests.
