Skip to content

Снизить ложнонегативные срабатывания #1

@insoln

Description

@insoln

В текущей реализации антиспам-бота, использующего LLM для классификации сообщений, выявлено множество ложнонегативных результатов. Сообщения, которые содержат ключевые признаки спама (разовые бытовые услуги, предложения работы за оплату, неуместные знакомства, призывы к личному контакту, мошенничество, реклама и т.п.), часто классифицируются ботом как не спам.

Разберись, с чем может быть связана проблема - с инструкциями ли, либо с чем-то еще.

Примеры пропущенных спам-сообщений:

  • Привет, кто сможет помочь закончить ремонт? Уже нет сил самой делать его. Заплачу 5000
  • Срочно требуется помощь сегодня завтра, 8600 рублей..
  • Приветик ) У кого есть желание поговорить, или выйти пройтись пишите
  • требуются 2 человека на выгрузку коробок из машины, два часа работы, заплачу каждому по 3000р
  • Ищу мужа на час, не сложная помощь по дому

Цель:
Снизить число ложнонегативных классификаций и повысить качество фильтрации спама.

Инструкции, с которыми были пропуски:
INSTRUCTIONS_DEFAULT_TEXT="Ты — антиспам-бот. Твоя задача — строго определить, является ли сообщение спамом. Спам — это любое сообщение, которое не относится к тематике группы и преследует скрытые цели (мошенничество, реклама, проституция). Ответ дай в формате JSON: {"result": true} если это спам, и {"result": false} если это не спам.\n\nСпамом считаются сообщения, обладающие одним или несколькими из следующих признаков:\n\n1. Бытовые услуги и разовая работа ("муж на час"): Любые просьбы или предложения о выполнении простой работы за деньги, часто с личным подтекстом. Это включает в себя как прямые предложения, так и замаскированные просьбы о помощи.\n Примеры: 'ищу мужа на час, заплачу 5000', 'нужны люди перенести кирпичи', 'помогите убрать мусор, заплачу', 'починить кран, пишите в личку'.\n\n2. Навязчивые предложения контента: Непрошеные предложения поделиться книгой, статьей, фильмом, VPN-сервисом или подкастом, особенно если автор сам инициировал разговор об этом в том же сообщении.\n Примеры: 'прочитал книгу... если интересно, могу скинуть', 'попробуй vpn_bot в телеграме'.\n\n3. Неуместные знакомства: Прямые или завуалированные приглашения к личному общению, знакомству, прогулке, просмотру кино, не связанные с тематикой группы.\n Примеры: 'кто хочет прогуляться?', 'приглашу в гости для встречи', 'ищу с кем пообщаться'.\n\n4. Призывы к контакту: Прямые или завуалированные приглашения написать в личные сообщения или конкретному пользователю ('пиши в лс', 'пиши @username').\n\n5. Финансы и Мошенничество: Упоминание казино, криптовалют, ставок, а также обещания легких денег, "дать в долг" или "дать денег".\n Примеры: 'Занос с додепа...', 'дам денег', 'есть тема от 20к в день'.\n\n6. Подозрительное оформление: Текст содержит слова с буквами из разных алфавитов (гомоглифы) или состоит исключительно из эмодзи, знаков препинания или бессмысленного набора символов.\n\n7. Реклама и набор: Прямая реклама товаров/услуг, а также объявления о поиске или наборе людей куда-либо (на работу, в проект и т.д.).\n Пример: 'ищу партнеров в направление', 'открыт набор сотрудников'.\n\nПроанализируй сообщение ниже и дай свой вердикт."

Пример логов:
buzz_buster.bot | 810610810 2025-10-12 21:03:06,752 - DEBUG (telegram_groupmembership.py:193): Added user #7594248659 Виктория (@viktoria_star45) to suspicious users cache.
buzz_buster.bot | 810614332 2025-10-13 12:23:29,572 - DEBUG (bot.py:95): Received event: Update(message=Message(channel_chat_created=False, chat=Chat(id=-1001414362921, title='Чат международных карьеристов', type=<ChatType.SUPERGROUP>, username='dreamcatchmechat'), date=datetime.datetime(2025, 10, 13, 12, 23, 29, tzinfo=datetime.timezone.utc), delete_chat_photo=False, from_user=User(first_name='Виктория', id=7594248659, is_bot=False, is_premium=True, username='istuOq'), group_chat_created=False, message_id=21750, supergroup_chat_created=False, text='Привет, кто сможет помочь закончить ремонт? Уже нет сил самой делать его \nЗаплачу 5000'), update_id=810614334)
buzz_buster.bot | 810614334 2025-10-13 12:23:29,572 - DEBUG (telegram_messages.py:33): Handling message from user #7594248659 Виктория (@istuOq) in chat #-1001414362921 Чат международных карьеристов (@dreamcatchmechat) with text: Привет, кто сможет помочь закончить ремонт? Уже нет сил самой делать его
buzz_buster.bot | 810614334 2025-10-13 12:23:29,573 - DEBUG (telegram_messages.py:73): Sending prompt to OpenAI for user #7594248659 Виктория (@istuOq).
buzz_buster.bot | 810614334 2025-10-13 12:23:30,840 - INFO (telegram_messages.py:130): Message from user #7594248659 Виктория (@istuOq) is not spam. User is no longer suspicious.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions