Багатомовний NER: проблеми виявлення PII
Оновлено для 2026 року
Розрив у точності
NER-моделі, навчені на англійській мові, досягають 85–92% F1 на стандартних тестах. Застосуйте ці самі моделі до арабського або китайського тексту. Точність падає до 50–70%.
Для роботи з PII цей розрив є проблемою. Показник влучень 70% означає, що 30% чутливих даних залишаються непоміченими.
Причини — не помилки. Вони випливають із відмінностей між системами письма.
Чотири корінні причини
1. Межі слів
Англійська розділяє слова пробілами. Токенізація проста.
Китайська не має пробілів взагалі.
«张伟住在北京»
→ Спочатку розбити: [«张伟», «住在», «北京»]
Модель не може позначити те, що не знаходить. Розбиття має передувати NER.
Арабська з'єднує літери всередині слова. Короткі голосні пропускаються. Текст іде справа наліво.
«محمد يعيش في دبي»
→ Без коротких голосних, справа наліво, з'єднані літери
2. Морфологія
Англійські дієслова змінюються лише кількома способами. Арабська використовує кореневу систему. Один корінь породжує десятки слів.
كتب (k-t-b, «писати»)
→ كاتب (письменник), كتاب (книга), مكتبة (бібліотека)
NER має розбирати корені, щоб знаходити імена у похідних формах слів.
3. Конвенції імен
Латинські імена йдуть: Ім'я потім Прізвище. Імена в мовах справа наліво утворюють ланцюги родинних зв'язків.
محمد بن عبد الله
(Мухаммад, син Абдалли)
Китайські імена ставлять прізвище першим. Більшість імен складається з двох або трьох ієрогліфів.
张伟 (Чжан Вей) — 2 символи
欧阳修 (Оуян Сю) — 3 символи
Модель, побудована на зразках західних імен, пропустить ці структури.
4. Напрямок тексту
Деякі мови пишуться справа наліво. Коли текст справа наліво містить англійське ім'я, візуальний порядок і логічний порядок розходяться. Це називається двонаправленим текстом (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 — складні мови
Stanford Stanza обробляє арабську, китайську, японську та корейську. Виконує розбиття слів та кореневий аналіз перед NER.
Рівень 3: XLM-RoBERTa — малоресурсні мови
Для мов без спеціальних моделей. Тайська, в'єтнамська, гінді, бенгальська, іврит, турецька та фарсі переходять сюди. Обробляє мішаний текст без явних маркерів мови.
RTL та BiDi
Текст справа наліво потребує додаткових кроків поза розбиттям.
Наш конвеєр:
- Нормалізує текст до логічного порядку.
- Запускає NER на цьому порядку.
- Відображає позиції сутностей назад до візуального порядку.
Ми відокремлюємо приєднані префікси перед NER і додаємо їх назад після.
«محمد» — лише ім'я
«لمحمد» — «до Мухаммада» (з префіксом)
Перемикання кодів
Реальні документи часто змішують мови в одному рядку.
«El meeting con John es at 3pm»
«我今天跟John去shopping»
Наш конвеєр розбиває за мовою. Запускає правильну модель для кожної частини. Потім об'єднує результати з картуванням позицій.
Внутрішні бенчмарки
Результати внутрішніх тестів на змішаних мовних даних:
| Сценарій | F1 |
|---|---|
| Лише англійська | 91% |
| Лише німецька | 88% |
| Лише арабська | 79% |
| Лише китайська | 81% |
| Суміш англійська-арабська | 83% |
| Суміш англійська-китайська | 84% |
| Суміш англійська-німецька | 89% |
Примітки щодо налаштування
Десктопний застосунок автоматично визначає мову для кожного документа. Для файлів із кількома мовами він обробляє кожен сегмент відповідною моделлю. Ручних кроків не потрібно.
Вкажіть мову в API, якщо ви її знаєте:
{
"text": "محمد بن عبد الله",
"language": "ar"
}
Використовуйте автовизначення, якщо не знаєте:
{
"text": "محمد بن عبد الله",
"language": "auto"
}
Кастомні шаблони мають охоплювати цифри, специфічні для регіону:
# Латинський ID співробітника
EMP-[0-9]{6}
# Арабський ID співробітника (включає арабсько-індійські цифри)
موظف-[٠-٩0-9]{6}
Дивіться повний перелік сутностей. Для налаштування API відвідайте сторінку функцій API. Наш посібник з відповідності GDPR охоплює, як прогалини у виявленні впливають на законодавство про захист даних.
anonym.legal використовує трирівневий NER-стек — spaCy, Stanza та XLM-RoBERTa — для охоплення 48 мов із стабільним виявленням PII.