Emotional Chatting Chatbot

Computers lack empathy, but researchers from China are looking to change that with their deep learning-based chatbot capable of assessing the emotional content of a conversation and responding accordingly.

The work opens the door to a new generation of chatbots that are emotionally aware. “To the best of our knowledge, this is the first work addressing the emotion factor in large-scale conversation generation,” mentions the researchers in their paper.

Using TITAN X GPUs, and cuDNN with the TensorFlow deep learning framework, the researchers trained their model on a dataset of 23,000 sentences collected from the Chinese blogging service Weibo and manually annotated with their emotional charge – anger, disgust, happiness, like, sadness. They then used an ordinary chatbot conversation generator to produce responses and utilized their deep learning algorithm called Emotional Chatting Machine (ECM) to ensure the response has the correct emotional content.

Overview of ECM. h is the hidden representation of an input post, c is a context vector generated by attention conditioned on h and the state of the decoder s, o is the decoding probability distribution. Emotion embedding is a vector representation of the input category e, internal memory is a matrix storing the internal emotion states, and external memory is an emotion dictionary for decoding.

For example, to reply to the statement “Worst day ever. I arrived late because of the traffic,” the ECM generates different responses, depending on the required emotion.

For happiness, it responds, “Keep smiling! Things will get better.” For sadness, it responds, “It’s depressing.” For disgust, it says, “Sometimes life just sucks.” For anger, it says, “The traffic is too bad!” And to express liking, it says, “I am always here to support you.”

Read more >