Instructions to use vladlinv/ru-pii-ner with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use vladlinv/ru-pii-ner with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
О модели
Модель ищет персональные данные в русскоязычных документах. Кроме имён, адресов, дат, телефонов и почты она размечает идентификаторы, по которым человека можно связать с документом: данные паспорта и миграционных документов, СНИЛС, ИНН и другие госномера, банковские реквизиты, медицинские, судебные, нотариальные, кадровые и учебные номера, данные об имуществе и транспорте, номера билетов и заказов, аккаунты, пропуска, внутренние коды систем и многое другое. В реальных документах именно на них приходится большая часть персональных данных.
Датасет размечен по контексту, поэтому модель находит идентификаторы, которые не описать регулярным выражением, и отличает данные человека от данных организации. Границы разметки опираются на 152-ФЗ и российскую правоприменительную практику. Разметка консервативная — если непонятно к кому данные относятся, значение считается персональными данными. При этом граница проводилась по юридическому смыслу, а не по принципу «замазать всё подряд», то есть данные организаций, справочные и служебные значения, не привязанные к человеку, остаются нетронутыми.
| vladlinv/ru-pii-ner-gliner2.5 | Распознавание типов и границ персональных данных. GLiNER2.5 |
| vladlinv/ru-pii-ner | Распознавание типов и границ персональных данных. ruRoberta-large |
| vladlinv/ru-pii-gate | Классификация фрагмента на наличие персональных данных |
Метрики
Валидационная выборка: 457 примера, 2 433 уникальных сущности.
Для обезличивания основной практический показатель — Coverage: доля эталонных сущностей, полностью покрытых предсказанием. Строгий F1 дополнительно требует точного совпадения границ, которые часто расходятся на тексте с плохим OCR.
| Класс | Сущностей | Precision | Recall | F1 | Coverage |
|---|---|---|---|---|---|
| PERSON | 830 | 92.10% | 92.65% | 92.37% | 96.99% |
| LOCATION | 258 | 78.65% | 81.40% | 80.00% | 93.41% |
| DATE | 580 | 88.51% | 90.34% | 89.42% | 95.00% |
| PHONE | 138 | 87.69% | 82.61% | 85.07% | 86.23% |
| 62 | 86.76% | 95.16% | 90.77% | 96.77% | |
| PII | 2 433 | 84.34% | 85.86% | 85.09% | 93.51% |
| Общее | 4 301 | 86.18% | 87.54% | 86.85% | 94.19% |
Датасет
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 |
Архитектура
Модель построена как LoRA-адаптер к ai-forever/ruRoberta-large. Выход трансформера поступает в линейную голову с 18 выходами — шесть типов сущностей × три состояния BIO. Каждый тип декодируется собственной CRF-цепью.
Использование
Стандартный PeftModel.from_pretrained загружает только LoRA-веса backbone. NER-голова и CRF хранятся отдельно в ner_head_crf.safetensors, поэтому для полного инференса используется библиотека из репозитория. Библиотека загружает LoRA, NER-голову и CRF и возвращает результат в формате token-classification pipeline Transformers.
Установка:
pip install "git+https://github.com/vladlinv/ru-pii-ner.git"
Загрузка модели и обработка текста:
from ru_pii_ner import load
model = load()
entities = model.predict(
"Иван Петров, телефон +7 999 123-45-67",
)
for entity in entities:
print(entity)
{
"entity_group": "PERSON",
"word": "Иван Петров",
"start": 0,
"end": 11,
"score": 0.99,
}
Несколько текстов можно обработать одним батчем, отфильтровать предсказания по минимальной уверенности и сместить переход O → B в матрице переходов CRF через o_to_b_shift — положительные значения повышают полноту, отрицательные делают разметку строже. По умолчанию 0.0.
results = model.predict(
[
"Иван Петров, телефон +7 999 123-45-67",
"Почта: example@mail.ru",
],
batch_size=16,
min_score=0.5,
o_to_b_shift={
"PERSON": 0.8,
"PHONE": 2,
"PII": -0.5,
},
)
PII — общий класс персональных данных. PERSON, LOCATION, DATE, PHONE, EMAIL его подклассы. Поэтому один фрагмент может одновременно получить общий PII и более конкретный класс. Для обезличивания рекомендуется использовать объединение всех найденных классов. Общий класс служит дополнительной страховкой и покрывает персональные идентификаторы, для которых нет отдельной категории.
Предварительная фильтрация
Для потоковой обработки больших объёмов есть отдельная лёгкая модель vladlinv/ru-pii-gate — бинарный классификатор, который оценивает вероятность наличия персональных данных во фрагменте. Он не определяет типы и границы сущностей, а только отсеивает фрагменты без ПДн до запуска этой модели.
У классификатора примерно в десять раз меньше параметров, и он принимает до 8 192 токенов, поэтому им удобно фильтровать как документы целиком, так и отдельные окна длинного текста.
Ограничения
NER модель — только один из слоёв системы обезличивания ПДн. В реальной системе её необходимо дополнять регулярными выражениями, словарями и прикладными правилами. При этом ни модель, ни полностью автоматический пайплайн не могут гарантировать обнаружение всех чувствительных данных.
Модель предназначена для поиска персональных данных. Она не выявляет коммерческую тайну и другую конфиденциальную информацию, не относящуюся к физическим лицам: без отдельных правил такие сведения останутся открытыми.
Примеры работы модели
| Гражданин(ка) | Савицкий [PERSON 1.00] [PII 1.00] |
| :--- | :--- |
| фамилия | Кирилл Андреевич [PERSON 1.00] [PII 1.00] |
| родился(лась) | 16 мая 2006 года [DATE 0.82] [PII 0.51] |
| две тысячи шестого года [DATE 0.86] [PII 0.72] |
| о чем в книге регистрации актов о рождении |
| чиста | 11 |
| произведена запись за № | 642 [PII 1.00] |
| Место рождения: республика (государство) [LOCATION 0.41] [PII 0.64] | Беларусь [LOCATION 0.84] [PII 0.95] |
| область (край) [LOCATION 0.98] [PII 0.99] | |
| район [LOCATION 0.85] [PII 0.92] | |
| город (поселок, село, деревня) | г. Могилёв [LOCATION 1.00] [PII 1.00] |
| РОДИТЕЛИ: | |
| Отец | Савицкий [PERSON 1.00] [PII 1.00] |
| Андрей Викторович [PERSON 0.98] [PII 1.00] |
| национальность | белорус |
| Мать | Савицкая [PERSON 1.00] [PII 1.00] |
| Елена Сергеевна [PERSON 0.99] [PII 1.00] |
| национальность | белорусская |
| Место регистрации рождения | О / ЗАГС администрации Ленинского района Могилёва |
| Дата выдачи « | 29 |
| мая | 2006 [DATE 0.99] [PII 0.99] |
| Руководитель органа записи актов гражданского состояния | |
| II-МГ № 4175836 [PII 0.92] |
ООО «Линия Интерьера»
190020, РФ, г. Санкт-Петербург,
наб. Обводного канала,
дом 134, офис 312
ОГРН 1187847236541 от 12.07.2018
р/с 40702810955000018426
Банк: Санкт-Петербургский филиал
АО «Расчётный Союз»
к/с 30101810600000000612
ИНН 7839127465, БИК 044030612
КПП 783901001
Покупатель:
Киреева Милана Рустамовна [PERSON 1.00] [PII 1.00]
443080,РФ, Самарская область [LOCATION 0.59] [PII 1.00] ,
Г. Самара, ул. Революционная, д. 91, кв. 28 [LOCATION 0.61] [PII 1.00]
ОГРНИП 321631200047816 [PII 1.00]
р/с 40802810761590003842 [PII 1.00]
Банк: Самарское отделение № 1182
АО «Расчётный Союз»
к/с 30101810600000000612
ИНН 631624837195, БИК
043601612
Форма № 2-1-Учет
Код по КНД 1122022
Федеральная налоговая служба
## О ПОСТАНОВКЕ НА УЧЕТ ФИЗИЧЕСКОГО ЛИЦА В НАЛОГОВОМ ОРГАНЕ
Настоящее свидетельство подтверждает, что
**КАРИМОВ РУСТАМ ФАРХОДОВИЧ [PERSON 0.96] [PII 0.99]**
пол — мужской
дата рождения — 18.11.1986 [DATE 1.00] [PII 1.00]
место рождения — КЫРГЫЗСТАН [LOCATION 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
Документ для печати
https://permski--perm.sudrf.ru/modules.php?name=sud_delo&srv_num...
Стр. 7 из 7
11.04.2024, 14:37
Страница 1 из 2
Ленинский районный суд города Краснодара
350020, г. Краснодар, ул. Коммунаров, д. 179
Истец: Воронцов Максим Сергеевич [PERSON 1.00] [PII 1.00]
09.11.1984 [DATE 1.00] [PII 1.00] года рождения
Место рождения: с. Ключи, Шадринского
района Курганской обл. [LOCATION 0.99] [PII 1.00]
Водительское удостоверение: серии 6632 [PII 1.00] №
718405 [PII 1.00]
Место жительства: 350087, Краснодарский край, г. Краснодар,
ул. Российская, д. 267 [LOCATION 0.86] [PII 0.93]
Тел.: +7-918-417-6259 [PHONE 1.00] [PII 1.00]
Эл. почта: maxim.vorontsov84@outlook.com [EMAIL 1.00] [PII 1.00]
Ответчик: Алиев Тимур Эльдарович [PERSON 1.00] [PII 1.00]
24.03.1991 [DATE 1.00] [PII 1.00] года рождения
Место рождения: Азербайджан [LOCATION 0.99] [PII 1.00]
Водительское удостоверение: серии 6674 [PII 1.00] №
316528 [PII 1.00]
Место жительства: 344022, Ростовская область, г. Ростов-на-Дону,
ул. Пушкинская, д. 145, кв. 38 [LOCATION 1.00] [PII 0.99]
Тел.: +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.82] [PII 0.71] |
| дзве тысячы шостага года [DATE 0.98] [PII 0.95] |
| аб чым у кнізе рэгістрацыі актаў аб нараджэнні |
| чысло | 11 |
| зроблен запіс за № | 642 [PII 1.00] |
| Месца нараджэння: рэспубліка (дзяржава [LOCATION 0.57] [PII 0.72]) | Беларусь [LOCATION 0.88] [PII 0.95] |
| вобласць (край) [LOCATION 0.99] [PII 0.98] | |
| раён [PII 0.67] | |
| горад (пасёлак, сяло, вёска) [LOCATION 0.76] [PII 0.84] | г. Магілёў [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 |
| мая | 2006 [DATE 0.97] [PII 0.98] |
| Крайнік органа запісу актаў грамадзянскага стану | |
| II-МГ № 4175836 [PII 1.00] |
- Downloads last month
- 170
Model tree for vladlinv/ru-pii-ner
Base model
ai-forever/ruRoberta-large