Voltar ao BlogTécnico

NER Multilíngue: Por que seu modelo treinado em...

Modelos de NER em inglês alcançam 85-92% de precisão. E árabe e chinês? Muitas vezes 50-70%.

February 26, 20268 min de leitura
NERmultilingualArabic NLPChinese NLPPII detection

O Desafio do NER Multilíngue

Modelos de Reconhecimento de Entidades Nomeadas (NER) treinados em inglês alcançam resultados impressionantes—85-92% de pontuação F1 em benchmarks padrão. Aplicar esses mesmos modelos ao árabe ou chinês? A precisão frequentemente cai para 50-70%.

Para a detecção de PII, essa lacuna é crítica. Uma taxa de detecção de 70% significa que 30% dos dados sensíveis ficam desprotegidos.

Por que os Modelos em Inglês Falham

1. Limites de Palavras

Inglês: As palavras são separadas por espaços.

"John Smith lives in New York"
→ ["John", "Smith", "lives", "in", "New", "York"]

Chinês: Sem limites de palavras.

"张伟住在北京"
→ Necessita de segmentação primeiro: ["张伟", "住在", "北京"]

Árabe: As palavras se conectam, e as vogais curtas não são escritas.

"محمد يعيش في دبي"
→ Script conectado, da direita para a esquerda, vogais omitidas

As regras de tokenização em inglês simplesmente não se aplicam.

2. Complexidade Morfológica

Morfológica do inglês: Relativamente simples

run → runs, running, ran

Morfológica do árabe: Extremamente complexa (sistema de raiz-padrão)

كتب (k-t-b, "raiz de escrever")
→ كاتب (escritor), كتاب (livro), مكتبة (biblioteca), يكتب (ele escreve)

Uma única raiz árabe gera dezenas de palavras relacionadas. Os modelos NER devem entender esse sistema de derivação.

3. Convenções de Nomes

Nomes em inglês: Primeiro Último

John Smith, Mary Johnson

Nomes em árabe: Múltiplos componentes

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

Nomes em chinês: Sobrenome primeiro, frequentemente 2-3 caracteres no total

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

4. Direção do Script

Inglês: Da esquerda para a direita (LTR) Árabe/Hebraico: Da direita para a esquerda (RTL) Texto misto: Bidirecional (BiDi) - extremamente complexo

Quando um nome em inglês aparece em texto árabe:

التقيت بـ John Smith في المؤتمر
(Eu conheci John Smith na conferência)

A ordem de renderização, a ordem lógica e a ordem de exibição diferem.

Precisão por Idioma

O desempenho real do NER varia dramaticamente:

IdiomaScriptFaixa de F1-ScoreNível de Desafio
InglêsLatino85-92%Baixo
AlemãoLatino82-88%Baixo
FrancêsLatino80-87%Baixo
EspanholLatino81-86%Baixo
RussoCirílico75-83%Médio
ÁrabeÁrabe55-75%Alto
ChinêsHanzi60-78%Alto
JaponêsMisto65-80%Alto
TailandêsTailandês50-70%Muito Alto
HindiDevanagari60-75%Alto

Idiomas com morfologia complexa, scripts não latinos ou sem limites de palavras consistentemente apresentam desempenho inferior.

A Abordagem em Três Níveis da anonym.legal

Resolvemos o NER multilíngue através de três níveis especializados:

Nível 1: spaCy (25 idiomas)

Para idiomas de alto recurso com bons modelos:

  • Inglês, Alemão, Francês, Espanhol, Italiano, Português
  • Holandês, Polonês, Russo, Grego
  • E mais 15 com precisão confiável

Nível 2: Stanza (7 idiomas)

Para idiomas com morfologia complexa:

  • Árabe (morfológica de raiz-padrão)
  • Chinês (segmentação de palavras necessária)
  • Japonês (múltiplos scripts)
  • Coreano (aglutinação)
  • E mais 3

Nível 3: XLM-RoBERTa (16 idiomas)

Para idiomas de baixo recurso sem modelos dedicados:

  • Tailandês, Vietnamita, Indonésio
  • Hindi, Bengali, Tamil
  • Hebraico, Turco, Persa
  • E mais

Como Funciona

Texto de entrada com detecção de idioma
        ↓
[Roteador de Idioma]
        ↓
┌───────┴───────┐
↓               ↓
Alto-recurso   Complexo/Baixo-recurso
(spaCy)         (Stanza/XLM-RoBERTa)
↓               ↓
└───────┬───────┘
        ↓
[Sobreposição de Regex para dados estruturados]
        ↓
[Fusão de confiança]
        ↓
Entidades finais

Sobreposição de Regex

Alguns padrões são independentes de idioma:

  • Endereços de email: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
  • Cartões de crédito: \d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}
  • Números de telefone: Vários padrões por país

Aplicamos regex primeiro para dados estruturados, independentemente do idioma.

Tratamento de Script RTL

Idiomas da direita para a esquerda requerem tratamento especial:

Algoritmo de Texto Bidirecional

Quando o árabe contém inglês:

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

Nosso processamento:

  1. Normalizar para a ordem lógica
  2. Executar NER na ordem lógica
  3. Mapear posições de entidades de volta para a ordem visual
  4. Retornar posições consistentes para qualquer renderização

Detecção de Limites de Entidade

Os limites de entidades árabes são complexos:

"محمد" - apenas o nome
"لمحمد" - "para Muhammad" (preposição anexada)
"ومحمد" - "e Muhammad" (conjunção anexada)

Removemos afixos antes do NER e reanexamos depois.

Mudança de Código

Texto real frequentemente mistura idiomas:

"El meeting con John es at 3pm"
(mistura de espanhol-inglês)

"我今天跟John去shopping"
(mistura de chinês-inglês)

Nossa abordagem:

  1. Segmentar texto por idioma
  2. Processar cada segmento com o modelo apropriado
  3. Mesclar resultados com mapeamento de posição

Referências de Desempenho

Testes internos em conjuntos de dados de idiomas mistos:

CenárioF1-Score
Apenas inglês91%
Apenas alemão88%
Apenas árabe79%
Apenas chinês81%
Mistura inglês-árabe83%
Mistura inglês-chinês84%
Mistura inglês-alemão89%

Nossa abordagem híbrida mantém alta precisão mesmo em idiomas desafiadores.

Dicas de Implementação

Para Usuários da API

Especifique o idioma quando conhecido:

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

Deixe-nos detectar automaticamente quando desconhecido:

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

Para Usuários do Aplicativo de Desktop

O aplicativo detecta automaticamente o idioma por documento. Para arquivos de idiomas mistos, ele processa cada segmento adequadamente.

Para Tipos de Entidade Personalizados

Padrões personalizados devem considerar scripts:

# ID de funcionário em inglês
EMP-[0-9]{6}

# ID de funcionário em árabe (inclui números árabes)
موظف-[٠-٩0-9]{6}

Conclusão

Modelos de NER treinados em inglês falham em texto não inglês porque os idiomas diferem fundamentalmente em:

  • Limites de palavras (ou a falta deles)
  • Complexidade morfológica
  • Direção do script
  • Convenções de nomes

A detecção multilíngue eficaz de PII requer:

  1. Modelos específicos para idiomas com scripts complexos
  2. Padrões de regex para dados estruturados
  3. Tratamento adequado de RTL/BiDi
  4. Suporte à mudança de código

anonym.legal suporta 48 idiomas através de nossa abordagem em três níveis, alcançando precisão consistente em todos.

Experimente você mesmo:


Fontes:

Pronto para proteger seus dados?

Comece a anonimizar PII com mais de 285 tipos de entidades em 48 idiomas.