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.
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
- Accuracy (ML metric)Accuracy is the share of all predictions a model gets right. It is the simplest evaluation metric, but it misl…
- Coherence ScoreA metric for how interpretable a topic model's topics are, based on how often each topic's top words appear to…
- Confusion MatrixA confusion matrix is a table comparing a classifier's predictions with the true labels, showing exactly which…
- Cosine SimilarityA measure of how closely two vectors point in the same direction, used to score how similar two texts, keyword…
- Entity Salience ScoreA 0 to 1 score from Google's Natural Language API showing how central each extracted entity is to the analysed…
- Euclidean DistanceEuclidean distance is the straight-line distance between two points in any number of dimensions, used to compa…
- F1 ScoreA single evaluation metric that balances precision and recall (their harmonic mean); useful when classes are i…
- Ground TruthGround truth is the set of correct answers, usually labelled by people, that a model is trained on or checked…
- LLM-as-a-JudgeUsing a large language model to score or compare outputs against a rubric, as a scalable stand-in for human re…