This topic covers the configuration of the Sentiment feature of the Discourse AI plugin.
Required user level: Moderator
Sentiment keeps 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.
Features
- Overall sentiment: compares the number of posts classified as either positive or negative
- Bar graph showcasing toggleable numerical value for positive, negative, and overall scores
- Emotion: number of topics and posts classified by multiple emotions, grouped by time frame
- Today
- Yesterday
- Last 7 days
- Last 30 days
- Reports for any period of time that can be accessed via settings
- Yearly
- Quarterly
- Monthly
- Weekly
- Custom range
- Applicable only for admin users
Enabling Sentiment
Configuration
Sentiment is enabled by default for hosted customers. For manual steps see below
- Go to
Adminsettings->Plugins→ search or finddiscourse-aiand make sure its enabled - Enable
ai_sentiment_enabledfor Sentiment Analysis - Head over to
/admin/dashboard/sentimentto see their respective reports
Once enabled, Sentiment will classify all posts going forward and from the last 60 days. To classify all of your site’s historical posts, a backfill task must be run from the console.
Hosted by us?
Contact us at team@discourse.org and we’ll do it for you.
Self-hosted?
./launcher enter app
rake ai:sentiment:backfill
Technical FAQ
How is topic/post data processed? How are scores assigned?
- Sentiment 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… ). It compares the number of posts classified as either positive or negative. These are calculated when positive or negative scores > the set threshold score.
Are there any plans to add support for other languages?
- 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.
What models are used to power Sentiment?
- Currently we are using SamLowe/roberta-base-go_emotions · Hugging Face and cardiffnlp/twitter-roberta-base-sentiment-latest · Hugging Face.
Caveats
- Posts classified as neutral (neither positive or negative) are not shown
- Private messages (PMs) are excluded from calculations
Last edited by @keegan 2025-10-23T22:28:36Z
Last checked by @hugh 2024-08-06T05:27:46Z
Check document
Perform check on document: