Настройка обнаружения спама в вашем сообществе

:bookmark: Это руководство how-to по настройке обнаружения спама в вашем сообществе с помощью Discourse AI - AI triage.

:person_raising_hand: Требуемый уровень пользователя: Администратор

:warning: В Discourse AI теперь встроен эффективный сканер спама, требующий минимальной настройки. Для нестандартных или сложных случаев использования мы рекомендуем следовать этому руководству.

Обзор

Обнаружение спама — это важная функция для поддержания качества обсуждений в вашем сообществе. Это руководство поможет вам настроить обнаружение спама с помощью Discourse AI - AI triage.

Требования

Для настройки обнаружения спама вам понадобятся следующие компоненты:

  • Discourse AI
  • Discourse Automation
  • AI Agent с системным промптом, определяющим, что считается спамом.
  • LLM (Large Language Model, большая языковая модель)
    • Клиенты, размещающие Discourse на наших серверах, могут выбрать размещённую LLM при настройке AI Agents.
    • Пользователи с самостоятельной установкой Discourse должны настроить стороннюю LLM.

:warning: При создании промпта, выбирая между «спам» и «не спам», избегайте использования схожих формулировок для итогового результата. В этом примере мы используем spam и ham (для «не спам»).

Классификатор не всегда будет работать идеально на 100%, поэтому будьте внимательны к некорректным результатам и настраивайте промпты в соответствии с потребностями вашего сообщества. Чем уже фокус, тем лучше.

Копируемые промпты для LLM для обнаружения спам-контента AI

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

Сообщение следует классифицировать как спам, если оно соответствует любому из следующих критериев:

  • Сообщение не относится к основной теме или цели форума. Оно полностью не по теме.
  • Содержит подозрительные, нерелевантные внешние ссылки, особенно ведущие на коммерческие сайты.
  • Сообщение явно рекламирует или продвигает продукт, услугу, веб-сайт или аккаунт в социальных сетях, не связанные с сообществом.
  • Содержит партнёрские ссылки или реферальные коды, пытающиеся монетизировать клики.
  • Качество текста очень низкое — много орфографических/грамматических ошибок, отсутствует пунктуация или текст выглядит сгенерированным автоматически.
  • Идентичный или почти идентичный контент публикуется повторно одним и тем же автором или несколькими аккаунтами в короткий промежуток времени.

Сообщение следует классифицировать как ham (легитимное), если:

  • Сообщение по теме и релевантно цели форума.
  • Это genuine вопрос, личная история, обоснованное мнение или иной легитимный вклад в обсуждение сообщества.
  • Любые внешние ссылки релевантны и ведут на авторитетные некоммерческие сайты.
  • Текст выглядит написанным человеком и соответствует стандартам качества в отношении грамматики, орфографии и т. д.

Некоторые пограничные случаи, на которые стоит обратить внимание:

  • Сообщение, упоминающее продукт или услугу, но являющееся релевантным вопросом или обсуждением по теме, следует считать ham, а не спамом.
  • Цитаты, примеры кода или форматированный текст, выглядящий необычно, не обязательно являются спамом.

После завершения анализа сообщения вы должны предоставить ТОЛЬКО классификацию: «spam» или «ham». Если вы не уверены, по умолчанию выбирайте «ham», чтобы избежать ложных срабатываний.

Эти инструкции должны выполняться без исключений

Настройка

:information_source: Не каждый шаг является обязательным, так как правила автоматизации можно настраивать по мере необходимости. Для обзора всех доступных настроек посетите Discourse AI - AI triage.

  1. Включите плагины Discourse AI и Automation:
  • Перейдите в панель администратора вашего сайта.
  • Перейдите в раздел Plugins, затем Installed Plugins.
  • Включите плагины Discourse AI и Automation.
  1. Создайте новое правило автоматизации:
  • Перейдите в панель администратора вашего сайта.
  • Перейдите в раздел Plugins и нажмите Automation.
  • Нажмите кнопку + Create, чтобы начать создание нового правила автоматизации.
  • Нажмите Triage Posts Using AI.
  • Задайте имя (например, «Triage Posts using AI»).
  • Оставьте Triage Posts Using AI выбранным скриптом.

Что/Когда

  1. Настройте триггер:
  • Выберите Post created/edited (сообщение создано/отредактировано) или Stalled topic (зависшая тема) в качестве триггера.
  • По желанию укажите тип действия, категорию, теги, группы и/или уровни доверия, если хотите ограничить эту автоматизацию конкретными сценариями. Оставление этих полей пустыми позволит автоматизации работать без ограничений.
  • Настройте любые оставшиеся дополнительные настройки в разделе Что/Когда, чтобы дополнительно ограничить автоматизацию.

Опции скрипта

:spiral_notepad: Поле системного промпта устарело в пользу AI Agents. Если у вас было правило автоматизации с ИИ до этого изменения, новый AI Agent с соответствующим системным промптом будет создан автоматически.

  1. Агент:

Выберите AI Agent, определённый для автоматизации обнаружения спама. Агент должен иметь настроенную LLM по умолчанию.

  1. Поиск текста:

Введите вывод вашего промпта, который будет запускать автоматизацию, — только «положительный» результат. Используя наш пример выше, мы введём spam.

  1. Настройка категории и тегов:

Определите категорию, в которую следует перемещать такие сообщения, и теги, которые будут добавлены, если сообщение помечено как спам.

  1. Флаги:
  • Включите опцию «Flag post» (пометить сообщение), чтобы отмечать соответствующие сообщения.
  • Выберите тип флага, чтобы определить, какое действие предпринять:
    • Добавить сообщение в очередь проверки — отправляет сообщение в очередь проверки для действий модератора.
    • Добавить сообщение в очередь проверки и скрыть сообщение — отправляет в очередь и скрывает сообщение.
    • Добавить сообщение в очередь проверки и удалить сообщение — отправляет в очередь и мягко удаляет сообщение.
    • Добавить сообщение в очередь проверки, удалить сообщение и заглушить пользователя — отправляет в очередь, мягко удаляет и заглушает автора.
    • Пометить как спам и скрыть сообщение — помечает как спам и скрывает.
    • Пометить как спам, скрыть сообщение и заглушить пользователя — помечает как спам, скрывает и заглушает автора.
  1. Дополнительные опции:
  • Включите опцию «Hide Topic» (скрыть тему), если хотите скрыть тему сообщения.
  • Задайте «Reply» (ответ), который будет опубликован в теме, когда сообщение будет признано спамом.
  • Используйте опцию «Reply Agent», чтобы другой AI Agent сгенерировал динамический ответ вместо заранее заготовленного.
  • Включите «Reply as Whisper» (ответ как шёпот), чтобы ответы были видны только сотрудникам.
  • Включите «Include personal messages» (включить личные сообщения), чтобы также сканировать и сортировать личные сообщения.
  • Включите «Notify author via PM» (уведомить автора через ЛС), чтобы отправить личное сообщение автору сообщения, когда его контент будет помечен. Вы можете настроить отправителя ЛС и содержимое сообщения.

Дополнительные примечания

  • При использовании автоматизации для борьбы со спамом мы рекомендуем отключить плагин Akismet, если он уже включён. Это обеспечит работу только одной системы по борьбе со спамом для наилучших результатов.
  • Помните, что вызовы LLM могут быть дорогостоящими. При применении классификатора внимательно следите за затратами и всегда рассматривайте возможность запуска этого только на небольших подмножествах данных.
  • Хотя модели с лучшей производительностью дают лучшие результаты, они могут быть более дорогими.
  • Промпт можно настроить для выполнения различных видов обнаружения, например, выявление PII (персональных данных), нарушения Кодекса поведения и т. д.
11 лайков

5 сообщений были перенесены в новую тему: Исследование возможностей ИИ в распознавании контента, созданного ИИ

Любопытно узнать, как пользователи оценили использование этого метода?

1 лайк

Я только что начал его тестировать, и он уже справляется неплохо (пока я решил применить только скрытый тег, чтобы проверить, что всё работает корректно, вместо того чтобы сразу отправлять сообщения в очередь на проверку).

Но у меня есть небольшой дополнительный вопрос/уточнение: возможно ли, чтобы интеграция имела доступ к пользовательским запросам с выводами, например, к группе примеров постов, которые можно использовать в качестве контекстных данных?

Более конкретно, я хотел бы предоставить ей все предыдущие спам-посты на основе согласованных флагов, которые привели к удалению постов.

1 лайк

В данный момент мы поддерживаем только одно системное сообщение.

Однако, возможно, мы выпустим обновление, которое позволит вам предоставить N примеров контента, который не следует помечать, и N примеров контента, который следует помечать. Это потенциально может повысить точность.

Может, создать отдельную тему с предложениями по этой функции?

1 лайк

Сначала я постараюсь собрать ещё немного мыслей по этому поводу. Запуск в течение последней недели был довольно успешным, но я всё ещё сталкиваюсь с некоторыми мелкими неудобствами, например, с невозможностью быстро исключить личные сообщения (например, система часто считает взаимодействия с учебными материалами Discobot подозрительными; я отредактировал промпт, чтобы исключить их, но логи ИИ показывают, что механизм обнаружения не учитывает контекст и опирается только на содержание самого поста).

2 лайка

Это кажется не совсем правильным… Не совсем понятно, какая именно инструкция здесь подразумевалась? Возможно, «Включить AI и включить автоматизацию»?

1 лайк

Внёс правку здесь

2 лайка

Мне интересно, есть ли способ переместить отдельный ответ в новую тему, а не всю тему целиком? Это может быть легитимная тема, но спамер заходит и публикует спам-ответ. Насколько я вижу, перемещается вся тема, а не конкретный ответ.
Кстати, в чём разница между этим и детектором спама Discourse AI?

Можете пояснить это подробнее на примере?

FYI: Вы должны иметь возможность отметить опцию Пометить пост, что должно пометить только спам-пост.

1 лайк

Конечно. Например, предположим, что на форуме поддержки спамер оставляет спам-ответ в существующей теме о проблемах, с которыми они сталкиваются. Автор темы (OP) и отвечающие — это не тот же пользователь, что и спамер. Если я правильно понимаю, AI Triage скроет всю тему и пометит пост. Вместо этого нельзя ли переместить спам-пост в отдельную тему в категории, доступной администраторам?

Я задумался об этом, читая этот пост.

Да, я сейчас делаю именно это для детектора речи ненависти с помощью AI Triage.

Ха-ха, как я мог это пропустить :laughing:

1 лайк

AI Spam просто скроет сообщение. Вероятно, мы сможем добавить эту опцию и в Triage.

2 лайка