Understanding the Sentiment Engine in Microsoft Social Listening

Sentiment Analysis

If you want to see how the public perceives your company or product, you can use sentiment analysis, which determines people’s attitudes toward a topic. Sentiment analysis reflects the public perception of a post’s content in relation to the keywords that were used to find the post (a post is a eg a Twitter post or a Facebook comment)

Each post that results from your defined search queries is processed by the sentiment engine in the original language and annotated with a calculated sentiment value. Sentiment values are provided for the following languages:

  1. English
  2. German
  3. French
  4. Spanish
  5. Portuguese
  6. Italian

The sentiment value results in a positive, negative, or neutral sentiment for a post. Occasionally, the algorithm identifies positive and negative parts of a sentence and still rates the post as neutral. This happens because the amount of a post’s text identified as positive or negative cancel each other out. A post is also classified as neutral if there are no positive or negative statements detected in it.

Note that the sentiment algorithm is not a self-learning system, even if you can edit any post’s sentiment value in the post list.

Understanding the Sentiment Engine 

Lets look closer at the sentiment engine using the example post below, in the context of the search topic "Windows Phone"

The Sentiment Engine breaks the post into two sentences

Then breaks these two sentences into individual words we can then analyze

Now that we've got the words identified we can attribute parts of speech to these words; "Having" is a verb, "An" is a determiner a.s.o

The words are then grouped (or chunked) together into phrases

Finally the phrases are analyzed and polarity are attributed to them. Some positive, some negative and some neutral phrases.

That is then stored in the system and we present the sentiment when we run the application. We retrieve the post with the actual positive, negative and neutral statements and we parse it at context, so since the search topic was "Windows Phone" we would look at this as a positive outcome.

Sentiment Index

The sentiment values from posts with positive or negative sentiment that match your defined filters are normalized and result in the sentiment index for your search topic. This index is calculated as follows

The number of positive posts MINUS the number of negative posts DIVIDED BY the total number of positive and negative posts MULTIPLIED BY 10

The sentiment index is normalized to a value between -10 and 10. All your active filters and parameters are taken into account to define the data set that the sentiment index is calculated for.
• A sentiment index of 10 means that there are no negative posts in your data set.
• A sentiment index of 0 means that there is an equal amount of positive and negative posts in your data set.
• A sentiment index of -10 means that there are no positive posts in your data set.

You’ll find the change in trend next to the sentiment index. Social Listening compares the sentiment index of the five previous time frames to the current value of the sentiment index in your time frame.