in Natural Language Processing

Exploring emotion combinations using word2vec


In this blog post, we explore two sets of emotion combinations using word2vec. Specifically, one posited by Robert Plutchik in 1980 and the other popular media chart featured in using characters from Inside Out. We are limiting the scope to only dyads, i.e. the combination of two basic emotions that make up a more complex emotion.

Just as blue and red gives purple; joy and surprise gives delight.

Pair Number

Emotion1 Emotion2 Plutchik
1 anticipation joy optimism
2 anticipation trust hope
3 anticipation fear anxiety
4 joy trust love
5 joy fear guilt
6 joy surprise delight
7 trust fear submission
8 trust surprise curiosity
9 trust sadness sentimentality
10 fear surprise awe
11 fear sadness despair
12 fear disgust shame
13 surprise sadness disapproval
14 surprise disgust unbelief
15 surprise anger outrage
16 sadness disgust remorse
17 sadness anger envy
18 sadness anticipation pessimism
19 disgust anger contempt
20 disgust anticipation cynicism
21 disgust joy morbidness
22 anger anticipation aggressiveness
23 anger joy pride
24 anger trust


Above: The table has been extracted from the Wikipedia page.


Plutchik-wheel.svgAbove: The wheel of emotions contains a superset of the previous table, where similar emotions in the wheel are near to each other. Also extracted from the Wikipedia page.


Inside Out emotionsAbove: Popular media ‘best-guess’ on emotions dyads based on characters from Inside Out. From



Above: To give some context, the movie depicts how a child develops mixed-emotions when she turns adolescent. Here, a mix of joy and sadness is depicted.


To explore the additive nature of emotions, word2vec is a great candidate model. As illustrated in the previous posts, we saw that distributed representation models such as word2vec can solve the following analogies of varying complexity and suggest the underlined words.

Man : King :: Woman : Queen

Lady Gaga: America :: Ayumi Hamasaki : Japan

Equivalently, the above word-pair analogies can be expressed as equations:

Man + King –  Woman = Queen

Lady Gaga + America – Japan = Ayumi Hamasaki


In the following sections, we are demonstrating the additive properties of word vectors to find the underlined word.

Joy + Surprise = Delight

To achieve this, we use the pre-trained word2vec vectors from here. With gensim, we can use these vectors with ease.

import gensim

from gensim.models.keyedvectors import KeyedVectors

# Load Google's pre-trained Word2Vec model.

model = KeyedVectors.load_word2vec_format('I:/Downloads/GoogleNews-vectors-negative300.bin/GoogleNews-vectors-negative300.bin', binary=True)

word1 = 'anger'

word2 = 'trust'

model.most_similar(positive = [word1, word2])

word_w2v = 'resentment'

plutchik = 'dominance'


Using the above code, the most similar word for the sum of two emotions can be extracted from word2vec, compute the cosine similarity between the suggested word and human suggestion.  This similarity measure ranges from -1 (complete opposite) to 1 (identical meaning), and lastly, check if the suggested emotion from a human is within the top 10 suggested words of word2vec.

The rest of the post is organized into 2 studies, each testing the agreement between word2vec and a specific set of suggestions. In each study, we would first present the results, followed by the discussion.


Study 1 – Plutchik 

Study 1 Results

# Emotion1 Emotion2 Plutchik word2vec Similarity Top10?
1 anticipation joy optimism excitement 0.53 N
2 anticipation trust hope confidence 0.38 N
3 anticipation fear anxiety dread 0.56 Y
4 joy trust love confidence 0.24 Y
5 joy fear guilt dread 0.33 N
6 joy surprise delight delight 1 Y
7 trust fear submission distrust 0.06 N
8 trust surprise curiosity confidence 0.22 N
9 trust sadness sentimentality sorrow 0.36 N
10 fear surprise awe shock 0.6 N
11 fear sadness despair sorrow 0.64 Y
12 fear disgust shame anger 0.35 N
13 surprise sadness disapproval disappointment 0.4 N
14 surprise disgust unbelief dismay 0.18 N
15 surprise anger outrage disappointment 0.46 Y
16 sadness disgust remorse sorrow 0.44 N
17 sadness anger envy sorrow 0.44 N
18 sadness anticipation pessimism sorrow 0.33 N
19 disgust anger contempt frustration 0.35 N
20 disgust anticipation cynicism dismay 0.39 N
21 disgust joy morbidness frustration n/a n/a
22 anger anticipation aggressiveness resentment 0.24 N
23 anger joy pride frustration 0.4 N
24 anger trust dominance resentment 0.19 N

Study 1 Discussion

At this point, it is important to note that the pre-trained word2vec model has been trained on Google News dataset with about 100 billion words. Being a news-centered dataset, the corpus is not expected to produce a model that makes subtle distinctions between emotions.

Encouragingly, word2vec exhibits a general agreement with Plutchik’s suggestion emotions, with positive similar scores across all emotion pairs.

We observe that word2vec suggests the same words for a few of the emotion pairs. For example, sorrow is suggested in pair number 9, 11, 16, 17, 18. Whenever sadness is added with something, sorrow is being suggested. This highlights the limited distinction between emotions for a model trained with a News dataset.

Pair 13 is an interesting one, the sum of surprise and sadness. Plutchik suggested disapproval whilst word2vec suggested disappointment which I personally liked more. However, this is only an opinion of a layperson to psychology.

Pair 7 is another interesting one, word2vec thinks that the fear to trust negates the trust and suggests distrust, whilst Plutchik suggests that submission is the culmination of fear and trust. Both seem to make sense, this shows that words can be meaningfully assembled together in more than one way. The combination could be modified by the lexical structure within the sentence.

Pair 21 receives an n/a because the word2vec dictionary does not have morbidness.

Study 2 inside out

Study 2 results

# Emotion1 Emotion2 word2vec Similarity Top 10?
1 joy sadness melancholy sorrow 0.5 N
2 joy disgust intrigue frustration 0.71 N
3 joy fear surprise dread 0.28 N
4 joy anger righteousness frustration 0.08 N
5 sadness disgust self-loathing sorrow 0.41 N
6 sadness fear anxiety sorrow 0.41 Y
7 sadness anger betrayal sorrow 0.46 N
8 disgust fear revulsion anger 0.62 N
9 disgust anger loathing frustration 0.46 N
10 fear anger hatred resentment 0.65 N

Study 2 discussion

Findings are very similar to that of Study 1, where we observe a general agreement between the human suggestion and word2vec, and repetition of suggestions across emotion dyads (e.g. sorrow and frustration).



This concludes a short post illustrating another use of the versatile distributed representations of words, and highlights the importance of using a relevant corpus for training the word vectors if it is to be used in a specialized domain.