Три года назад, весной 2020, пандемия COVID-19 только начиналась и все переходили в режим самоизоляции. Мы в один миг оказались в ситуации, когда у нас имеется огромное количество данных, доступ к которым можно получить лишь из офиса, в который, разумеется, невозможно попасть. Работать без доступа к документам не реально, нам критически необходимо продолжать размечать данные, а значит нужно разработать подход, при котором можно это делать удалённо. Именно тогда мы в очередной раз подняли тему, которая и так периодически возникала в наших обсуждениях: а так ли нам нужны настоящие данные? Ответ очевидный: нет, если мы сохраняем их вид (ФИО меняем на ФИО, адрес на адрес и т.д.). Этот процесс называется обезличиванием.

Убрать чувствительные данные из одного документа — нетрудная задача для подготовленного человека, на которую требуется в среднем около 10–15 минут. Однако, чтобы иметь возможность дальнейшего использования документов для анализа и обучения ML-моделей нам необходимо не просто исключать данные, а заменять их на аналогичные синтетические. При этом важно сохранять целостность данных. Например, если оригинальный текст был: «Иванов Максим Викторович продал Петровой Марии Михайловне автомобиль 24 апреля 2000 года.», то обезличенный текст должен выглядеть примерно так: «Максимов Иван Петрович продал Кузнецовой Дарье Александровне автомобиль 13 мая 2017 года.» — то есть с полным сохранением морфологии и семантики предложения. Дополнительные требования значительно усложняют обезличивание, а большой объём данных делает эту задачу ещё более длительной.

Обезличивание с юридической точки зрения

Согласно п.9 ст. 3 Федерального закона от 27.07.2006 № 152-ФЗ «О персональных данных» (далее — ФЗ-152):

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

Законодательство не содержит конкретного перечня, что является персональными данными. У нас есть только определение: «Персональные данные — любая информация, относящаяся к прямо или косвенно определённому или определяемому физическому лицу (субъекту персональных данных)» (п.1 ст. 3 ФЗ-152).

В связи с этим возникает много вопросов. Например, номер телефона сам по себе не является персональными данными, поскольку относится к абонентскому устройству, но вместе с ФИО абонента становится идентификатором и, соответственно, подводит вас под ФЗ-152. А вот электронная почта, наоборот, всегда является персональными данными, как и ИНН, СНИЛС, номер полиса ОМС. Однако это не весь перечень того, что у вас может быть: есть ещё IP- и MAC-адреса, данные геолокации, логины. И это оказалось лишь верхушкой айсберга — помимо персональных данных в документах содержится коммерческая и банковская тайна (информация о юридических лицах, их недвижимости, сделках и т. д.).

В мае 2018 года Европейский Союз (ЕС) постановил, что все компании в Союзе, а также те, которые используют данные граждан ЕС, должны следовать Общим положениям по защите данных (General Data Protection Regulation, сокращенно GDРR). В зависимости от характера правонарушения налагаемый штраф составляет 20 миллионов евро или от 2 до 4 % годового дохода компании. Россия тоже движется в сторону увеличения штрафов за утечку персональных данных. Президент Владимир Путин поручил правительству до 1 июля 2023 г. рассмотреть вопрос о введении оборотных штрафов для компаний, которые допустили утечку персональных данных россиян. Два законопроекта по ужесточению работы с чувствительными данными уже внесены на рассмотрение в Государственную Думу.

Как мы обезличиваем?

При работе со структурированными документами процесс определения чувствительной информации является достаточно тривиальной задачей. Мы можем определить ключевые слова, по которым можем однозначно найти чувствительную информацию и определить её тип для поиска подходящей замены. Например, после ключевой фразы «ФИО» идёт ФИО физического лица, а после фразы «паспортные данные» идёт серия, номер паспорта, а также кем и когда выдан документ.

Сложности начинаются в тот момент, когда документы являются неструктурированными. Для определения чувствительной информации в таком типе документов используются алгоритмы машинного обучения. Named Entity Recognition (NER) — это подраздел NLP, который позволяет идентифицировать и классифицировать сущности в тексте по заданным категориям, таким как имена людей, организации, местоположения, даты и другие. NER может использоваться для выделения важной информации из больших объёмов текста и широко применяется в приложениях, таких как поисковые системы, чат-боты и автоматизированные инструменты анализа контента.

Один из способов использования NER для определения чувствительной информации в документах заключается в распознавании и разметке сущностей, таких как ФИО, адреса, наименования организаций и других типов конфиденциальных данных. После того, как эти сущности были определены, их можно будет заменить, чтобы защитить конфиденциальность людей и организаций, упомянутых в документе.

Суть NER заключается в том, что мы для каждого токена в документе ставим в соответствие соответствующий лейбл и обучаем модель классифицировать каждый токен на основании контекста. Мы выбрали модель RuBERT. Разметка заключалась в том, что в тексте отмечались данные, которые мы хотим обезличивать. Формировался составной лейбл, первая часть которого представляла собой основной класс, последующие — подклассы для данного типа, а для неразмеченных данных по умолчанию проставлялся тег «O». Пример лейблов для определения адресов: 'Адрес‑Индекс', 'Адрес‑СубъектРФ', 'Адрес‑НасПункт', 'Адрес‑Улица', 'Адрес‑Дом'.

В дополнение к этой нейросетевой модели мы используем rule-based подходы. Такие методы могут использоваться для определения лейблов на основе шаблонов и правил, что может быть особенно полезно в случаях, когда сущности хорошо определяются регулярными выражениями. При этом NER может иметь ошибку классификации (например, электронная почта или телефонный номер). Rule-based методы также могут быть использованы для фильтрации сущностей перед подбором замен. Например, если мы хотим обезличивать не все ФИО, а только те, которые соответствуют некоторым должностям.

Когда вся чувствительная информация найдена, можно приступать к анализу цитат и подбору замен. Для этого мы разработали множество стратегий для каждого типа сущностей. В дополнение при каждом запуске обезличивания передаётся конфигурационный файл, который регулирует, какие типы сущностей и каким образом необходимо обезличить. Такой подход позволяет гибко настраивать подход к обезличиванию на уровне интерфейса пользователя и в зависимости от потребностей скрывать не только персональные данные, но и коммерческую тайну, границы которой определяются обладателем этой информации (согласно федеральному закону «О коммерческой тайне» от 29.07.2004 №98-ФЗ).

Каким образом обезличивать, также зависит от потребностей. Данные могут быть просто «закрашены» в файле, сохранённом в формате PDF, заменены на константы, например, [ФИО_1] или [Адрес_1], или заменены на синтетику с учётом длины и токена и с сохранением контекста документа. Для последнего варианта требуется дополнительная стадия анализа. На этом этапе определяются падежи, а также создаются связи между сущностями (например, необходимо понимать, что цифры и соответствующую расшифровку прописью нужно заменить консистентно). Также в этот момент может происходить небольшая корректировка цитат алгоритмическими методами, если это необходимо.

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

Для замера качества наша команда отобрала около 100 юридических документов, чувствительная информация в которых была размечена высококвалифицированными юристами. Метрикой качества для нас является полнота обезличивания, то есть процентное отношение количества корректно изменённых цитат к количеству всех цитат, которые должны быть обезличены. На данный момент этот показатель для нашего сервиса достигает 99 %.

Познакомиться с нашим сервисом можно по ссылке.

Немного о нас

Мы, команда LegalTech Сбера, занимаемся разработкой продуктов и сервисов на основе искусственного интеллекта, которые помогают нашим клиентам в решении любых вопросов: от юридических проблем физических лиц до бизнес-задач компаний. Нашими клиентами в том числе являются и профессиональные юридические подразделения. Например, одним из наших продуктов является сервис извлечения ключевой информации из пакета юридических документов для принятия решения о выдаче кредита бизнесу. Это один из примеров решения задачи NER. За последние 5 лет мы накопили большой опыт создания ИИ-сервисов и решений в такой специфической области, как право.

В нашей кросс-функциональной команде представлены люди разных профессий с разным опытом и экспертизой. LegalTech состоит из юристов, разработчиков, лингвистов, аналитиков данных, data-инженеров, математиков и data scientist'ов в области обработки естественного языка (NLP).

Спасибо за уделённое время!

Комментарии (3)


  1. ErshoffPeter
    24.07.2023 13:44

    Прощу прощения, пара вопросов:

    1) какие критерии качества обезличивания? в частности интересует возможность восстановления личности по вторичным данным (например сумма операции за определённую дату).

    2) как обстоят дела с качеством получаемых обезличенных данных в частности возможности применения? насколько падает точность сочетания данных в части соответствия реальности, например выпады по каким-то кластерам личностям - размытие кластеров)



  1. nykoros
    24.07.2023 13:44

    ( Максимов Иван Петрович) с какого бодуна он Максимов если он Иванов, так же это относится и к Петровой .