Volver al BlogTécnico

NER Multilingüe: Por Qué Tu Modelo Entrenado en...

Los modelos de NER en inglés logran una precisión del 85-92%. ¿Árabe y chino? A menudo 50-70%.

February 26, 20268 min de lectura
NERmultilingualArabic NLPChinese NLPPII detection

El Desafío del NER Multilingüe

Los modelos de Reconocimiento de Entidades Nombradas (NER) entrenados en inglés logran resultados impresionantes: 85-92% de puntuaciones F1 en benchmarks estándar. ¿Aplicar esos mismos modelos al árabe o al chino? La precisión a menudo cae al 50-70%.

Para la detección de PII, esta brecha es crítica. Una tasa de detección del 70% significa que el 30% de los datos sensibles queda desprotegido.

Por Qué Fails Modelos en Inglés

1. Límites de Palabras

Inglés: Las palabras están separadas por espacios.

"John Smith vive en Nueva York"
→ ["John", "Smith", "vive", "en", "Nueva", "York"]

Chino: No hay límites de palabras en absoluto.

"张伟住在北京"
→ Necesita segmentación primero: ["张伟", "住在", "北京"]

Árabe: Las palabras se conectan, y las vocales cortas no se escriben.

"محمد يعيش في دبي"
→ Escritura conectada, de derecha a izquierda, vocales omitidas

Las reglas de tokenización en inglés simplemente no se aplican.

2. Complejidad Morfológica

Morfológica en inglés: Relativamente simple

run → runs, running, ran

Morfológica en árabe: Extremadamente compleja (sistema de raíz-patrón)

كتب (k-t-b, "raíz de escribir")
→ كاتب (escritor), كتاب (libro), مكتبة (biblioteca), يكتب (él escribe)

Una sola raíz árabe genera docenas de palabras relacionadas. Los modelos de NER deben entender este sistema de derivación.

3. Convenciones de Nombres

Nombres en inglés: Primero Apellido

John Smith, Mary Johnson

Nombres en árabe: Múltiples componentes

محمد بن عبد الله بن عبد المطلب
(Muhammad hijo de Abdullah hijo de Abdul-Muttalib)

Nombres en chino: Apellido primero, a menudo 2-3 caracteres en total

张伟 (Zhang Wei) - 2 caracteres
欧阳修 (Ouyang Xiu) - 3 caracteres

4. Dirección del Guion

Inglés: De izquierda a derecha (LTR) Árabe/Hebreo: De derecha a izquierda (RTL) Texto mixto: Bidireccional (BiDi) - extremadamente complejo

Cuando un nombre en inglés aparece en texto árabe:

التقيت بـ John Smith في المؤتمر
(Me encontré con John Smith en la conferencia)

El orden de renderizado, el orden lógico y el orden de visualización son diferentes.

Precisión por Idioma

El rendimiento real de NER varía drásticamente:

IdiomaGuionRango de F1-ScoreNivel de Desafío
InglésLatino85-92%Bajo
AlemánLatino82-88%Bajo
FrancésLatino80-87%Bajo
EspañolLatino81-86%Bajo
RusoCirílico75-83%Medio
ÁrabeÁrabe55-75%Alto
ChinoHanzi60-78%Alto
JaponésMixto65-80%Alto
TailandésTailandés50-70%Muy Alto
HindiDevanagari60-75%Alto

Los idiomas con morfología compleja, guiones no latinos o sin límites de palabras consistentemente tienen un rendimiento inferior.

Enfoque de Tres Niveles de anonym.legal

Resolvemos el NER multilingüe a través de tres niveles especializados:

Nivel 1: spaCy (25 idiomas)

Para idiomas de alto recurso con buenos modelos:

  • Inglés, Alemán, Francés, Español, Italiano, Portugués
  • Neerlandés, Polaco, Ruso, Griego
  • Y 15 más con precisión confiable

Nivel 2: Stanza (7 idiomas)

Para idiomas con morfología compleja:

  • Árabe (morfológica de raíz-patrón)
  • Chino (se requiere segmentación de palabras)
  • Japonés (múltiples guiones)
  • Coreano (aglutinativo)
  • Y 3 más

Nivel 3: XLM-RoBERTa (16 idiomas)

Para idiomas de bajo recurso sin modelos dedicados:

  • Tailandés, Vietnamita, Indonesio
  • Hindi, Bengalí, Tamil
  • Hebreo, Turco, Persa
  • Y más

Cómo Funciona

Texto de entrada con detección de idioma
        ↓
[Ruteador de Idioma]
        ↓
┌───────┴───────┐
↓               ↓
Alto-recurso   Complejo/Bajo-recurso
(spaCy)         (Stanza/XLM-RoBERTa)
↓               ↓
└───────┬───────┘
        ↓
[Superposición de Regex para datos estructurados]
        ↓
[Fusión de confianza]
        ↓
Entidades finales

Superposición de Regex

Algunos patrones son independientes del idioma:

  • Direcciones de correo electrónico: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
  • Tarjetas de crédito: \d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}
  • Números de teléfono: Varios patrones por país

Aplicamos regex primero para datos estructurados, independientemente del idioma.

Manejo de Guiones RTL

Los idiomas de derecha a izquierda requieren un manejo especial:

Algoritmo de Texto Bidireccional

Cuando el árabe contiene inglés:

Visual: المؤتمر في John Smith بـ التقيت
Lógico: التقيت بـ John Smith في المؤتمر

Nuestro procesamiento:

  1. Normalizar al orden lógico
  2. Ejecutar NER en orden lógico
  3. Mapear posiciones de entidades de vuelta al orden visual
  4. Devolver posiciones consistentes para cualquier renderizado

Detección de Límites de Entidades

Los límites de entidades árabes son complejos:

"محمد" - solo el nombre
"لمحمد" - "a Muhammad" (preposición adjunta)
"ومحمد" - "y Muhammad" (conjunción adjunta)

Eliminamos afijos antes de NER y los volvemos a adjuntar después.

Cambio de Código

El texto real a menudo mezcla idiomas:

"El meeting con John es at 3pm"
(mezcla de español-inglés)

"我今天跟John去shopping"
(mezcla de chino-inglés)

Nuestro enfoque:

  1. Segmentar el texto por idioma
  2. Procesar cada segmento con el modelo apropiado
  3. Fusionar resultados con mapeo de posiciones

Referencias de Rendimiento

Pruebas internas en conjuntos de datos de idiomas mixtos:

EscenarioF1-Score
Solo inglés91%
Solo alemán88%
Solo árabe79%
Solo chino81%
Mezcla inglés-árabe83%
Mezcla inglés-chino84%
Mezcla inglés-alemán89%

Nuestro enfoque híbrido mantiene alta precisión incluso en idiomas desafiantes.

Consejos de Implementación

Para Usuarios de API

Especifica el idioma cuando se conozca:

{
  "text": "محمد بن عبد الله",
  "language": "ar"
}

Déjanos detectar automáticamente cuando sea desconocido:

{
  "text": "محمد بن عبد الله",
  "language": "auto"
}

Para Usuarios de Aplicaciones de Escritorio

La aplicación detecta automáticamente el idioma por documento. Para archivos de idiomas mixtos, procesa cada segmento apropiadamente.

Para Tipos de Entidades Personalizadas

Los patrones personalizados deben tener en cuenta los guiones:

# ID de empleado en inglés
EMP-[0-9]{6}

# ID de empleado en árabe (incluye números árabes)
موظف-[٠-٩0-9]{6}

Conclusión

Los modelos de NER entrenados en inglés fallan en texto no inglés porque los idiomas difieren fundamentalmente en:

  • Límites de palabras (o la falta de ellos)
  • Complejidad morfológica
  • Dirección del guion
  • Convenciones de nombres

La detección efectiva de PII multilingüe requiere:

  1. Modelos específicos de idioma para guiones complejos
  2. Patrones de regex para datos estructurados
  3. Manejo adecuado de RTL/BiDi
  4. Soporte para cambio de código

anonym.legal soporta 48 idiomas a través de nuestro enfoque de tres niveles, logrando una precisión consistente en todos.

Pruébalo tú mismo:


Fuentes:

¿Listo para proteger sus datos?

Comience a anonimizar PII con más de 285 tipos de entidades en 48 idiomas.