Discourse AI — Тональность

:bookmark: В этом руководстве объясняется, как настроить классификацию тональности и эмоций в Discourse AI и использовать отчеты для анализа публикаций вашего сообщества.

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

Классификация тональности и эмоций помогает выявлять закономерности в обсуждениях вашего сообщества:

  • Тональность классифицирует публикации как позитивные, нейтральные или негативные.
  • Эмоции присваивают оценки по 28 меткам, включая благодарность, любопытство, гнев и грусть.

Это отдельные функции. Вы можете включить одну или обе, а также выбрать разные механизмы классификации для каждой. Отчеты подсчитывают классифицированные публикации, а не уникальных пользователей или типы личности. Используйте их для поиска обсуждений, заслуживающих внимания, а не как замену пониманию контекста.

Перед началом

Вам необходимо включить Discourse AI через discourse_ai_enabled и настроить механизм классификации.

Размещено на Discourse? На вашем сайте уже могут быть предоставлены выделенные конечные точки для классификации. Проверьте существующую конфигурацию перед ее изменением. Если вам нужна помощь с доступностью, настройкой конечных точек или лимитами для обработки исторических данных, свяжитесь с team@discourse.org.

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

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

Настройка тональности и эмоций

  1. Откройте Админ → Плагины → ИИ → Функции.
  2. Перейдите в раздел «Тональность и эмоции».
  3. В разделе «Тональность» выберите «Включено», если вы хотите выполнять классификацию на позитивную, нейтральную и негативную тональность. Это управляет параметром ai_sentiment_enabled.
  4. Выберите «Механизм» и настройте соответствующую конечную точку, агента или модель, как описано ниже.
  5. В разделе «Эмоции» выберите «Включено», если вы хотите выполнять классификацию эмоций. Это управляет параметром ai_sentiment_emotion_enabled.
  6. Выберите для него механизм и настройте его независимо.
  7. Установите лимиты фоновой обработки, описанные в следующем разделе.
  8. Нажмите «Отправить» и убедитесь, что ваши выборки сохранены.

В этом примере модель решений используется для обеих функций. Параметр «Публикаций в час» намеренно установлен в 0, чтобы приостановить автоматическое сканирование во время тестирования. Используйте положительное значение для автоматической обработки новых и исторических публикаций.

Использование выделенных конечных точек классификации

Выберите «Выделенная конечная точка классификации» для каждой функции, которую вы хотите запускать с выделенной моделью. Следуйте инструкциям в «Настройка выделенных конечных точек классификации» для параметра ai_sentiment_model_configs.

Справочные выделенные модели:

Функция Модель
Тональность cardiffnlp/twitter-roberta-base-sentiment-latest
Эмоции SamLowe/roberta-base-go_emotions

Каждая запись конфигурации идентифицирует свой classification_type (sentiment или emotion), model_name, endpoint и api_key. Предоставьте отдельную запись для каждого используемого выделенного классификатора. Храните учетные данные в секрете; не включайте их в сообщения поддержки или скриншоты.

См. Самостоятельное размещение тональности и эмоций для Discourse AI для развертывания сервера вывода. Включайте и выбирайте каждую функцию отдельно с помощью элементов управления выше.

Выделенный механизм ожидает совместимый API классификации. Копирование конечной точки Anthropic, чата OpenAI или Azure Language в этот параметр не делает ее совместимой. Успешное тестирование подключения для языковой модели в другом месте Discourse не проверяет выделенную конечную точку тональности.

Использование агента ИИ или модели решений

Для «Агента LLM» выберите подходящего агента-классификатора с настроенной языковой моделью. Discourse включает агентов-классификаторов для тональности и эмоций. Универсальный диалоговый агент не может заменить агента, настроенного на возвращение ожидаемых оценок меток.

Для «Модели решений» сначала настройте и протестируйте совместимую модель решений, затем выберите ее для каждой включенной функции. Модель решений не требует отдельной диалоговой языковой модели для этой классификации.

Запросы к агентам и моделям решений могут вызывать взимание платы провайдером или расходовать кредиты. Ознакомьтесь с правилами обработки данных выбранной модели перед назначением ее для автоматически обрабатываемой функции.

Управление обработкой и охватом исторических данных

Запланированная задача проверяет публикации с отсутствующими классификациями каждые пять минут. Новые и исторические публикации используют это же сканирование; результаты не всегда доступны сразу после публикации. Нет минимального количества публикаций или дней, необходимых для появления данных: одна успешно классифицированная публикация может быть учтена.

Элемент управления Параметр сайта Значение по умолчанию Эффект
Публикаций в час ai_sentiment_backfill_maximum_posts_per_hour 240 Приблизительное количество обрабатываемых публикаций в час. 0 останавливает запланированное сканирование, включая новые публикации.
Ограничение возраста публикации в днях ai_sentiment_backfill_post_max_age_days 60 Сканировать публикации, созданные в этом временном окне. 0 означает только сегодняшние публикации, а не всю историю.

Увеличьте ограничение по возрасту, чтобы включить более старые публикации. Запланированная задача обрабатывает отсутствующие результаты со временем; выбор более старого диапазона дат в отчете сам по себе не классифицирует эту историю.

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

Личные сообщения, удаленные публикации, удаленные темы и нестандартные типы публикаций исключены из запланированного сканирования для обработки исторических данных. Исключение личных сообщений в сканере и отчетах не является гарантией для всех путей классификации: задача для отредактированных публикаций не применяет тот же фильтр для личных сообщений. Учитывайте это перед настройкой внешнего провайдера.

Анализ тональности по категориям или тегам

  1. Откройте Админ → Отчеты → Анализ тональности или посетите /admin/reports/sentiment_analysis на вашем сайте.
  2. Выберите даты начала и окончания.
  3. Выберите «Категория» или «Тег», чтобы сгруппировать результаты.
  4. Используйте соответствующий фильтр категорий или тегов, чтобы сузить результаты. Фильтрация по категориям также предоставляет опцию включения подкатегорий.
  5. Просмотрите общее количество в каждой группе и ее разбивку на позитивные, негативные и нейтральные публикации.
  6. Нажмите на строку группы, чтобы изучить ее график и исходные публикации.

В примере девять классифицированных публикаций: три позитивные, три негативные и три нейтральные. Нейтральные публикации включены в этот отчет.

В представлении деталей:

  • Выберите «Все», «Позитивные», «Нейтральные» или «Негативные», чтобы отфильтровать загруженные публикации.
  • Откройте тему публикации, чтобы прочитать окружающее обсуждение.
  • Используйте значок ссылки рядом с графиком, чтобы скопировать URL-адрес этого представления отчета. Получателям все равно нужен доступ персонала.
  • Нажмите «Назад», чтобы вернуться к сгруппированным результатам.

Даты в отчете относятся к моменту создания публикации, а не к моменту запуска классификации. Публикация может быть учтена в нескольких группах тегов, если ее тема имеет несколько тегов, поэтому при суммировании тегов одна и та же публикация может быть подсчитана более одного раза.

Анализ общей тенденции тональности

Откройте отчет «Общая тональность» в разделе Админ → Отчеты или посетите /admin/reports/overall_sentiment.

Счет рассчитывается как:

Количество позитивных публикаций − количество негативных публикаций

Позитивная или негативная оценка должна быть больше 0.6, чтобы публикация была учтена в этой группе. Если ни одна не превышает порог, в сгруппированном отчете публикация считается нейтральной. Порог фиксированный; нет параметра сайта для его изменения.

Общая тональность — это чистое количество публикаций, а не средняя вероятность или процент счастья. Три позитивные и три негативные публикации дают общий счет 0, независимо от количества нейтральных публикаций. Изучите разбивку по группам и исходные обсуждения, прежде чем интерпретировать плоскую тенденцию как отсутствие сильных мнений.

Анализ эмоций

Для каждой эмоции есть отчет в разделе Админ → Отчеты. Например, посетите /admin/reports/emotion_anger для «Гневы» или /admin/reports/emotion_curiosity для «Любопытства». Выберите диапазон дат и группировку по дням, неделям или месяцам для исследования тенденции.

Отчет по эмоциям подсчитывает публикации, у которых оценка для этой метки больше 0.1. Этот порог также фиксированный. Для одной публикации могут подходить несколько эмоций, поэтому суммы по эмоциям не являются взаимоисключающими.

Вы также можете фильтровать темы по эмоции. Посетите /filter?q=order:emotion_anger, чтобы найти подходящие темы, отсортированные по количеству публикаций, классифицированных как гнев, а не по средней оценке эмоции. Используйте order:emotion_anger-asc, чтобы изменить порядок сортировки. Без фильтра activity-after: такая сортировка учитывает подходящие публикации за последний год. Обычные права доступа к списку тем по-прежнему применяются.

Доступные метки эмоций

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

Понимание ограничений

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

Устранение неполадок с отсутствующими или неожиданными результатами

Проблема Что проверить
Нет результатов после включения Убедитесь, что соответствующая функция включена, ее механизм настроен, «Публикаций в час» положительно, и фоновые задачи выполняются. Дайте время для пятиминутного сканирования и очереди обработки.
Тональность работает, но эмоции пустые Включите и настройте «Эмоции» отдельно. Выделенная конечная точка только для тональности не предоставляет классификации эмоций.
Нет результатов за более старые даты Увеличьте ограничение возраста публикации, дайте время для обработки и убедитесь, что диапазон отчета включает даты создания публикаций.
Выделенная конечная точка возвращает ошибку Проверьте ее URL-адрес, учетные данные, модель и формат ответа. Адаптер ожидает плоский массив меток и оценок, с метками тональности, такими как positive, neutral и negative, а не произвольные ответы чата или метки вида LABEL_0.
Не удается достичь конечной точки в частной сети Проверьте подключение и, где требуется, добавьте только доверенное имя хоста или IP-адрес конечной точки вывода в allowed_internal_hosts. Не отключайте широко защиту от подделки серверных запросов.
Результаты не меняются после редактирования или выбора модели Существующие результаты повторно используются. Не предполагайте, что редактирование контента или сохранение другой модели запланирует полную переклассификацию.
Фильтр показывает меньше публикаций, чем счетчик Счетчик описывает всю группу, а вкладки тональности фильтруют загруженные публикации. Проверьте, есть ли больше результатов для загрузки, и откройте исходные темы при исследовании несоответствий.

Администраторы могут просматривать записи запросов агентов и моделей решений в Админ → Плагины → ИИ → Журналы. Проверьте /logs на наличие ошибок фоновой классификации, включая сбои выделенных конечных точек. Рассматривайте содержимое журналов как конфиденциальное: оно может содержать текст публикации и ответы модели. Удалите учетные данные и приватный контент перед обменом диагностикой.

Дополнительные ресурсы

10 лайков