Terug na BlogTegnies

Meertalige NER: Engels Misluk vir Arabies

Engelse NER-modelle bereik 85-92% akkuraatheid. Arabies en Sjinees? Dikwels 50-70%. Leer oor die tegniese uitdagings en hoe om werklik meertalige stelsels te bou.

February 26, 20268 min lees
NERmultilingualArabic NLPChinese NLPPII detection

Meertalige NER: Uitdagings in PII-opsporing

Opgedateer vir 2026

Die Akkuuraatheidsgaping

NER-modelle wat op Engels opgelei is, bereik 85-92% F1 op standaardtoetse. Pas daardie modelle toe op Arabiese of Sjinese teks. Akkuraatheid daal na 50-70%.

Vir PII-werk is daardie gaping 'n probleem. 'n 70%-trefferkoers beteken 30% van sensitiewe data bly onsigbaar.

Die oorsake is nie foute nie. Hulle spruit uit hoe skryfstelsel verskil.

Vier Grondoorsake

1. Woordgrense

Engels verdeel woorde met spasies. Tokenisasie is maklik.

Sjinees het glad geen spasies nie.

"Zhang Wei woon in Beijing"
-> Verdeel eers: ["Zhang Wei", "woon", "in", "Beijing"]

'n Model kan nie merk wat dit nie kan vind nie. Verdeling moet voor NER kom.

Arabies koppel letters binne 'n woord. Kort vokale word weggelaat. Teks loop van regs na links.

"Mohammed leef in Dubai"
-> Geen kort vokale, regs-na-links, gekoppelde letters

2. Morfologie

Engelse werkwoorde verander op 'n paar maniere. Arabies gebruik 'n worteltelsel. Een wortel skep dosyne woorde.

k-t-b ("skryf")
-> skrywer, boek, biblioteek

NER moet wortels ontleed om name in afgeleide woordvorms te vind.

3. Naamkonvensies

Latynse name gaan Voornaam dan Vanne. Name in RTL-tale koppel familieskakels aanmekaar.

Mohammed seun-van Abdullah

Sjinese name stel die familienaam eerste. Die meeste name is twee of drie karakters lank.

Zhang Wei -- 2 karakters
Ouyang Xiu -- 3 karakters

'n Model gebou op Westerse naampatrone sal hierdie strukture mis.

4. Teksrigting

Sommige tale loop van regs na links. Wanneer RTL-teks 'n Engelse naam bevat, splits visuele volgorde en logiese volgorde. Dit word BiDi-teks genoem. Dit vereis noukeurige ontleding.

F1-tellings per Skryfstelsel

TaalSkryfstelselF1-reeksVlak
EngelsLatyn85-92%Laag
DuitsLatyn82-88%Laag
FransLatyn80-87%Laag
SpaansLatyn81-86%Laag
RussiesSirillies75-83%Medium
ArabiesAbjad55-75%Hoog
SjineesHanzi60-78%Hoog
JapanneesGemeng65-80%Hoog
ThaiThai50-70%Baie Hoog
HindiDevanagari60-75%Hoog

Nie-Latynse stelsels en ontbrekende woordgapings verlaag tellings regdeur die bord.

Drie-Vlak-oplossing

Ons gebruik drie vlakke om 48 tale en skryfstelsels te dek.

Vlak 1: spaCy -- 25 Tale

Vir tale met sterk, getoetste modelle. Dit dek Engels, Duits, Frans, Spaans, Italiaans, Portugees, Nederlands, Pools, Russies en Grieks.

Vlak 2: Stanza -- Komplekse Tale

Stanford Stanza hanteer Arabies, Sjinees, Japannees en Koreaans. Dit voer woordverdeling en wortelontleding uit voor NER.

Vlak 3: XLM-RoBERTa -- Lae-hulpbron Tale

Vir tale sonder toegewyde modelle. Thai, Vietnamees, Hindi, Bengaals, Hebreeus, Turks en Farsi gaan hierheen. Dit hanteer gemengde taalteks sonder eksplisiete merkers.

RTL en BiDi

Regs-na-links teks benodig ekstra stappe buite verdeling.

Ons pyplyn:

  1. Normaliseer teks na logiese volgorde.
  2. Voer NER op daardie volgorde uit.
  3. Karteer entiteitsposisies terug na visuele volgorde.

Ons stroop aangehegte voorvoegsels voor NER en voeg dit terug na.

"Mohammed" -- net naam
"vir Mohammed" -- voorvoegsel aan

Kodewisseling

Werklike dokumente meng dikwels tale in een reel.

"Die vergadering met John is om 3nm"
"Ek het vandag saam met John gaan inkopies doen"

Ons pyplyn verdeel per taal. Dit voer die regte model op elke deel uit. Dan voeg dit resultate saam met posisiekartering.

Interne Maatstawwe

Resultate van interne toetse op gemengde taalteks:

ScenarioF1
Engels alleen91%
Duits alleen88%
Arabies alleen79%
Sjinees alleen81%
Engels-Arabies gemeng83%
Engels-Sjinees gemeng84%
Engels-Duits gemeng89%

Instelling-notas

Die Tafelrekenaarprogram stel taal outomaties per dokument op. Vir gemengde taaleers verwerk dit elke segment met die regte model. Geen handmatige stap is nodig nie.

Stel die taal in die API in wanneer jy dit ken:

{
  "text": "Mohammed seun van Abdullah",
  "language": "ar"
}

Gebruik outo-opsporing wanneer jy dit nie doen nie:

{
  "text": "Mohammed seun van Abdullah",
  "language": "auto"
}

Pasgemaakte patrone moet plaaslike syfers dek:

# Latynse werknemer-ID
WNR-[0-9]{6}

# Arabiese werknemer-ID (sluit Arabiese-Indiese syfers in)
wrknmr-[0-9]{6}

Sien die volledige entiteitslys. Vir API-opstelling, besoek die API-kenmerke-bladsy. Ons GDPR-nakomingsgids dek hoe opsporingsgapings dataskermingswet beinvloed.


anonym.legal gebruik 'n drie-vlak NER-stapel -- spaCy, Stanza en XLM-RoBERTa -- om 48 tale met konsekwente PII-opsporing te dek.

Bronne

Gereed om u data te beskerm?

Begin om PII te anonimiseer met 273 entiteitstipes in 48 tale.