Saltar al contenido principal
Volver al blog
Tecnología IA Por Equipo Anonimatum 8 min

Cómo medimos la IA de Anonimatum en 10 idiomas: corpus, recall y precisión

Ilustración: documentos en varios idiomas con datos tachados en negro, una lupa sobre una detección y un medidor de calidad con los rótulos ES, CA, GL, EU, EN, FR, DE, IT, PT y RO
Ilustración: Anonimatum

Una herramienta de anonimización se juzga por lo que se le escapa. Por eso, cada vez que cambia la IA de Anonimatum, la probamos contra un corpus de 6123 documentos en 10 idiomas (castellano, catalán, gallego, euskera, inglés, francés, alemán, italiano, portugués y rumano) y comparamos lo que detecta con lo que debería detectar. Este artículo explica qué hay en ese corpus, cómo medimos y cuáles son las cifras de hoy, también las que todavía no nos gustan.

Qué hay en el corpus de pruebas

El corpus mezcla dos tipos de documentos. Los reales (4805) son, en su gran mayoría, publicaciones de organismos públicos con licencia de reutilización: boletines y diarios oficiales, sentencias y autos de tribunales, decisiones de autoridades de protección de datos y de transparencia, actas, convenios y normativa de la Unión Europea. Los sintéticos (1318) los generamos con datos inventados para cubrir lo que en los reales aparece poco: nóminas, facturas, contratos, informes médicos, formularios, correos, hojas de cálculo y documentos de Word u OpenDocument con maquetaciones complejas. Entre ellos hay facturas en todas sus formas: PDF con texto, escaneadas, fotografiadas con el móvil, en Word y Excel, adjuntas a un correo y como factura electrónica en XML.

1272 documentos son escaneados: antes de buscar datos personales hay que pasarlos por OCR con el modelo del idioma del documento. Incluyen páginas torcidas o giradas, sellos, manchas, faxes, fotos hechas con el móvil y texto manuscrito, porque es ahí donde la anonimización falla en la práctica (lo contamos en los riesgos del OCR en documentos escaneados).

Corpus de pruebas por idioma
IdiomaDocumentosEscaneadosTipos de documentoRealesSintéticosRevisados a mano
Español6451144351513084
Catalán6151433848513072
Gallego5731013544313071
Euskera5751125244513053
Inglés6271104149113656
Francés6372083950113662
Alemán6661073953013661
Italiano6351034549913655
Portugués580983444413657
Rumano5701765445211832
Total61231272—48051318603

Cómo medimos: recall y precisión

  • Recall (exhaustividad): de todos los datos personales que hay en un documento, qué parte detecta la IA. Un recall de 0,95 significa que se escapan 5 de cada 100. Es la métrica que más importa al anonimizar: lo que no se detecta, se publica.
  • Precisión: de todo lo que la IA marca, qué parte es de verdad un dato personal. Una precisión baja no filtra datos, pero obliga a quitar marcas de más al revisar.
  • Identificadores con formato (DNI, NIE, números fiscales, IBAN…): tienen que detectarse todos en los documentos con texto; en los escaneados se tolera que el OCR lea mal alguna cifra.

Revisados a mano y anotación automática

Para medir el recall hay que saber qué datos personales contiene cada documento. En los sintéticos lo sabemos porque los inventamos. En los reales hay dos niveles:

Reales revisados a mano (603 documentos)

Una persona marca todo lo que habría que anonimizar: nombres, direcciones, teléfonos, identificadores y empresas. Es la medida más fiable y la que exigimos: al menos 20 documentos por idioma y un recall mínimo de 0,95 (en euskera, de momento, 0,92).

Reales con anotación automática (4182 documentos)

Solo están marcados los nombres que da la propia publicación en sus metadatos, como los miembros de un tribunal o el ponente. No es una anotación completa, pero cubre miles de documentos y apunta a los casos difíciles: firmas en escaneados y nombres sueltos sin contexto.

Por eso damos dos cifras de recall en los reales: la de los revisados a mano, que es la que mejor refleja un documento completo, y la de todos los reales (a mano más anotación automática), que es más dura porque concentra nombres justo donde es más fácil fallar. La precisión se mide en los sintéticos y en los revisados a mano, que son los que tienen todo marcado.

Resultados por idioma

Cifras de la ejecución #18 de las pruebas de la IA, del 21 de octubre de 2026. La precisión está entre 0,966 y 0,993 en todos los idiomas.

Recall en documentos reales por idioma (de 0 a 1)
  • Reales revisados a mano
  • Todos los reales (a mano + automática)
Español
Reales revisados a mano: 0,985
Todos los reales (a mano + automática): 0,916
Catalán
Reales revisados a mano: 0,957
Todos los reales (a mano + automática): 0,920
Gallego
Reales revisados a mano: 0,956
Todos los reales (a mano + automática): 0,944
Euskera
Reales revisados a mano: 0,921
Todos los reales (a mano + automática): 0,975
Inglés
Reales revisados a mano: 0,981
Todos los reales (a mano + automática): 0,925
Francés
Reales revisados a mano: 0,981
Todos los reales (a mano + automática): 0,960
Alemán
Reales revisados a mano: 0,987
Todos los reales (a mano + automática): 0,985
Italiano
Reales revisados a mano: 1,000
Todos los reales (a mano + automática): 0,899
Portugués
Reales revisados a mano: 0,994
Todos los reales (a mano + automática): 0,870
Rumano
Reales revisados a mano: 0,974
Todos los reales (a mano + automática): 0,855
Recall y precisión por idioma
IdiomaRecall en sintéticosRecall en revisados a manoRecall en todos los realesPrecisión
Español0,9820,9850,9160,966
Catalán0,9740,9570,9200,974
Gallego0,9770,9560,9440,989
Euskera0,9660,9210,9750,985
Inglés0,9870,9810,9250,984
Francés0,9780,9810,9600,991
Alemán0,9860,9870,9850,992
Italiano0,9791,0000,8990,990
Portugués0,9860,9940,8700,989
Rumano0,9630,9740,8550,993

En los reales revisados a mano, 9 de los 10 idiomas llegan a 0,95 o más; el valor más bajo es 0,921 (euskera). Con todos los reales, los valores más bajos son 0,855 (rumano), 0,870 (portugués) y 0,899 (italiano). En los sintéticos, que reúnen los casos más difíciles del corpus (escaneados manuscritos, faxes, manchas, páginas giradas), el valor más bajo es 0,963 (rumano).

Qué ha cambiado en octubre de 2026

Antes de las mejoras de este mes las cifras eran bastante peores. En los idiomas peninsulares comparamos el recall en reales revisados a mano; en el resto, el de todos los reales, que es donde estaba el problema.

Recall en reales revisados a mano: antes y ahora
  • Antes de las mejoras
  • Ahora
Español
Antes de las mejoras: 0,921
Ahora: 0,985
Catalán
Antes de las mejoras: 0,814
Ahora: 0,957
Gallego
Antes de las mejoras: 0,895
Ahora: 0,956
Euskera
Antes de las mejoras: 0,597
Ahora: 0,921
Recall en todos los reales: antes y ahora
  • Antes de las mejoras
  • Ahora
Inglés
Antes de las mejoras: 0,832
Ahora: 0,925
Francés
Antes de las mejoras: 0,809
Ahora: 0,960
Alemán
Antes de las mejoras: 0,745
Ahora: 0,985
Italiano
Antes de las mejoras: 0,846
Ahora: 0,899
Portugués
Antes de las mejoras: 0,769
Ahora: 0,870
Rumano
Antes de las mejoras: 0,412
Ahora: 0,855
  • Euskera (0,597 → 0,921): direcciones con el tipo de vía detrás del nombre de la calle («kalea», «hiribidea», «solairua»), firmas en mayúsculas, tratamientos como «andrea» y «jauna», y formas jurídicas como «S. Koop.» o «Fundazioa».
  • Francés, alemán, italiano, portugués, inglés y rumano (el rumano, de 0,412 a 0,855): tratamientos delante del nombre, composición de los tribunales, listas de nombres, el codice fiscale italiano, direcciones y formas jurídicas de cada país.
  • Sin retrocesos: cada mejora se prueba contra el corpus completo, así que lo que sube un idioma no puede bajar otro.

Qué falta por mejorar

Lo que se escapa hoy se concentra en dos casos, y los dos se ven sobre todo en la cifra de todos los reales:

  • Nombres mal leídos por el OCR. En un escaneado, un nombre puede salir pegado a la palabra de al lado, partido con guion al final de la línea o con letras cambiadas. Si el OCR no lo lee como un nombre, la IA no lo reconoce.
  • Nombres sueltos sin contexto. Un apellido poco común en una lista, sin tratamiento, cargo ni verbo que lo acompañe, es difícil de distinguir de una palabra cualquiera. Es lo que más separa las dos cifras en los idiomas con el recall más bajo en todos los reales.
  • En euskera, además, apellidos partidos que llevan la declinación pegada y nombres extranjeros. Su mínimo provisional de 0,92 solo puede subir, hasta llegar al 0,95 del resto.

Mientras tanto, la respuesta práctica es la de siempre: la detección automática propone y una persona revisa antes de aplicar, sobre todo en escaneados. La anonimización visual por zonas cubre lo que el OCR no llega a leer.

Se ejecuta en cada cambio de la IA

Estas pruebas no son una foto para el blog. El corpus completo pasa por el sistema de integración continua con cada cambio de la IA, antes de que llegue a producción: se extrae el texto (con OCR en los escaneados), se detectan los datos personales y se compara con lo esperado. Cada idioma tiene un mínimo de recall y de precisión que solo puede subir; si un cambio queda por debajo, no se integra. Las cifras de este artículo salen de esos informes y las actualizaremos cuando cambien.

Preguntas frecuentes

¿Qué significa un recall de 0,98?

Que de cada 100 datos personales que hay en los documentos, la IA detecta 98. Los otros 2 tienen que aparecer en la revisión humana antes de aplicar la anonimización.

¿Por qué el recall en todos los reales es más bajo que en los revisados a mano?

Porque la anotación automática solo marca los nombres que da la publicación (miembros de un tribunal, ponentes…), que a menudo están en firmas escaneadas o en listas sin contexto, justo donde más falla la detección. Los revisados a mano miden el documento completo.

¿Se publica algún documento del corpus?

No. Solo publicamos recuentos y porcentajes por idioma. Ningún documento, texto, nombre ni dato personal del corpus sale de las pruebas.

Fuentes y normativa

  1. Directiva (UE) 2019/1024 relativa a los datos abiertos y la reutilización de la información del sector público (EUR-Lex)
  2. Decisión 2011/833/UE de la Comisión, relativa a la reutilización de sus documentos (EUR-Lex)
  3. Ley 37/2007, sobre reutilización de la información del sector público (BOE)