article preview
Полезное

Сравнили «Маскировщик» с OpenAI Privacy Filter. Какой итог?

05.05.2026
3 мин

В конце апреля OpenAI представила Privacy Filter — модель, которая ищет и маскирует персональные данные прямо на устройстве. Мы решили проверить, как работает новый фильтр в сравнении с «Маскировщиком» — нашим решением для обезличивания данных.

Что заявляет OpenAI

Главное из сообщения компании:

  • Privacy Filter разработан для обеспечения конфиденциальности и способен выполнять контекстно-зависимое обнаружение ПД в неструктурированном тексте;
  • модель может работать локально — идентифицировать персональные данные без их передачи за пределы вашего устройства;
  • она способна обрабатывать длинные фрагменты текста и понимать контекст.

OpenAI сообщает о precision 96% и recall 94% на датасете PII-Masking-300k (западноевропейские языки). Это означает, что из 100 найденных сущностей примерно 96 это настоящие ПД, а из 100 реальных ПД в тексте модель находит примерно 94.

Сравнение с «Маскировщиком»

Мы замерили модель от OpenAI на нашем бенчмарке, чтобы проверить, как она работает на русском языке. Для анализа взяли 57 документов, 1 280 сущностей. И вот что получилось.

Сценарий 1. Маскирование файлов

Проверяли на медицинских протоколах, страховых полисах и договорах. Столкнулись с тем, что модель хоть и находит ПД, но часто режет сущности на фрагменты и путает типы.

Например, «разбирает» имена на слоги. Из реального медицинского документа:

«Иванов Петр Серге» → [NAME]

«евич»              → [NAME]

«П»                 → [NAME]

«етров»             → [NAME]

49% токенов имен — обрывки: «евич», «П», «етров». Если есть два тега на одно имя, то при замене заглушкой получается два разных плейсхолдера в одном слове.

ИНН и СНИЛС. В документе были данные: ИНН 000000000001, СНИЛС 000-000-000 01

OpenAI:

[BANK_ACCOUNT] «ИНН»

[BANK_ACCOUNT] «000000»

[BANK_ACCOUNT] «001»

[BANK_ACCOUNT] «СНИЛС 000-000-000»

[BANK_ACCOUNT] «01»

Одно поле ИНН распалось три фрагмента. СНИЛС попал в банковский счет вместе с префиксом, обозначающим тип документа. Выходит, что типичные для российского контекста ПД ожидаемо не знакомы для зарубежной модели. Иногда они могут быть ошибочно отнесены к близким по формату данным — например, к номеру счета.

В таблице — сравнение показателя F1 по OpenAI Privacy Filter и «Маскировщику» на разных типах данных. Дисклеймер: в Privacy Filter все эти данные значатся как account_number. Но мы при сравнении смотрели конкретные типы данных.

ТипOpenAI Privacy Filter«Маскировщик»
ИНН0%93%
СНИЛС0%100%
Паспорт0%85%
Банковский счет23%98%
Имена44%94%

Сценарий 2. Консистентное маскирование

В этом сценарии один человек упомянут несколько раз в разных формах — полное имя, только имя, транслит. Все это должно быть замаскировано консистентно.

Возьмем пример из документа: «...сотрудника Иванова Алексея Сергеевича, далее — Алексей...». Вот как работает с этим документом OpenAI Privacy Filter:

[NAME] «Иванова Алексея Сергеев»

[NAME] «ича»

[NAME] «Алекс»

Система не видит, что это один человек, и выдает три тэга на один и тот же набор данных.

Похожее происходит, если в документе есть транслитерация ФИО — например, «Иванов Алексей Сергеевич (Ivanov Alexey Sergeevich)».

[NAME] «Иванов Алексей Сергеевич (»

[NAME] «Ivanov Alexey Sergeevich»

[NAME] «)»

Открывающая скобка входит в первый токен, закрывающая получает отдельный тег. После замены: [ИМЯ1( и ) вместо [ИМЯ1] ([ИМЯ1]).

Сценарий 3. Тикеты, отчеты, чаты

Обращения в поддержку, служебные отчеты, как правило, представляют собой текст без четкой структуры — персональные данные могут быть вписаны в текст в произвольном виде.

Для проверки мы взяли такой тикет поддержки:

«...Иванов Алексей Сергеевич (Ivanov Alexey Sergeevich), 15 марта 1991 года рождения...». Получили результат:

[NAME] «Иванов Алексей Сергеевич»

[NAME] «(»

[NAME] «Ivanov Alexey Sergeevich»

[NAME] «),»

[DATE] «15 марта 199»

[DATE] «1»

[NAME] «П»

[NAME] «етров»

[URL] «192.168.12.»

[URL] «34»

Как видно из примера, дата рождения и фамилия оказались разбиты, а IP помечен как URL.

Также обратили внимание, что в медицинских эпикризах модель теряет структуру и размечает произвольные фрагменты. А из 1 371 токена DATE — 728 оказались без числовой даты.

Результаты сравнения OpenAI Privacy Filter и «Маскировщика»

Критерии«Маскировщик»OpenAI Privacy Filter
Средняя F189.2%54.1%
Предсказаний на 1 280 сущностей1 1022 115
F1 по именам94%44%
F1 по датам98%60%
ИНН, СНИЛС, паспортзнаетне знает
Фрагментация сущностейредко~49% токенов
Мусорные DATE-токенынет53%

Вывод: OpenAI Privacy Filter пока плохо справляется с русским контекстом — это, кстати, подтверждают и другие тест-драйвы. Кроме того, модель дает большое количество ложноположительных срабатываний, что сильно бьет по полезности обезличенных данных.

Вас могут заинтересовать