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

NER Multilíngue: Desafios na Detecção de Dados Pessoais

Atualizado para 2026

A Lacuna de Precisão

Modelos NER treinados em inglês atingem 85–92% de F1 em testes padrão. Aplique esses mesmos modelos a textos em árabe ou chinês. A precisão cai para 50–70%.

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

As causas não são bugs. Elas vêm das diferenças entre sistemas de escrita.

Quatro Causas Fundamentais

1. Limites de Palavras

O inglês separa palavras com espaços. A tokenização é simples.

O chinês não tem espaços.

"张伟住在北京"
→ Segmentar primeiro: ["张伟", "住在", "北京"]

Um modelo não pode rotular o que não encontra. A segmentação precede o NER.

O árabe conecta letras dentro de uma palavra. As vogais curtas são omitidas. O texto vai da direita para a esquerda.

"محمد يعيش في دبي"
→ Sem vogais curtas, da direita para a esquerda, letras conectadas

2. Morfologia

Os verbos em inglês mudam de poucas formas. O árabe usa um sistema de raízes. Uma raiz cria dezenas de palavras.

كتب (k-t-b, "escrever")
→ كاتب (escritor), كتاب (livro), مكتبة (biblioteca)

O NER deve analisar raízes para encontrar nomes em formas derivadas.

3. Convenções de Nomes

Nomes latinos seguem a ordem Primeiro Nome e Sobrenome. Nomes em idiomas RTL encadeiam vínculos familiares.

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

Nomes chineses colocam o sobrenome primeiro. A maioria dos nomes tem dois ou três caracteres.

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

Um modelo construído com padrões de nomes ocidentais não reconhecerá essas estruturas.

4. Direção do Texto

Alguns idiomas vão da direita para a esquerda. Quando um texto RTL contém um nome em inglês, a ordem visual e a ordem lógica divergem. Isso é chamado de texto BiDi. Ele requer análise cuidadosa.

Pontuações F1 por Sistema de Escrita

IdiomaSistema de EscritaFaixa F1Nível
InglêsLatino85–92%Baixo
AlemãoLatino82–88%Baixo
FrancêsLatino80–87%Baixo
EspanholLatino81–86%Baixo
RussoCirílico75–83%Médio
ÁrabeAbjad55–75%Alto
ChinêsHanzi60–78%Alto
JaponêsMisto65–80%Alto
TailandêsTailandês50–70%Muito alto
HindiDevanagari60–75%Alto

Sistemas não latinos e a ausência de espaços reduzem as pontuações de forma consistente.

Solução em Três Níveis

Usamos três níveis para cobrir 48 idiomas e sistemas de escrita.

Nível 1: spaCy — 25 Idiomas

Para idiomas com modelos sólidos e testados. Inclui inglês, alemão, francês, espanhol, italiano, português, holandês, polonês, russo e grego.

Nível 2: Stanza — Idiomas Complexos

O Stanford Stanza processa árabe, chinês, japonês e coreano. Ele executa segmentações e análises de raízes antes do NER.

Nível 3: XLM-RoBERTa — Idiomas de Baixo Recurso

Para idiomas sem modelos dedicados. Tailandês, vietnamita, hindi, bengali, hebraico, turco e farsi estão aqui. Funciona com texto misto sem marcadores de idioma explícitos.

RTL e BiDi

Texto da direita para a esquerda exige etapas além da segmentação.

Nosso pipeline:

  1. Normaliza o texto para a ordem lógica.
  2. Executa o NER nessa ordem.
  3. Mapeia as posições das entidades de volta à ordem visual.

Removemos prefixos antes do NER e os recolocamos depois.

"محمد"  — apenas o nome
"لمحمد" — "para Muhammad" (prefixo presente)

Alternância de Código

Documentos reais frequentemente misturam idiomas em uma linha.

"El meeting con John es at 3pm"
"我今天跟John去shopping"

Nosso pipeline divide por idioma. Executa o modelo certo em cada parte. Depois une os resultados com mapeamento de posições.

Benchmarks Internos

Resultados de testes internos com dados multilíngues:

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

Notas de Configuração

O aplicativo desktop detecta automaticamente o idioma por documento. Para arquivos mistos, processa cada segmento com o modelo correto. Nenhuma etapa manual é necessária.

Defina o idioma na API quando souber:

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

Use a detecção automática quando não souber:

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

Padrões personalizados devem cobrir dígitos específicos de localidade:

# ID de funcionário latino
EMP-[0-9]{6}

# ID de funcionário árabe (inclui dígitos árabe-índicos)
موظف-[٠-٩0-9]{6}

Veja a lista completa de entidades. Para configuração da API, visite a página de recursos da API. Nosso guia de conformidade RGPD explica como lacunas de detecção afetam a proteção de dados.


anonym.legal usa uma pilha NER de três níveis — spaCy, Stanza e XLM-RoBERTa — para cobrir 48 idiomas com detecção consistente de dados pessoais.

Fontes

Pronto para proteger seus dados?

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