ИИ-антиспам: реальный опыт

Спамеры за… достали, в общем. Если настраивать против них стандартный бот с блоком условие — приходится очень сильно заморачиваться и постоянно обновлять ключи.

Ибо эти (не)товарищи постоянно придумывают что-то новенькое, учатся обходить заградительные боты.

Поэтому когда у BotHunter появились AI-блоки, я решил— а чего бы ИИ-шкой не порешать этот вопрос?

И вот теперь я могу поделиться не только конструкцией, но и СТАТИСТИКОЙ.

ИИ-антиспам: реальный опыт, image #1

Статистика работы антиспам-бота

Итак, у меня было два ТГ-чата, не безумно активных, но вполне живых.

Антиспам отработал полтора месяца, и продолжает работать до сих пор.

Всего было обработано2747 сообщений,

из них 376 явный спам,

32 — это ошибки ИИ в стиле «Нейросеть не ответила за отведённое время» или «Нейросеть вернула некорректный ответ».

И то, большая часть ошибок возникала на старте, когда промт только откалибровывался. Чем дальше, тем система работает ровнее.

Схема чат-бота

Общая схема бота
Общая схема бота

Запускается бот по активности «Получено новое входящее сообщение».

Далее у меня стоит проверка, что сообщение не от админа, но вы можете установить условие откуда пришло сообщение, например, конкретный чат.

Для создания непосредственно антиспамной части, я использовал AI-блок «Условие» из раздела «Для профессионалов» и собственный промт (его приведу немного ниже).

Внутрянка AI-блока. То что он «для профессионалов» не делает его сложным))
Внутрянка AI-блока. То что он «для профессионалов» не делает его сложным))

У блока « AI-условие» есть три ветки.

  1. По ветке «Выполняется условие» — схема удаления комментариев, начисления штрафных баллов и удаления после достижения лимита штрафов. Можно упростить и просто удалять сразу.

Также у меня стоит обязательное сохранение в ТХ-таблицы.

Зачем?

Чтобы выявлять спам, который не выловил бот, и дорабатывать промт.

Здесь как ни странно — чем больше спама на старте — тем меньше сможет пробиться в будущем.

Ветка «сообщение является спамом»
Удаление сообщения со спамом по информации из триггера
Временный бан в чате
начисление штрафных баллов и удаление по достижении лимита
1 of 4
Ветка «сообщение является спамом»
  1. По ветке «Не выполняется условие» — можно ничего не делать, кроме отправки данных в таблицу.
ИИ-антиспам: реальный опыт, image #8
  1. По ветке «Ошибка AI» — просто фиксировал результат в таблице.

Кстати, вот развёртка блока с ТХ-таблицей:

Развёртка блока интеграции с ТХ-таблицей
ИИ-антиспам: реальный опыт, image #10
1 of 2
Развёртка блока интеграции с ТХ-таблицей

В самой таблице я использовал три листа — для каждой ветки. Это помогло отслеживать корректность работы бота.

Вот так оформил листы в самой таблице.
Вот так оформил листы в самой таблице.

Также у меня используется уведомление для админа в случае, когда бот удаляет кого-то за спам. Можно подобное настроить и в случае ошибки нейросети — тут на ваше усмотрение.

Блок уведомления админа и добавление в «черный» список
Блок уведомления админа и добавление в «черный» список

Промт для антиспам бота

Напомню, что промт я постоянно дорабатывал, если находил новые спамерские заходы.
Можете прям копировать от черты до черты, но не забывайте дополнять своими случаями.

_____________________

Считать СПАМОМ - ответ "да", если присутствует хотя бы один из признаков:

— предложение заработка, денег;

— казино, ставки, крипта, инвестиции;

— продажа аккаунтов, подписчиков, баз данных;

— одинаковые сообщения, отправленные разными пользователями;

— мошенничество;

— фишинг;

— любые предложения купить, продать, обменять, оплата после завершения;

— сексуальные услуги;

— запрещённые вещества.

— сообщения, состоящие преимущественно из нецензурной лексики;

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

— сообщения, основной целью которых являются оскорбления, травля или провокация участников;

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

НЕ считать спамом — ответ "нет":

— обычное общение;

— вопросы;

— обсуждение темы группы;

— приветствия;

— благодарности;

— ответы другим пользователям;

— просьбы о помощи;

— технические вопросы;

— большое количество эмодзи, символов, капса;

— просьба написать в личные сообщения для покупки;

— использование сокращателей ссылок;

— юмор;

— приглашения в другие чаты, каналы, группы;

— единичное использование нецензурной лексики в обычном разговоре;

— реклама товаров или услуг;

— эмоциональные сообщения с небольшим количеством мата, если они относятся к обсуждаемой теме.

При сомнении относи к НЕ считать спамом — ответ "нет".

Пример 1: Фасовщик на склад фруктов-8.500 — это СПАМ

Пример 2: Нужен тот, у кого есть машина, нужно перевезти драгоценнный сервиз бабушки, дам 10.000 за качественную и безопасную перевозку — это СПАМ

Пример 3: Приветствую! Ищу людей для сотрудничества в онлайн-формате. Не хочу спамить, всем хорошего дня! За всеми подробностями — это СПАМ

Пример 4: 💵Доступна Единоразовая выплата из реестра!

💵Сумма от 50 000 до 300 000 ₽

👤Кто может оформить:

— Все жители РФ❗️

— Возраст не ниже 18 лет!❗️

— Трудоустройство не имеет значения❗️ — это СПАМ

Пример 5: Могу помочь с деньгами, кто действительно нуждается — пишите, расскажу — это СПАМ

Пример 6: Разнести пиццу по районам из центра!

Одна доставка до 500 р, пишите в личные — это СПАМ

Пример 7: Уезжаю в отпуск нужно что бы кто то посидел с собакой, прививка есть документы еду все предоставлю. Посидеть нужно неделю, плачу 8000 — это СПАМ

Пример 8: ❗️Белые списки и ограничения? Не проблема.

LISAVPN — стабильное подключение без лишних настроек.

Быстро

Стабильно

До 3-х устройств

24 часа бесплатно — это СПАМ

_____________

Вот такой получился довольно простой и при этом эффективный бот.

Автор: Сергей Янулов

Есть что рассказать о BotHunter? Милости просим!

Кстати, за классные материалы дарим промики на доступ к сервису. Подробности: https://vk.com/wall-187822477_13035

15 views·3 shares