NER sa Maraming Wika: Mga Hamon sa Pagtuklas ng PII
Na-update para sa 2026
Ang Agwat sa Katumpakan
Ang mga modelo ng NER na sinanay sa Ingles ay nakakamit ng 85-92% na F1 sa mga karaniwang pagsubok. Ilapat ang parehong mga modelo sa teksto ng Arabe o Tsino. Bumababa ang katumpakan sa 50-70%.
Para sa trabaho sa PII, ang agwat na iyon ay isang problema. Ang 70% na hit rate ay nangangahulugang 30% ng sensitibong datos ang hindi nakikita.
Ang mga sanhi ay hindi mga bug. Nagmumula ang mga ito sa pagkakaiba ng mga sistema ng pagsulat.
Apat na Pangunahing Sanhi
1. Mga Hangganan ng Salita
Hinahati ng Ingles ang mga salita gamit ang mga espasyo. Madali ang tokenization.
Walang espasyo ang Tsino.
"张伟住在北京"
→ Hatiin muna: ["张伟", "住在", "北京"]
Hindi maaaring mag-tag ang isang modelo ng hindi nito mahanap. Ang paghahati ay dapat mauna sa NER.
Nagtatali ang Arabe ng mga titik sa loob ng isang salita. Iniiwan ang mga maikling patinig. Tumatakbo ang teksto mula kanan pakaliwa.
"محمد يعيش في دبي"
→ Walang maikling patinig, kanan-pakaliwa, nakataling mga titik
2. Morpolohiya
Nag-iiba ang mga pandiwang Ingles sa ilang paraan. Gumagamit ang Arabe ng sistema ng ugat. Ang isang ugat ay lumilikha ng daan-daang salita.
كتب (k-t-b, "sumulat")
→ كاتب (manunulat), كتاب (libro), مكتبة (aklatan)
Kailangang i-parse ng NER ang mga ugat upang mahanap ang mga pangalan sa mga nagmulang anyo ng salita.
3. Mga Kombensyon ng Pangalan
Una ang pangalan ng tao sa mga pangalan sa Latin, pagkatapos ay apelyido. Nagtatali ang mga pangalan sa mga wikang RTL ng mga ugnayan ng pamilya.
محمد بن عبد الله
(Muhammad anak ng Abdullah)
Sa Tsino, ang pangalan ng pamilya ay unang nilalagay. Karamihan sa mga pangalan ay dalawa o tatlong karakter ang haba.
张伟 (Zhang Wei) — 2 karakter
欧阳修 (Ouyang Xiu) — 3 karakter
Ang isang modelo na itinayo sa mga pattern ng pangalan ng Kanluran ay mapalampas ang mga istrukturang ito.
4. Direksyon ng Teksto
Ang ilang mga wika ay tumatakbo mula kanan pakaliwa. Kapag ang teksto ng RTL ay nagtataglay ng pangalang Ingles, ang visual na pagkakasunud-sunod at ang lohikal na pagkakasunud-sunod ay naghihiwalay. Ito ay tinatawag na BiDi text. Nangangailangan ito ng maingat na pag-parse.
Mga F1 Score ayon sa Sistema ng Pagsulat
| Wika | Sistema ng Pagsulat | Saklaw ng F1 | Antas |
|---|---|---|---|
| Ingles | Latin | 85-92% | Mababa |
| Aleman | Latin | 82-88% | Mababa |
| Pranses | Latin | 80-87% | Mababa |
| Espanyol | Latin | 81-86% | Mababa |
| Ruso | Cyrillic | 75-83% | Katamtaman |
| Arabe | Abjad | 55-75% | Mataas |
| Tsino | Hanzi | 60-78% | Mataas |
| Hapon | Halo | 65-80% | Mataas |
| Thai | Thai | 50-70% | Napakataas |
| Hindi | Devanagari | 60-75% | Mataas |
Ang mga sistema na hindi Latin at mga nawawalang agwat ng salita ay nagpapababa ng mga marka sa lahat ng dako.
Solusyon sa Tatlong Antas
Gumagamit kami ng tatlong antas upang masaklaw ang 48 wika at mga sistema ng pagsulat.
Antas 1: spaCy — 25 Wika
Para sa mga wika na may malakas, nasubok na mga modelo. Sumasaklaw ito sa Ingles, Aleman, Pranses, Espanyol, Italyano, Portuges, Dutch, Polish, Ruso, at Griyego.
Antas 2: Stanza — Mga Kumplikadong Wika
Hinahawakan ng Stanford Stanza ang Arabe, Tsino, Hapon, at Koreano. Nagpapatakbo ito ng mga paghahati ng salita at pagsusuri ng ugat bago ang NER.
Antas 3: XLM-RoBERTa — Mga Wikang Mababa ang Mapagkukunan
Para sa mga wika na walang dedicated na mga modelo. Ang Thai, Vietnamese, Hindi, Bengali, Hebrew, Turkish, at Farsi ay napupunta dito. Hinahawakan nito ang mixed-language na teksto nang walang anumang explicit na mga flag na kailangan.
RTL at BiDi
Kailangan ng mga karagdagang hakbang ang teksto na kanan-pakaliwa lampas sa paghahati.
Ang aming pipeline:
- Nagno-normalize ng teksto sa lohikal na pagkakasunud-sunod.
- Nagpapatakbo ng NER sa pagkakasunud-sunod na iyon.
- Nagmamapa ng mga posisyon ng entidad pabalik sa visual na pagkakasunud-sunod.
Inaalis namin ang mga nakakapit na prefix bago ang NER at idinaragdag ang mga ito pabalik pagkatapos.
"محمد" — pangalan lamang
"لمحمد" — "para kay Muhammad" (prefix na naka-on)
Paglipat ng Code
Madalas na naghahalo ang mga tunay na dokumento ng mga wika sa isang linya.
"El meeting con John es at 3pm"
"我今天跟John去shopping"
Hinahati ng aming pipeline ayon sa wika. Nagpapatakbo ito ng tamang modelo sa bawat bahagi. Pagkatapos ay pinagsasama nito ang mga resulta na may pagmamapa ng posisyon.
Mga Panloob na Benchmark
Mga resulta mula sa mga panloob na pagsubok sa mixed-language na datos:
| Senaryo | F1 |
|---|---|
| Ingles lamang | 91% |
| Aleman lamang | 88% |
| Arabe lamang | 79% |
| Tsino lamang | 81% |
| Halo ng Ingles-Arabe | 83% |
| Halo ng Ingles-Tsino | 84% |
| Halo ng Ingles-Aleman | 89% |
Mga Tala sa Setup
Ang desktop app ay awtomatikong nag-dede-detect ng wika bawat dokumento. Para sa mga mixed-language na file, pinoproseso nito ang bawat segment gamit ang tamang modelo. Walang manu-manong hakbang ang kailangan.
Itakda ang wika sa API kapag alam mo ito:
{
"text": "محمد بن عبد الله",
"language": "ar"
}
Gamitin ang auto-detect kapag hindi mo alam:
{
"text": "محمد بن عبد الله",
"language": "auto"
}
Ang mga custom na pattern ay dapat sumasaklaw sa mga digit na partikular sa locale:
# Latin na ID ng empleyado
EMP-[0-9]{6}
# Arabic na ID ng empleyado (kasama ang mga Arabic-Indic na digit)
موظف-[٠-٩0-9]{6}
Tingnan ang buong listahan ng entidad. Para sa setup ng API, bisitahin ang pahina ng mga tampok ng API. Sinasaklaw ng aming gabay sa pagsunod sa GDPR kung paano nakakaapekto ang mga agwat sa pagtuklas sa batas ng proteksyon ng datos.
Gumagamit ang anonym.legal ng three-tier NER stack — spaCy, Stanza, at XLM-RoBERTa — upang masaklaw ang 48 wika na may pare-parehong pagtuklas ng PII.