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
| Taal | Skryfstelsel | F1-reeks | Vlak |
|---|---|---|---|
| Engels | Latyn | 85-92% | Laag |
| Duits | Latyn | 82-88% | Laag |
| Frans | Latyn | 80-87% | Laag |
| Spaans | Latyn | 81-86% | Laag |
| Russies | Sirillies | 75-83% | Medium |
| Arabies | Abjad | 55-75% | Hoog |
| Sjinees | Hanzi | 60-78% | Hoog |
| Japannees | Gemeng | 65-80% | Hoog |
| Thai | Thai | 50-70% | Baie Hoog |
| Hindi | Devanagari | 60-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:
- Normaliseer teks na logiese volgorde.
- Voer NER op daardie volgorde uit.
- 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:
| Scenario | F1 |
|---|---|
| Engels alleen | 91% |
| Duits alleen | 88% |
| Arabies alleen | 79% |
| Sjinees alleen | 81% |
| Engels-Arabies gemeng | 83% |
| Engels-Sjinees gemeng | 84% |
| Engels-Duits gemeng | 89% |
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.