О модели

Модель ищет персональные данные в русскоязычных документах. Кроме имён, адресов, дат, телефонов и почты она размечает идентификаторы, по которым человека можно связать с документом: данные паспорта и миграционных документов, СНИЛС, ИНН и другие госномера, банковские реквизиты, медицинские, судебные, нотариальные, кадровые и учебные номера, данные об имуществе и транспорте, номера билетов и заказов, аккаунты, пропуска, внутренние коды систем и многое другое. В реальных документах именно на них приходится большая часть персональных данных.

Датасет размечен по контексту, поэтому модель находит идентификаторы, которые не описать регулярным выражением, и отличает данные человека от данных организации. Границы разметки опираются на 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%
EMAIL 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
EMAIL 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]

*(подпись)*
*(печать: МП ИНСПЕКЦИЯ ФЕДЕРАЛЬНОЙ НАЛОГОВОЙ СЛУЖБЫ ПО ОКТЯБРЬСКОМУ РАЙОНУ Г. САРАТОВА)*

Взыскать с Управления ФНС России по Пермскому краю в пользу Корнилова М. С. [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
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for vladlinv/ru-pii-ner

Adapter
(3)
this model

Collection including vladlinv/ru-pii-ner