# Community Sentiment Report (negative/neutral/positive)

**URL:** https://meta.discourse.org/t/community-sentiment-report-negative-neutral-positive/121489
**Category:** Feature
**Created:** [June 27, 2019, 12:26pm UTC](https://meta.discourse.org/t/community-sentiment-report-negative-neutral-positive/121489 "2019-06-27T12:26:06Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![SMx](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/smx/32/83713_2.png) [@SMx](https://meta.discourse.org/u/SMx)
#### Post date: [June 27, 2019, 12:26pm UTC](https://meta.discourse.org/t/community-sentiment-report-negative-neutral-positive/121489/1 "2019-06-27T12:26:06Z")

</div>

Hi everyone,

Discourse metrics are already pretty good, however, to effectively understand the health of your community or maybe certain topics, it would be great to have some kind of built-in metric for this or maybe a plugin that would monitor certain boards or discussions within a Discourse instance.

Sentiment calculation is easy to do with an excel spreadsheet formula or maybe an open source API.

This is an example of Sentiment calculation: [https://www.paralleldots.com/emotion-analysis](https://www.paralleldots.com/emotion-analysis)

What do you think?

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [June 28, 2019, 3:13am UTC](https://meta.discourse.org/t/community-sentiment-report-negative-neutral-positive/121489/2 "2019-06-28T03:13:54Z")

</div>

We do have a plugin the uses Google’s Perspective API, which looks at individual posts/users

> [@Discourse Google Perspective API](https://meta.discourse.org/t/google-perspective-api-plugin/98733):
>
> discourse2Summary Google Perspective API is the official Google Perspective API plugin for Discoursehammer_and_wrenchRepository Link [https://github.com/discourse/discourse-perspective-api](https://github.com/discourse/discourse-perspective-api)open_bookInstall Guide [How to install plugins in Discourse](https://meta.discourse.org/t/install-plugins-in-discourse/19157)Features What is the Perspective API? From [the official site](https://www.perspectiveapi.com/), “Perspective is an API that makes it easier to host better conversations.The API uses machine learning models to score the perceived impact a comment might h…

_Topic-level_ sentiment seems like an interesting angle though, or even on category/tag level. That could potentially help someone better allocate moderation resources on a very large forum (if for example, the `feature` category had bad overall sentiment, assign more moderators there)?

---

<div class="post-metadata">

### Author: ![SMx](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/smx/32/83713_2.png) [@SMx](https://meta.discourse.org/u/SMx)
#### Post date: [June 28, 2019, 10:03am UTC](https://meta.discourse.org/t/community-sentiment-report-negative-neutral-positive/121489/3 "2019-06-28T10:03:42Z")

</div>

You’ve pinpointed better what I wanted to say. I’m looking at the same angle, a tool for moderators or staff, to monitor at a glance the sentiment level from a topic and take preemptive measures by driving the discussion in such a way that the conversation sentiment goes to positive.

I will also look at the Google Perspective API Plugin.

Thank you so much.

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [June 28, 2019, 3:08pm UTC](https://meta.discourse.org/t/community-sentiment-report-negative-neutral-positive/121489/4 "2019-06-28T15:08:38Z")

</div>

Additionally, it could be useful if a topic sentiment analysis plugin could have the option of taking an automatic action if sentiment started dropping… for example, closing the topic for 24 hours to let everyone cool off (I’d just caution that the weight of sentiment should be spread across participants so an individual couldn’t game the system to force a topic to auto-close).

I’m more interested in this the more I think about it. One of the weaknesses we found in analyzing sentiment of individual posts was that the Perspective API had no idea when someone was joking or being sarcastic… if the sentiment of replies is being measured at the same time, that would potentially be a stronger signal (because if someone is actually being abusive, the sentiment in the replies will more likely be bad too!)

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [June 28, 2019, 11:34pm UTC](https://meta.discourse.org/t/community-sentiment-report-negative-neutral-positive/121489/5 "2019-06-28T23:34:23Z")

</div>

I strongly suspect you’d get 95% of the same benefit via rate limiting on topics where people are posting super fast, [per previous discussion](https://meta.discourse.org/t/post-rate-limit-trigger-for-a-topic-thats-heating-up/98294/24).

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [June 29, 2019, 12:44pm UTC](https://meta.discourse.org/t/community-sentiment-report-negative-neutral-positive/121489/6 "2019-06-29T12:44:21Z")

</div>

I’m curious if the benefits outweigh the potential costs too, in another topic this week we saw that the translate API racked up a $1000 bill for one site through language detection alone.

If your site is so large that you rely on a topic indicator for sentiment, the potential costs in generating that little traffic light could be considerable.

Google does structure the pricing quite differently to Translate. Sentiment analysis in the NLAPI is $1 for 1000 units of up to 1000 characters, so each reply will be a minimum of one unit. As each reply would need to be scored separately, every response is one unit minimum. At a very rough guesstimate it’s maybe 1/8th the cost of the translate API, but that’s still a fairly big number to substitute staff who interact with the posts bring written.
