Discourse AI - Sentiment Analysis

:bookmark: This topic covers the configuration of the sentiment analysis feature of the Discourse AI plugin.

:person_raising_hand: Required user level: Administrator

Sentiment Analysis helps you keep tabs on your community by analyzing posts and providing sentiment and emotional scores to give you an overall sense of your community for any period of time. These insights can be helpful in determining the type of users posting within your community and interacting with one another.

To access the sentiment analysis for your community, go to Admin > Dashboard > Sentiment

:information_source: Sentiment Analysis metrics can also be accessed through Data Explorer queries.

Features

  • Overall sentiment: compares the number of posts classified as either positive or negative
  • Bar graph showcasing togglable numerical value for positive, negative, and overall scores
  • Post emotion: number of posts classified by the following emotions, grouped and toggleable by user’s trust levels
    • Sadness
    • Disgust
    • Fear
    • Anger
    • Joy
    • Surprise
  • Posts are assigned numerical values for emotions in the spider chart
  • Reports for any period of time that can be accessed via settings
    • Yearly
    • Quarterly
    • Monthly
    • Weekly
    • Custom range
  • Applicable only for admin users

Availability

Currently, this module is available for all hosted by Discourse customers on the Enterprise plan. If you’re an Enterprise customer you can contact us to have it added to your site on request. :discourse:

:information_source: Self-hosted users can install the plugin anytime by following Install Plugins in Discourse - sysadmin - Discourse Meta

Enabling Sentiment Analysis

Configuration

  1. Go to Admin settings-> Plugins → search or find discourse-ai and make sure its enabled
  2. Enable ai_sentiment_enabled for Sentiment Analysis
  3. Select which of the models you would like to use (emotion, sentiment, or both) at ai_sentiment_models
  4. Head over to YourDiscourseSite/admin/dashboard/sentiment to see their respective reports

:information_source: Once enabled, Sentiment will classify all new posts going forward. To classify all of your site’s historical posts, a backfill task must be run from the console.

:mechanic: Self-hosted?

./launcher enter app
rake ai:sentiment:backfill

:discourse2: Hosted by us?

Contact us at team@discourse.org and we’ll do it for you. :+1: :partying_face:

FAQs

Q: How is topic/post data processed? How are scores assigned?
A: Sentiment analysis has a “per post” fidelity. For each post we are able to tell sentiment and then cut that data in many shapes (per tag / category / time etc… )

Q: When Sentiment Analysis is enabled, does it go through all previous posts or just new ones?
A: A backfill task must be initiated to go through all previous posts

Q: Are there any plans to add support for other languages?
A: In the future Yes! both by adding multilingual simple Machine Learning (ML) models and by using multilingual Large Language Models (LLMs) to classify the data instead of dedicated models

Note that sentiment analysis is an area of experimentation and is changing rapidly as we add new UI elements and improve the feature based on feedback.

Additional resources

Last edited by @hugh 2024-08-06T04:54:44Z

Last checked by @hugh 2024-08-06T05:27:46Z

Check documentPerform check on document:
10 Likes