Instructions to use vladlinv/ru-pii-ner-gliner2.5 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- GLiNER2
How to use vladlinv/ru-pii-ner-gliner2.5 with GLiNER2:
from gliner2 import GLiNER2 model = GLiNER2.from_pretrained("vladlinv/ru-pii-ner-gliner2.5") # Extract entities text = "Apple CEO Tim Cook announced iPhone 15 in Cupertino yesterday." result = extractor.extract_entities(text, ["company", "person", "product", "location"]) print(result) - Notebooks
- Google Colab
- Kaggle
О модели
Модель ищет персональные данные в русскоязычных документах. Кроме имён, адресов, дат, телефонов и почты она размечает идентификаторы, по которым человека можно связать с документом: данные паспорта и миграционных документов, СНИЛС, ИНН и другие госномера, банковские реквизиты, медицинские, судебные, нотариальные, кадровые и учебные номера, данные об имуществе и транспорте, номера билетов и заказов, аккаунты, пропуска, внутренние коды систем и многое другое. В реальных документах именно на них приходится большая часть персональных данных.
Датасет размечен по контексту, поэтому модель находит идентификаторы, которые не описать регулярным выражением, и отличает данные человека от данных организации. Границы разметки опираются на 152-ФЗ и российскую правоприменительную практику. Разметка консервативная — если непонятно к кому данные относятся, значение считается персональными данными. При этом граница проводилась по юридическому смыслу, а не по принципу «замазать всё подряд», то есть данные организаций, справочные и служебные значения, не привязанные к человеку, остаются нетронутыми.
| vladlinv/ru-pii-ner-gliner2.5 | Распознавание типов и границ персональных данных. GLiNER2.5 |
| vladlinv/ru-pii-ner | Распознавание типов и границ персональных данных. ruRoberta-large |
| vladlinv/ru-pii-gate | Классификация фрагмента на наличие персональных данных |
Метрики
Валидационная выборка: 405 документов, 4 134 сущности
Метрики строгие: спан засчитывается только при точном совпадении границ с эталоном. Coverage мягче — доля эталонных сущностей, полностью покрытых предсказаниями того же класса.
| Класс | Сущностей | Precision | Recall | F1 | Coverage |
|---|---|---|---|---|---|
| PERSON | 789 | 93.28% | 91.51% | 92.39% | 92.52% |
| LOCATION | 249 | 88.94% | 74.30% | 80.96% | 78.31% |
| DATE | 562 | 89.64% | 75.44% | 81.93% | 78.11% |
| PHONE | 136 | 95.04% | 84.56% | 89.49% | 86.03% |
| 62 | 100.00% | 87.10% | 93.10% | 87.10% | |
| PII | 2 336 | 89.91% | 80.86% | 85.15% | 83.05% |
| Общее | 4 134 | 90.83% | 81.98% | 86.18% | 84.06% |
Зависимость от порога, по умолчанию 0.5:
| Порог | Precision | Recall | F1 | TP | FP | FN |
|---|---|---|---|---|---|---|
| 0.02 | 0.834 | 0.838 | 0.836 | 3 464 | 689 | 670 |
| 0.10 | 0.868 | 0.834 | 0.851 | 3 447 | 522 | 687 |
| 0.30 | 0.897 | 0.828 | 0.861 | 3 422 | 392 | 712 |
| 0.50 | 0.908 | 0.820 | 0.862 | 3 389 | 342 | 745 |
| 0.70 | 0.917 | 0.810 | 0.860 | 3 349 | 302 | 785 |
| 0.90 | 0.929 | 0.795 | 0.857 | 3 286 | 252 | 848 |
| 0.99 | 0.947 | 0.707 | 0.809 | 2 922 | 164 | 1 212 |
Датасет
4 097 примеров
Датасет полностью сгенерирован. Работа проходила в несколько этапов: юридическая проработка состава ПДн и правил разметки, генерация и аугментация документов, затем ручная доработка части примеров.
Примеры охватывают личные документы физических лиц, кадровую и внутреннюю документацию организаций, корпоративные и административные материалы, юридические и нормативные документы, договорную, коммерческую, финансовую, бухгалтерскую и банковскую документацию. Также государственные и регистрационные документы, медицинские, социальные и образовательные материалы, производственная и техническая документация, документы об имуществе и транспорте, деловая и пользовательская переписка, реестры, справочники, формы, таблицы и другие примеры.
Различные варианты bad OCR, HTML и Markdown, и других форматов. Около 6% примеров иностранные — английский, белорусский, узбекский, казахский, киргизский, таджикский, армянский, грузинский, азербайджанский.
| Класс | Сущностей | Примеров |
|---|---|---|
| PERSON | 7 790 | 2 629 |
| LOCATION | 1 918 | 763 |
| DATE | 4 514 | 1 481 |
| PHONE | 1 548 | 889 |
| 1 004 | 600 | |
| PII | 22 466 | 3 103 |
Архитектура
Полный файнтюн fastino/gliner2.5-multi-v1 — GLiNER2.5 на энкодере mDeBERTa-v3-base, 287M параметров.
Модель не перебирает все возможные фрагменты текста, а сразу предсказывает, где сущность начинается и где заканчивается, после чего сопоставляет найденный фрагмент с каждой меткой. На практике это значит, что длина сущности ничем не ограничена: длинные адреса, банковские реквизиты и составные идентификаторы не обрезаются, а скорость не падает на объёмных документах. За один проход модель принимает до 4096 токенов, поэтому большинство документов обрабатывается целиком, без нарезки на куски.
Список меток не зашит в веса, а подаётся на вход вместе с текстом. Метки можно переименовать под свою схему или добавить новые типы без переобучения — модель ищет их по смыслу названия. Но заявленное качество относится только к меткам из карточки: на произвольных метках оно не гарантировано.
Использование
Установка:
pip install gliner2
Загрузка модели и обработка текста:
from gliner2 import AutoExtractor
model = AutoExtractor.from_pretrained("vladlinv/ru-pii-ner-gliner2.5")
model.to("cuda")
LABELS = ["ru_pii_person", "ru_pii_location", "ru_pii_date",
"ru_pii_phone", "ru_pii_email", "ru_pii"]
result = model.extract_entities(
"Иван Петров, телефон +7 999 123-45-67",
LABELS,
threshold=0.5,
include_spans=True,
)
{
"entities": {
"ru_pii_person": [
{"text": "Иван Петров", "start": 0, "end": 11},
],
"ru_pii_phone": [
{"text": "+7 999 123-45-67", "start": 21, "end": 37},
],
"ru_pii_location": [],
"ru_pii_date": [],
"ru_pii_email": [],
"ru_pii": [
{"text": "Иван Петров", "start": 0, "end": 11},
{"text": "+7 999 123-45-67", "start": 21, "end": 37},
],
}
}
Остальные параметры, батчи и работа со схемами — в документации GLiNER2.
ru_pii — общий класс персональных данных. ru_pii_person, ru_pii_location, ru_pii_date, ru_pii_phone, ru_pii_email его подклассы. Поэтому один фрагмент может одновременно получить общий класс и более конкретный. Для обезличивания рекомендуется использовать объединение всех найденных классов. Общий класс служит дополнительной страховкой и покрывает персональные идентификаторы, для которых нет отдельной категории.
Предварительная фильтрация
Для потоковой обработки больших объёмов есть отдельная лёгкая модель vladlinv/ru-pii-gate — бинарный классификатор, который оценивает вероятность наличия персональных данных во фрагменте. Он не определяет типы и границы сущностей, а только отсеивает фрагменты без ПДн до запуска этой модели.
У классификатора примерно в десять раз меньше параметров, и он принимает до 8 192 токенов, поэтому им удобно фильтровать как документы целиком, так и отдельные окна длинного текста.
Ограничения
NER модель — только один из слоёв системы обезличивания ПДн. В реальной системе её необходимо дополнять регулярными выражениями, словарями и прикладными правилами. При этом ни модель, ни полностью автоматический пайплайн не могут гарантировать обнаружение всех чувствительных данных.
Модель предназначена для поиска персональных данных. Она не выявляет коммерческую тайну и другую конфиденциальную информацию, не относящуюся к физическим лицам: без отдельных правил такие сведения останутся открытыми.
Примеры работы модели
| Гражданин(ка) | Савицкий [PERSON 1.00] [PII 1.00] |
| :--- | :--- |
| фамилия | Кирилл Андреевич [PERSON 1.00] [PII 1.00] |
| родился(лась) | 16 мая 2006 [DATE 1.00] [PII 1.00] года |
| две тысячи шестого года [DATE 1.00] [PII 1.00] |
| о чем в книге регистрации актов о рождении |
| чиста | 11 [PII 0.92] |
| произведена запись за № | 642 [PII 0.99] |
| Место рождения: республика (государство) | Беларусь [LOCATION 0.95] [PII 0.98] |
| область (край) | |
| район [PII 0.68] | |
| город (поселок, село, деревня) | г. Могилёв [LOCATION 0.99] [PII 0.99] |
| РОДИТЕЛИ: | |
| Отец | Савицкий [PERSON 1.00] [PII 1.00] |
| Андрей Викторович [PERSON 1.00] [PII 1.00] |
| национальность | белорус |
| Мать | Савицкая [PERSON 0.99] [PII 1.00] |
| Елена Сергеевна [PERSON 1.00] [PII 1.00] |
| национальность | белорусская |
| Место регистрации рождения | О / ЗАГС администрации Ленинского района Могилёва |
| Дата выдачи « | 29 [DATE 1.00] [PII 0.99] |
| мая [DATE 0.96] [PII 0.91] | 2006 [DATE 0.99] [PII 0.96] |
| Руководитель органа записи актов гражданского состояния | |
| II-МГ [PII 0.99] № 4175836 [PII 0.99] |
ООО «Линия Интерьера»
190020, РФ, г. Санкт-Петербург,
наб. Обводного канала,
дом 134, офис 312
ОГРН 1187847236541 от 12.07.2018
р/с 40702810955000018426
Банк: Санкт-Петербургский филиал
АО «Расчётный Союз»
к/с 30101810600000000612
ИНН 7839127465, БИК 044030612
КПП 783901001
Покупатель:
Киреева Милана Рустамовна [PERSON 1.00] [PII 1.00]
443080,РФ, Самарская область ,
Г. Самара, ул. Революционная, д. 91, кв. 28 [LOCATION 0.76] [PII 0.52]
ОГРНИП 321631200047816 [PII 1.00]
р/с 40802810761590003842 [PII 1.00]
Банк: Самарское отделение № 1182
АО «Расчётный Союз»
к/с 30101810600000000612
ИНН 631624837195, БИК
043601612
Форма № 2-1-Учет
Код по КНД 1122022
Федеральная налоговая служба
## О ПОСТАНОВКЕ НА УЧЕТ ФИЗИЧЕСКОГО ЛИЦА В НАЛОГОВОМ ОРГАНЕ
Настоящее свидетельство подтверждает, что
**КАРИМОВ РУСТАМ ФАРХОДОВИЧ [PERSON 0.88] [PII 0.90]**
пол — мужской
дата рождения — 18.11.1986 [DATE 1.00] [PII 1.00]
место рождения — КЫРГЫЗСТАН
поставлен(а) на учет в соответствии с Налоговым кодексом Российской Федерации
с присвоением **17.05.2024 [DATE 1.00] [PII 1.00]**
ИНН: **0 2 0 4 9 8 6 1 5 6 5 4 [PII 0.98]**
---
Заместитель начальника Инспекции Федеральной налоговой службы по Октябрьскому району г. Саратова
А. В. Кондратьев [PERSON 1.00] [PII 1.00]
*(подпись)*
*(печать: МП ИНСПЕКЦИЯ ФЕДЕРАЛЬНОЙ НАЛОГОВОЙ СЛУЖБЫ ПО ОКТЯБРЬСКОМУ РАЙОНУ Г. САРАТОВА)*
судебные расходы в сумме 8 317 рублей.
Решение суда может быть обжаловано в апелляционном порядке в течение одного месяца со
дня принятия решения суда в окончательной форме в Пермский краевой суд путем подачи
жалобы через Пермский районный суд Пермского края.
Судья: Белозерова Т.К. [PERSON 1.00] [PII 1.00]
Мотивированное решение составлено 17.08.2021 [DATE 0.60]
Документ для печати
https://permski--perm.sudrf.ru/modules.php?name=sud_delo&srv_num...
Стр. 7 из 7
11.04.2024, 14:37
Страница 1 из 2
Ленинский районный суд города Краснодара
350020, г. Краснодар, ул. Коммунаров, д. 179
Истец: Воронцов Максим Сергеевич [PERSON 0.99] [PII 0.98]
09.11.1984 [DATE 1.00] [PII 1.00] года рождения
Место рождения: с. Ключи, Шадринского
района Курганской обл. [LOCATION 1.00] [PII 1.00]
Водительское удостоверение: серии 6632 №
718405 [PII 0.93]
Место жительства: 350087, Краснодарский край, г. Краснодар,
ул. Российская, д. 267 [LOCATION 1.00] [PII 1.00]
Тел.: +7-918-417-6259 [PHONE 1.00] [PII 1.00]
Эл. почта: maxim.vorontsov84@outlook.com [EMAIL 1.00] [PII 1.00]
Ответчик: Алиев Тимур Эльдарович [PERSON 0.98] [PII 0.98]
24.03.1991 [DATE 1.00] [PII 1.00] года рождения
Место рождения: Азербайджан [LOCATION 1.00] [PII 1.00]
Водительское удостоверение: серии 6674 №
316528 [PII 0.93]
Место жительства: 344022, Ростовская область, г. Ростов-на-Дону,
ул. Пушкинская, д. 145, кв. 38 [LOCATION 1.00] [PII 1.00]
Тел.: +7-928-681-2047 [PHONE 1.00] [PII 1.00]
Судья: Н.В. Крылова [PERSON 1.00] [PII 1.00]
Дело №: 2-714/2026
Судебное заседание: 18.05.2026 в 10:30
| Грамадзянін(ка) | Савіцкі [PERSON 1.00] [PII 1.00] |
| :--- | :--- |
| прозвішча | Кірыл Андрэевіч [PERSON 1.00] [PII 1.00] |
| нарадзіўся(пася) | 16 мая 2006 [DATE 0.98] [PII 0.98] года |
| дзве тысячы шостага года [DATE 1.00] [PII 1.00] |
| аб чым у кнізе рэгістрацыі актаў аб нараджэнні |
| чысло | 11 [PII 0.94] |
| зроблен запіс за № | 642 [PII 1.00] |
| Месца нараджэння: рэспубліка (дзяржава) | Беларусь |
| вобласць (край) | |
| раён | |
| горад (пасёлак, сяло, вёска) | г. Магілёў [LOCATION 1.00] [PII 1.00] |
| БАЦЬКІ: | |
| Бацька | Савіцкі [PERSON 1.00] [PII 1.00] |
| Андрэй Віктаравіч [PERSON 1.00] [PII 1.00] |
| нацыянальнасць | беларус |
| Маці
| Савіцкая [PERSON 1.00] [PII 1.00] |
| Алена Сяргееўна [PERSON 1.00] [PII 1.00] |
| нацыянальнасць | беларуская |
| Месца рэгістрацыі нараджэння | А / ЗАГС адміністрацыі Ленінскага раёна г. Магілёва |
| Дата выдачы « | 29 [DATE 1.00] [PII 0.99] |
| мая [DATE 0.98] [PII 0.96] | 2006 [DATE 0.99] [PII 0.98] |
| Крайнік органа запісу актаў грамадзянскага стану | |
| II-МГ [PII 0.99] № 4175836 [PII 0.99] |
- Downloads last month
- 106
Model tree for vladlinv/ru-pii-ner-gliner2.5
Base model
fastino/gliner2.5-multi-v1