раздел 02
Как делать на практике
Выбор способа зависит от объёма. На пару абзацев хватит рук, на регулярный поток - нужны инструменты.
Regex для шаблонного
Данные с чётким форматом удобно ловить регулярными выражениями. Пример замены email на плейсхолдер:
# псевдокод
text = replace_pattern(text, EMAIL_REGEX, "[EMAIL]")
text = replace_pattern(text, PHONE_REGEX, "[ТЕЛЕФОН]")
text = replace_pattern(text, CARD_REGEX, "[КАРТА]")
Regex хорош для телефонов, email и номеров карт. Для имён он не годится - у них нет единого шаблона.
NER для имён
Именованные сущности (имена, организации, адреса) находит NER - named entity recognition. Это модель, которая размечает в тексте, где имя, а где адрес, чтобы вы заменили их на токены:
Иванов Иван -> [ИМЯ]
ул. Такая, 10 -> [АДРЕС]
Локальная модель для препроцессинга
Тонкий момент: если чистить текст через внешний сервис, сырые данные всё равно уйдут наружу ещё на этапе чистки. Чтобы этого не было, обезличивание делайте локальной моделью - тогда исходный текст не покидает вашу машину, а во внешний AI уходит уже очищенный.
Проверка результата
Автоматика ошибается: regex не поймает телефон в непривычном формате, NER пропустит редкое имя. Поэтому финальный шаг - глазами. Перечитайте текст и прогоните поиском по типовым шаблонам, убедитесь, что личного не осталось.