Повеќејазичен NER: Предизвици во откривањето на PII
Ажурирано за 2026 година
Јазот во точноста
NER моделите обучени на англиски достигнуваат F1 резултати од 85-92% на стандардни тестови. Применете ги истите модели на арапски или кинески текст. Точноста паѓа на 50-70%.
За работата со PII, тој јаз е проблем. Стапка на погодување од 70% значи дека 30% од чувствителните податоци остануваат незабележани.
Причините не се грешки. Произлегуваат од тоа како писмените системи се разликуваат.
Четири основни причини
1. Граници на зборови
Англискиот ги разделува зборовите со празни места. Токенизацијата е лесна.
Кинескиот воопшто нема празни места.
"张伟住在北京"
→ Прво разделете: ["张伟", "住在", "北京"]
Моделот не може да означи она што не може да го пронајде. Разделувањето мора да дојде пред NER.
Арапскиот ги поврзува буквите во рамките на зборот. Кратките самогласки се изоставени. Текстот оди од десно кон лево.
"محمد يعيش في دبي"
→ Без кратки самогласки, одесно нолево, поврзани букви
2. Морфологија
Англиските глаголи се менуваат на неколку начини. Арапскиот користи систем на корени. Еден корен создава десетици зборови.
كتب (k-t-b, "пишува")
→ كاتب (писател), كتاب (книга), مكتبة (библиотека)
NER мора да ги анализира корените за да ги пронајде имињата во изведените форми на зборови.
3. Конвенции за имиња
Латинските имиња одат прво Ime потоа Презиме. Имињата во RTL јазиците ги поврзуваат семејните врски.
محمد بن عبد الله
(Мухамед, sin на Абдулах)
Кинеските имиња го ставаат семејното име прво. Повеќето имиња се долги два или три знаци.
张伟 (Zhang Wei) — 2 знаци
欧阳修 (Ouyang Xiu) — 3 знаци
Модел изграден на западни обрасци на имиња ќе ги пропушти овие структури.
4. Насока на текст
Некои јазици одат од десно кон лево. Кога RTL текстот содржи англиско иле, визуелниот редослед и логичниот редослед се разделуваат. Ова се нарекува BiDi текст. Бара внимателно анализирање.
F1 резултати по писмен систем
| Јазик | Писмен систем | F1 опсег | Ниво |
|---|---|---|---|
| Англиски | Латиница | 85-92% | Ниско |
| Германски | Латиница | 82-88% | Ниско |
| Француски | Латиница | 80-87% | Ниско |
| Шпански | Латиница | 81-86% | Ниско |
| Руски | Кирилица | 75-83% | Средно |
| Арапски | Абџад | 55-75% | Високо |
| Кинески | Хинзи | 60-78% | Високо |
| Јапонски | Мешан | 65-80% | Високо |
| Тајландски | Тајски | 50-70% | Многу високо |
| Хинди | Деванагари | 60-75% | Високо |
Не-латинските системи и празнините во зборовите ги намалуваат резултатите.
Решение со три нивоа
Користиме три нивоа за покривање на 48 јазика и писмени системи.
Ниво 1: spaCy — 25 јазика
За јазици со силни, тестирани модели. Ова ги опфаќа англискиот, германскиот, францускиот, шпанскиот, италијанскиот, португалскиот, холандскиот, полскиот, рускиот и грчкиот.
Ниво 2: Stanza — Сложени јазици
Stanza на Stanford ракува со арапски, кинески, јапонски и корејски. Извршува разделување на зборови и анализа на корени пред NER.
Ниво 3: XLM-RoBERTa — Јазици со малку ресурси
За јазици без посветени модели. Тајландски, виетнамски, хинди, бенгалски, хебрејски, турски и фарси одат тука. Ракува со мешан јазичен текст без потреба за изрични ознаки.
RTL и BiDi
Текстот од десно кон лево потребни се дополнителни чекори освен разделувањето.
Нашиот пајплајн:
- Го нормализира текстот во логичен редослед.
- Го извршува NER на тој редослед.
- Ги враќа позициите на ентитетите назад во визуелен редослед.
Ги отстрануваме прикачените префикси пред NER и ги додаваме назад потоа.
"محمد" — само ime
"لمحمد" — "на Мухамед" (префикс вклучен)
Префрлување кодови
Вистинските документи честопати мешаат јазици во еден ред.
"El meeting con John es at 3pm"
"我今天跟John去shopping"
Нашиот пајплајн разделува по јазик. Го извршува правилниот модел на секој дел. Потоа ги спојува резултатите со пресликување на позиции.
Интерни бенчмаркови
Резултати од интерни тестови на мешани јазични податоци:
| Сценарио | F1 |
|---|---|
| Само англиски | 91% |
| Само германски | 88% |
| Само арапски | 79% |
| Само кинески | 81% |
| Мешан англиски-арапски | 83% |
| Мешан англиски-кинески | 84% |
| Мешан англиски-германски | 89% |
Белешки за поставување
Десктоп апликацијата автоматски открива јазик по документ. За мешани јазични датотеки, тој обработува секој сегмент со правилниот модел. Не е потребен рачен чекор.
Поставете го јазикот во API кога го знаете:
{
"text": "محمد بن عبد الله",
"language": "ar"
}
Користете автоматско откривање кога не го знаете:
{
"text": "محمد بن عبد الله",
"language": "auto"
}
Приспособените обрасци треба да опфатат цифри специфични за локалот:
# Латинско ИД на вработен
EMP-[0-9]{6}
# Арапско ИД на вработен (вклучува арапско-индиски цифри)
موظف-[٠-٩0-9]{6}
Видете ја целосната листа на ентитети. За поставување на API, посетете ја страницата за функции на API. Нашиот водич за усогласеност со GDPR покрива kako јазовите во детекцијата влијаат на законот за заштита на податоци.
anonym.legal користи тро-нивовски NER стек — spaCy, Stanza и XLM-RoBERTa — за покривање на 48 јазика со доследно откривање на PII.