TGViewer
_rnd _rnd @rmr_rnd · 2.39K subscribers
Post #356 403
⚡️ PII Guard: невошедшее

Недавно мы поделились в статье, как строили систему маскировки данных, умеющую подставлять настоящие данные обратно в ответ модели. Наше решение основано на детерминированных правилах в сочетании с работой NER-модели. Однако это был не единственный подход, который мы протестировали.

Рассказываем в этом посте о ещё трёх перспективных идеях, так и не попавших в релиз.

↗️ Якоря вместо словаря синонимов

Правила упирались в жёсткий словарь ключевых слов: «мое вадительское удастоверение 4111-1111-1111-1111» уходило в карту — опечаток и синонимов в словаре нет, а цифры проходят Луна.

Поэтому мы поставили в конец пайплайна после правил слой на rubert-tiny. Вокруг предположительно личных данных вырезали окно в 80 символов, считали эмбеддинг и сравнивали его по косинусной близости с эталонными фразами каждого типа документа. Сам слой включался только там, где не сработали ни регулярки, ни леммы.

Что получилось: на сложных случаях с опечатками и синонимами, где старые правила пасовали полностью, качество выросло с нуля до 60–80%. Baseline при этом не просел. Новый тип документа добавлялся за несколько эталонных фраз вместо недель на сбор датасета и дообучение.


Почему не взяли в релиз: якоря были временным мостом до того, как мы построили NER-модель. К тому времени, когда модель обучили на всех ходовых типах документов, быстрое встраивание нового типа стало не нужно, добавлять оказалось нечего. Идея с якорями пригодится, когда список типов снова начнёт расти.


↗️ Две модели вместо одной

Имена и адреса модель определяет по смыслу фразы, номера документов — по словам вокруг числа. Мы попробовали развести эти навыки: первая модель для семантических сущностей, вторая только для контекста вокруг числовых последовательностей.

Что получилось: паритет. Одна модель и две показывают одинаковое качество, хотя каждая из двух учится своему принципу и сущностей на неё приходится примерно вдвое меньше.


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


↗️ Все цифры за одним токеном

Сами цифры документов сигнала не несут: номера меняются от документа к документу, устойчивого образца в них нет. Поэтому все числовые последовательности в обучающих данных мы заменили служебным токеном [NUM] — модель видит «Паспорт серия: [NUM] номер: [NUM]» и физически не может опереться на цифры.

Что получилось: от документов остаётся один контекст, а разнобой в записи номеров исчезает под общим токеном. Концептуально это честнее, ведь при расширении на новые типы модель с меньшей вероятностью прицепится к самим цифрам.


Почему не взяли в релиз: обфускация, ради которой всё и затевалось, подход и подвела. На примерах вида «Банковская карта 4111чч1111жж1111жж1111» обычное обучение покрыло около 80%, а [NUM] — всего 30%. Разделители дробят число на несколько токенов, и модель размечает только первый. По средней метрике варианты почти сошлись (F1 96 против 95).


😊 Автор этого поста — Андрей Иванов, NLP-инженер в R&D red_mad_robot.
  • ❤ 8
  • 🔥 7
  • 👍 5
More from @rmr_rnd
  1. Sep 18, 2026😍 Как получить доступ ко всем LLM через единый API Мы запустили red_mad_router — единую т…
  2. Sep 14, 2026😍 Пакман и разработка: выбираем агентов при помощи DDQN При построении MAS перед разработ…
  3. Sep 9, 2026#️⃣ Как LLM работать с замаскированными данными? Маскировка персональных данных — совершен…
  4. Sep 4, 2026😊 Расследуем инциденты при помощи Telegram-бота Прикрутить бота к инфраструктуре, чтобы о…
  5. Aug 25, 2026#️⃣ Как AI-агенты поменяли разработку Делимся новой статьёй — в ней наш CTO по AI Влад Шев…
  6. Aug 18, 2026✅ AI-дашборд для HR Можно ли автоматизировать работу HR — и сделать это этично и безопасно…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →