Project

DeepMoji

pixabay

Emotional content is an important part of language. There are many use cases now showing that natural language processing is becoming an increasingly important part of consumer products. We are attempting to learn more about human emotions.

In his 2006 book The Emotion Machine, legendary computer scientist Marvin Minsky (co-founder of the field of Artificial Intelligence and one of the founding faculty members of the MIT Media Lab) wrote about the central role of emotions in reasoning—reminding us that AI will only be capable of true commonsense reasoning once it has understood emotions. To Minsky, emotions are not the opposite of rational reason, something to be weeded out before we can think clearly; rather, emotions are just a different way of thinking.

TRY DEEPMOJI             HELP TEACH OUR AI ABOUT EMOTIONS

But this is hardly helpful to a computer scientist trying to construct an emotional machine by programming a concrete set of rules. If you ask two people to explain what makes a particular sentence happy, sad, serious, or sarcastic, you will likely get at least two different opinions. Much of what determines emotional content is context-specific, culturally constructed, and difficult to describe in an explicit set of rules.

This is why machine learning provides a promising approach: instead of explicitly telling the machine how to recognize emotions, we ask the machine to learn from many examples of actual text. In particular, deep learning models can learn very subtle representations, and figure out for themselves what makes something happy or sad, serious or sarcastic.

Emotional content is an important part of language. The classic use case is companies wanting to make sense of what their customers are saying about them. But there are many other use cases now that natural language processing is becoming an increasingly important part of consumer products.

Our basic idea with the DeepMoji project is that if the model is able to predict which emoji was included with a given sentence, then it has an understanding of the emotional content of that sentence. We are training our model to predict emojis on a dataset of 1.2 billion tweets (filtered from 55 billion tweets). We can then transfer this knowledge to a target task by doing just a little bit of additional training on top with the target dataset. With this approach we beat the state of the art across benchmarks for sentiment, emotion, and sarcasm detection.

Note: the model has learned about language from the raw, uncurated expressions of individuals on social media. We do not endorse in any way the emotional interpretation that the model has of any particular content.

Frequently asked questions about DeepMoji

  1. What is it?

    DeepMoji is a model that uses millions of tweets to learn about emotional concepts in text like sarcasm and irony.

  2. How does it work?

    From a dataset of 55 billion tweets, we find tweets with emojis and train a deep learning model to predict which emoji was included with what tweet. The basic idea is that if the model is able to understand which emoji was included with a given sentence, then it has a good understanding of the emotional content of that sentence.

  3. Where's the online demo? Can anyone try it?

    The demo can be found at deepmoji.mit.edu and it's freely available to anyone interested.

  4. What are the practical applications? Who will benefit from this research?

    The classic use case is companies wanting to make sense of what their customers are saying about them. But there are many other use cases as well now that natural language processing (NLP) is becoming an increasingly important part of consumer products. For instance, all of the new chatbot services popping up might benefit from having a nuanced understanding of emotional content in text. Lastly, it can hopefully be used for various interesting research purposes.

  5. Will you be releasing your work for others to use?

    Our pretrained DeepMoji model is released for anyone to use (including companies), and implementations are available for the Keras and pyTorch frameworks.

  6. How do you train for language that isn't straightforward, such as irony or sarcasm?

    We do not have to do anything in particular to make the model learn these concepts. For the model to better capture the language being used on social media, it needs to learn irony/sarcasm. Consequently, the model learns these concepts by updating the parameter just as it would with simpler sentences like "I love this."

  7. How come the emojis produced by the online demo can seem conflicting, such as both positive and negative?

    For some sentences it can be difficult for the model to see if the text is being ironic or not. In those cases, the most likely emojis are either very positive or very negative.

  8. What do you mean by artificial emotional intelligence?

    Artificial intelligence (AI) techniques such as the neural networks we use for this research are based on a fairly old set of ideas first developed many decades ago. Now we use the much-improved modern variants of these ideas to model emotional content in text, thereby giving rise to the name "artificial emotional intelligence." However, note that our AI model is based on statistics, math, and computer science. While the model does learn difficult concepts such as irony and sarcasm, it still has many limitations and is not anywhere close to the kind of AI you may know from dystopian sci-fi movies.

  9. Why do we want people to rate the emotions they felt when writing their tweet?

    Our aim is to teach our AI to understand people's underlying emotions from the words that they write. Sometimes, what people write may not actually reflect how they were feeling at the time of writing those words. So, we seek to collect ratings where users recall how they were feeling at they time they authored their Twitter posts, not just the emotion conveyed by the words in their post. Some posts may appear to contain no information about a users' emotion. Regardless, we want individuals to recall carefully their emotions around the time they wrote their posts so that our AI can learn about emotion from posts that might otherwise seem emotionless.

  10. How many tweets are you expecting people to contribute?

    We honestly have no clue. The more we get the more we can help the research community—so please help contribute!