Антискам-бот на грязных данных: практический кейс ML-инженерии без размеченных датасетов
Разработчик представил архитектуру антискам-бота для Telegram, построенную на классификаторе и определителе типа проблемы, и подробно описал вызовы работы с неразмеченными, мультиязычными и зашумлёнными данными.
Автор проекта создал антискам-бота для Telegram. Вместо популярного RAG-модуля фокус смещен на фундаментальные компоненты: классификатор (скам/не скам) и типизатор (определение типа проблемы). Основная сложность - работа с неразмеченным потоком сообщений из мультиязычных чатов с опечатками и сленгом.
Для обучения классификатора использовали датасет из 8478 сообщений из Telegram-чатов. GPT-4 помог выполнить начальную разметку, выделив 4697 релевантных сообщений. Даже после автоматической обработки данные оставались шумными, что потребовало создания специального пайплайна очистки.
Архитектура системы основана на двух моделях. Первая - бинарный классификатор на основе RuBERT. Вторая - мультиклассовый классификатор для типизации проблемы на основе мультиязычной модели XLM-RoBERTa.
В условиях отсутствия чистого ground truth автор отказался от стандартных метрик. Вместо них использовали прагматичный подход с анализом распределения предсказаний и ошибок на реальном потоке данных.
Проект стал продолжением первой статьи автора о RAG-модуле. Главный вывод того исследования: RAG в данном контексте оказался больше инструментом для экспериментов, чем production-решением. Нынешний материал фокусируется на инженерных аспектах развертывания ML в продакшене, где приходится работать с живым, неконтролируемым потоком пользовательского контента.
Для индустрии машинного обучения этот кейс - пример приземленного подхода к решению сложной задачи с минимальными ресурсами на этапе разметки. Он показывает, что даже без готового размеченного датасета можно построить рабочую систему, комбинируя языковые модели для предварительной обработки данных и более легкие модели для инференса. Это актуально для стартапов и небольших команд.
Для конечных пользователей и компаний такая разработка означает появление более адаптируемых инструментов для модерации. Описанная архитектура - шаг к системам, которые могут обучаться на лету, подстраиваясь под специфику сообщества. Вместо монолитного детектора предлагается гибкий фреймворк из классификатора и типизатора, который можно дообучать по мере поступления новых данных.
Подобные практики ведут к демократизации применения ИИ для задач безопасности. Раньше создание такого бота требовало огромных усилий по ручной разметке тысяч примеров. Теперь комбинация слабого надзора со стороны LLM и эффективных компактных моделей снижает порог входа. Это позволяет сообществам и небольшим бизнесам самостоятельно создавать защиту от спама и скама.
Кейс также показывает сложности: необходимость тщательной валидации, невозможность слепо доверять стандартным метрикам и постоянную борьбу с шумом в данных. Проект иллюстрирует, что ключ к успеху в подобных задачах - не сложность модели, а инженерная обработка контекста и данных.


