Povratak na BlogTehnički

Višejezični NER: Engleski zakazuje za arapski

NER modeli obučeni na engleskom dosežu 85–92% točnosti. Arapski i kineski? Često 50–70%. Saznajte o tehničkim izazovima i kako izgraditi stvarno višejezično rješenje.

February 26, 20268 min čitanja
NERmultilingualArabic NLPChinese NLPPII detection

Višejezični NER: Izazovi u detekciji osobnih podataka

Ažurirano za 2026.

Jaz u točnosti

NER modeli obučeni na engleskom dosežu 85–92% F1 na standardnim testovima. Primijenite te iste modele na arapski ili kineski tekst. Točnost pada na 50–70%.

Za rad s osobnim podacima, taj jaz je problem. Stopa pogodaka od 70% znači da 30% osjetljivih podataka ostaje neprimijećeno.

Uzroci nisu greške. Dolaze iz razlika u načinu pisanja.

Četiri korijenskih uzroka

1. Granice riječi

Engleski dijeli riječi razmacima. Tokenizacija je jednostavna.

Kineski nema nikakvih razmaka.

"张伟住在北京"
→ Najprije podijeliti: ["张伟", "住在", "北京"]

Model ne može označiti ono što ne može pronaći. Razdvajanje mora doći prije NER-a.

Arapski spaja slova unutar riječi. Kratki samoglasnici se izostavljaju. Tekst teče s desna na lijevo.

"محمد يعيش في دبي"
→ Bez kratkih samoglasnika, s desna na lijevo, spojena slova

2. Morfologija

Engleski glagoli se mijenjaju na nekoliko načina. Arapski koristi sustav korijena. Jedan korijen stvara desetke riječi.

كتب (k-t-b, "pisati")
→ كاتب (pisac), كتاب (knjiga), مكتبة (knjižnica)

NER mora analizirati korijene kako bi pronašao imena u izvedenim oblicima riječi.

3. Konvencije imenovanja

Latinska imena idu prvo Ime pa Prezime. Imena u jezicima koji se pišu s desna na lijevo nižu obiteljske veze.

محمد بن عبد الله
(Muhammad sin-od Abdullah)

Kineska imena stavljaju obiteljsko ime prvo. Većina imena je duga dva ili tri znaka.

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

Model izgrađen na zapadnim uzorcima imenovanja propustit će te strukture.

4. Smjer teksta

Neki jezici teku s desna na lijevo. Kada RTL tekst sadrži englesko ime, vizualni i logički redoslijed se razilaze. To se naziva BiDi tekst. Zahtijeva pažljivo raščlanjivanje.

F1 ocjene po pismu

JezikPismoF1 rasponRazina
EngleskiLatinica85–92%Niska
NjemačkiLatinica82–88%Niska
FrancuskiLatinica80–87%Niska
ŠpanjolskiLatinica81–86%Niska
RuskiĆirilica75–83%Srednja
ArapskiAbjad55–75%Visoka
KineskiHanzi60–78%Visoka
JapanskiMješovito65–80%Visoka
TajlandskiTajlandsko50–70%Vrlo visoka
HindiDevanagari60–75%Visoka

Ne-latinska pisma i nedostajuće granice između riječi snižavaju ocjene.

Trorazinska rješenja

Koristimo tri razine za pokrivanje 48 jezika i pisama.

Razina 1: spaCy — 25 jezika

Za jezike s jakim, testiranim modelima. Pokriva engleski, njemački, francuski, španjolski, talijanski, portugalski, nizozemski, poljski, ruski i grčki.

Razina 2: Stanza — složeni jezici

Stanford Stanza rukuje arapskim, kineskim, japanskim i korejskim. Provodi dijeljenje riječi i analizu korijena prije NER-a.

Razina 3: XLM-RoBERTa — jezici s manje resursa

Za jezike bez namjenskih modela. Tajlandski, vijetnamski, hindi, bengalski, hebrejski, turski i perzijski idu ovdje. Rukuje mješovitim jezičnim tekstovima bez potrebe za eksplicitnim oznakama.

RTL i BiDi

Tekst koji teče s desna na lijevo zahtijeva dodatne korake.

Naš cjevovod:

  1. Normalizira tekst na logički redoslijed.
  2. Pokušava NER na tom redoslijedu.
  3. Preslikava pozicije entiteta natrag na vizualni redoslijed.

Uklanjamo priložene prefikse prije NER-a i dodajemo ih natrag nakon.

"محمد"  — samo ime
"لمحمد" — "za Muhammada" (prefiks dodan)

Prebacivanje između kodova

Pravi dokumenti često miješaju jezike u jednom retku.

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

Naš cjevovod dijeli po jeziku. Na svakom dijelu pokušava odgovarajući model. Zatim spaja rezultate s preslikavanjem pozicija.

Interni benchmarci

Rezultati internih testova na višejezičnim podacima:

ScenarijF1
Samo engleski91%
Samo njemački88%
Samo arapski79%
Samo kineski81%
Mješoviti engleski-arapski83%
Mješoviti engleski-kineski84%
Mješoviti engleski-njemački89%

Napomene o postavljanju

Desktop aplikacija automatski otkriva jezik po dokumentu. Za datoteke s miješanim jezicima, obrađuje svaki segment s odgovarajućim modelom. Nije potreban ručni korak.

Postavite jezik u API-ju kada ga znate:

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

Koristite automatsko otkrivanje kada ga ne znate:

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

Prilagođeni uzorci trebaju pokrivati cifre specifične za lokalizaciju:

# Latinički ID zaposlenika
EMP-[0-9]{6}

# Arapski ID zaposlenika (uključuje arapsko-indijske cifre)
موظف-[٠-٩0-9]{6}

Pogledajte puni popis entiteta. Za postavljanje API-ja, posjetite stranicu o API značajkama. Naš vodič o GDPR usklađenosti pokriva kako praznine u detekciji utječu na pravo zaštite podataka.


anonym.legal koristi trostupanjski NER skup — spaCy, Stanza i XLM-RoBERTa — kako bi pokrio 48 jezika uz dosljednu detekciju osobnih podataka.

Izvori

Spremni za zaštitu vaših podataka?

Započnite anonimizaciju PII-a s 273 vrsta entiteta na 48 jezika.