Torna al BlogTecnico

NER Multilingue: Perché il tuo modello addestrato in...

I modelli NER in inglese raggiungono un'accuratezza dell'85-92%. Arabo e cinese? Spesso 50-70%.

February 26, 20268 min di lettura
NERmultilingualArabic NLPChinese NLPPII detection

La Sfida del NER Multilingue

I modelli di Riconoscimento delle Entità Nominate (NER) addestrati in inglese ottengono risultati impressionanti: punteggi F1 dell'85-92% su benchmark standard. Applicare quegli stessi modelli all'arabo o al cinese? L'accuratezza spesso scende al 50-70%.

Per la rilevazione PII, questo divario è critico. Un tasso di rilevazione del 70% significa che il 30% dei dati sensibili non è protetto.

Perché i Modelli Inglesi Falliscono

1. Confini delle Parole

Inglese: Le parole sono separate da spazi.

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

Cinese: Nessun confine di parola.

"张伟住在北京"
→ Necessita di segmentazione prima: ["张伟", "住在", "北京"]

Arabo: Le parole si connettono e le vocali brevi non sono scritte.

"محمد يعيش في دبي"
→ Scrittura connessa, da destra a sinistra, vocali omesse

Le regole di tokenizzazione inglesi semplicemente non si applicano.

2. Complessità Morfologica

Morfologia inglese: Relativamente semplice

run → runs, running, ran

Morfologia araba: Estremamente complessa (sistema radice-modello)

كتب (k-t-b, "radice scrivere")
→ كاتب (scrittore), كتاب (libro), مكتبة (biblioteca), يكتب (scrive)

Una singola radice araba genera decine di parole correlate. I modelli NER devono comprendere questo sistema di derivazione.

3. Convenzioni sui Nomi

Nomi inglesi: Nome Cognome

John Smith, Mary Johnson

Nomi arabi: Componenti multipli

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

Nomi cinesi: Cognome prima, spesso 2-3 caratteri in totale

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

4. Direzione della Scrittura

Inglese: Da sinistra a destra (LTR) Arabo/Ebraico: Da destra a sinistra (RTL) Testo misto: Bidirezionale (BiDi) - estremamente complesso

Quando un nome inglese appare in un testo arabo:

التقيت بـ John Smith في المؤتمر
(Ho incontrato John Smith alla conferenza)

L'ordine di rendering, l'ordine logico e l'ordine di visualizzazione differiscono tutti.

Accuratezza per Lingua

Le prestazioni NER nel mondo reale variano drasticamente:

LinguaScritturaIntervallo F1-ScoreLivello di Sfida
IngleseLatino85-92%Basso
TedescoLatino82-88%Basso
FranceseLatino80-87%Basso
SpagnoloLatino81-86%Basso
RussoCirillico75-83%Medio
AraboArabo55-75%Alto
CineseHanzi60-78%Alto
GiapponeseMisto65-80%Alto
ThaiThai50-70%Molto Alto
HindiDevanagari60-75%Alto

Le lingue con morfologia complessa, scritture non latine o senza confini di parola mostrano costantemente prestazioni inferiori.

L'Approccio a Tre Livelli di anonym.legal

Risolviamo il NER multilingue attraverso tre livelli specializzati:

Livello 1: spaCy (25 lingue)

Per lingue ad alta risorsa con buoni modelli:

  • Inglese, Tedesco, Francese, Spagnolo, Italiano, Portoghese
  • Olandese, Polacco, Russo, Greco
  • E altre 15 con accuratezza affidabile

Livello 2: Stanza (7 lingue)

Per lingue con morfologia complessa:

  • Arabo (morfologia radice-modello)
  • Cinese (richiesta di segmentazione delle parole)
  • Giapponese (script multipli)
  • Coreano (agglutinativo)
  • E altre 3

Livello 3: XLM-RoBERTa (16 lingue)

Per lingue a bassa risorsa senza modelli dedicati:

  • Thai, Vietnamita, Indonesiano
  • Hindi, Bengali, Tamil
  • Ebraico, Turco, Farsi
  • E altro

Come Funziona

Input di testo con rilevamento della lingua
        ↓
[Router di Lingua]
        ↓
┌───────┴───────┐
↓               ↓
Alta risorsa   Complesso/Bassa risorsa
(spaCy)         (Stanza/XLM-RoBERTa)
↓               ↓
└───────┬───────┘
        ↓
[Overlay Regex per dati strutturati]
        ↓
[Fusione della fiducia]
        ↓
Entità finali

Overlay Regex

Alcuni modelli sono indipendenti dalla lingua:

  • Indirizzi email: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
  • Carte di credito: \d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}
  • Numeri di telefono: Vari modelli per paese

Applichiamo prima il regex per i dati strutturati, indipendentemente dalla lingua.

Gestione degli Script RTL

Le lingue da destra a sinistra richiedono una gestione speciale:

Algoritmo di Testo Bidirezionale

Quando l'arabo contiene inglese:

Visivo: المؤتمر في John Smith بـ التقيت
Logico: التقيت بـ John Smith في المؤتمر

Il nostro processo:

  1. Normalizza all'ordine logico
  2. Esegui NER nell'ordine logico
  3. Mappa le posizioni delle entità di nuovo all'ordine visivo
  4. Restituisci posizioni coerenti per qualsiasi rendering

Rilevamento dei Confini delle Entità

I confini delle entità arabe sono complessi:

"محمد" - solo il nome
"لمحمد" - "a Muhammad" (preposizione attaccata)
"ومحمد" - "e Muhammad" (congiunzione attaccata)

Rimuoviamo i suffissi prima del NER e li riattacchiamo dopo.

Code-Switching

Il testo reale spesso mescola lingue:

"El meeting con John es at 3pm"
(miscela spagnolo-inglese)

"我今天跟John去shopping"
(miscela cinese-inglese)

Il nostro approccio:

  1. Segmenta il testo per lingua
  2. Elabora ogni segmento con il modello appropriato
  3. Unisci i risultati con mappatura delle posizioni

Benchmark delle Prestazioni

Test interni su dataset multilingue:

ScenarioF1-Score
Solo inglese91%
Solo tedesco88%
Solo arabo79%
Solo cinese81%
Mix inglese-arabo83%
Mix inglese-cinese84%
Mix inglese-tedesco89%

Il nostro approccio ibrido mantiene alta accuratezza anche su lingue difficili.

Consigli per l'Implementazione

Per gli Utenti API

Specifica la lingua quando nota:

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

Lasciaci rilevare automaticamente quando sconosciuto:

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

Per gli Utenti dell'App Desktop

L'app rileva automaticamente la lingua per documento. Per file multilingue, elabora ogni segmento in modo appropriato.

Per Tipi di Entità Personalizzati

I modelli personalizzati dovrebbero tenere conto degli script:

# ID dipendente inglese
EMP-[0-9]{6}

# ID dipendente arabo (include numeri arabi)
موظف-[٠-٩0-9]{6}

Conclusione

I modelli NER addestrati in inglese falliscono su testi non inglesi perché le lingue differiscono fondamentalmente in:

  • Confini delle parole (o mancanza di essi)
  • Complessità morfologica
  • Direzione della scrittura
  • Convenzioni sui nomi

Una rilevazione PII multilingue efficace richiede:

  1. Modelli specifici per lingua per script complessi
  2. Modelli regex per dati strutturati
  3. Gestione adeguata RTL/BiDi
  4. Supporto per code-switching

anonym.legal supporta 48 lingue attraverso il nostro approccio a tre livelli, raggiungendo un'accuratezza coerente in tutte.

Provalo tu stesso:


Fonti:

Pronto a proteggere i tuoi dati?

Inizia ad anonimizzare i PII con oltre 285 tipi di entità in 48 lingue.