Skip to content

Model Evaluation

Emotion Scores

In shortPer-emotion scores (joy, sadness, fear, disgust, anger) an emotion analysis API assigns to a text, each from 0 to 1, showing how likely that emotion is.

Updated 24 Oct 2026· 2 min read

Emotion scores are the numbers an emotion analysis model returns for each emotion in a fixed set, showing how strongly the text is likely to express it. On MLforSEO they come from IBM Watson NLU, which scores five emotions (joy, sadness, fear, disgust and anger) from 0 to 1, for a whole document or for specific target phrases.

How it works

A sentiment score squeezes feeling into one dimension, from negative to positive. Emotion analysis splits it into several. The model reads the text and outputs a separate score for each emotion it was trained on, so a review can score high on both joy and anger if it praises one thing and complains about another. With targeted emotion analysis you name the phrases you care about and get scores for each one.

The example in MLforSEO’s IBM Watson NLU notebook shows how granular this gets: in one sentence, the target “apples” scores 0.99 for joy while “oranges” scores 0.24 for sadness. The scores reflect the model’s confidence that an emotion is present, and are best read relative to each other and to your own baseline rather than as absolute measurements.

How it’s used in SEO and marketing

  • Customer review analysis: finding which products or attributes drive anger or disgust, paired with entity sentiment to see what customers are reacting to.
  • Social and community monitoring: spotting spikes in fear or anger around a launch or incident.
  • SERP and competitor analysis: comparing the emotional tone of ranking titles or competitor landing pages with your own.
  • Reporting: building a single emotion label per text in Data Studio by picking the highest score above a threshold you set.

Example

MLforSEO’s IBM Watson NLU sentiment and emotion template for Google Sheets adds a menu to run emotion analysis on a column of texts, such as reviews. Each row gets five scores. In the customer review analysis walkthrough those scores are merged with Google entity sentiment and moderation flags into one sheet, so you can filter for, say, reviews where anger is the top emotion and “delivery” is the most negative entity.

Limitations and things to watch

  • Five emotions is a narrow set; nuance such as frustration, surprise or relief is folded into the nearest category.
  • Short texts, sarcasm and slang are hard for any model, so expect noise on social comments.
  • Language support for emotion analysis is narrower than for entities or sentiment; check IBM’s language support before analysing non-English text.
  • Set thresholds by reviewing a labelled sample of your own data, and keep a human check before acting on results.

Learn it on MLforSEO

Where Emotion Scores shows up on MLforSEO

Sources and further reading

Other terms from Model Evaluation

See all 19 Model Evaluation terms →