For the final assignment of Reading & Writing Electronic Text, I attempted to use Python to find and match nuanced emotions with various colors.
Inspiration
I drew from Plutchik's Wheel of Emotions which identifies eight basic emotions with varying levels of intensity:
Joy
Trust
Fear
Surprise
Sadness
Disgust
Anger
Anticipation
Each of these basic emotions is matched with a color on the wheel.
I was also further inspired by Alan Watkins's Ted talk about how we possess 34,000 emotions. This led me to wonder if it was possible to find the emotions in between each other on Plutchik's wheel. While the eight basic emotions were clearly laid out, I felt there were so many more than these basic emotions and aimed to seek them out. Emotions are complicated and nuanced and we often have a hard time describing exactly how we feel. How many different emotions do we feel every day and where do they fall on this wheel?
I was also interested in linking these emotions to an associated color. Emotions are universal in all of us; we all feel them. However, colors associated with different emotions can differ between certain cultures. Is it possible to universally associate an emotion with a specific color? If it isn't, what are the emotional responses and reactions we have when we associate a color we don't feel fits the emotion?
The aim of this project was to attempt to navigate the nuances of different emotions from Plutchick's wheel as well as the different in-between colors he associated with each of these emotions.
Process
First, I translated Plutchik's wheel of emotion into a source text to use, which left me with this:
Trust goes from acceptance to admiration
Fear goes from apprehension to terror
Surprise goes from distraction to amazement
Sadness goes from pensiveness to grief
Disgust goes from boredom to loathing
Anger goes from annoyance to rage
Anticipation goes from interest to vigilance
Joy goes from serenity to ecstasy
Once I had a source text to work with, I wanted to use word vectors to find similar in meaning words to these emotions. I used Simple Neighbors to look up and choose a random nearest word vector for each of these emotions, giving me similar, but different emotional outputs. Simple neighbors returns the closest items for any given neighbor (using nearest neighbor search, a technique for finding similar points in high-dimensional space).
From these new and similar generated emotional outputs, I took the last emotion from the original source and the generated source:
Using these words, I used vector arithmetic to find the closest words to the halfway point between the original word and the new word. For example, admiration and reciprocated:
With this list of words in between admiration and reciprocated, I then used the associated color to the original word from Plutchik's color wheel and matched each of the emotions to a different type of color. In this case, the color was light green:
I repeated this process for each of the eight basic emotions on the wheel, giving me a final output like this:
I decided to sandwich the original text on top, with the list of the words (emotions) in between and the generated text coming after. I thought this was appropriate because this process took the reader on a journey through the different, but similar emotional states with different states of the same colors. Whether or not the reader agreed with these emotions being linked with the associated color, the aim was to elicit some kind of image, response or emotion through these outputs.
For the performance, I decided to show each of these generated colors with the text of the emotion in the middle:
Reading the computer-generated poem out loud at NYU Tisch.