Discourse AI - Sentiment

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

:person_raising_hand: Required user level: Administrator

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
  • 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 chart
  • 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

  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 /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.

:discourse2: Hosted by us?

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

:mechanic: 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.

When Sentiment is enabled, does it go through all previous posts or just new ones?

  • A backfill task must be initiated to go through all previous posts.

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?

Caveats

  • Posts classified as neutral (neither positive or negative) are not shown
  • Private messages (PMs) are excluded from calculations

Last edited by @Saif 2024-11-19T20:44:15Z

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

Check documentPerform check on document:
10 Likes