PaperWeekly 第35期 | 如何讓聊天機器人懂情感

黃民烈

清華大學老師

關注自然語言處理、人機對話情感分析等方向

aihuang@tsinghua.edu.cn

當你悲傷的時候,機器人可以安慰你;當你高興的時候,機器人為你高興。悲你所悲,喜你所喜,真正的情感撫慰和陪伴,就需要這種情緒化的聊天技巧。

清華大學計算機系朱小燕、黃民烈老師團隊研發的 ECM(Emotional Chatting Machine:情緒化聊天機器人)開始具備這樣的能力。

近年來,隨著深度學習的發展,應用於開放領域的對話系統正在受到越來越多的關注。與之前基於信息檢索的對話系統不同,基於深度學習的生成式對話系統可以從大規模的語料中學習到潛在的回復模式,從而可以生成語料中從未出現過的回復語句,在適用性與擴展性上都比基於信息檢索的對話系統有了極大的提升。之前,大量的生成式對話系統的工作都致力於提升對話系統生成語句的語言質量,包括語法性、多樣性以及話題相關性等等,卻缺乏對人類情感的理解。然而,很多研究表明,情感智力(Emotion Intelligence)對人機對話系統的表現有著至關重要的影響,是一個成功的對話系統不可或缺的重要組成部分。

朱小燕、黃民烈老師團隊近期發布的論文「 Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory」(作者:周昊、黃民烈、張天揚、朱小燕、劉兵)首次將情感因素引入了基於深度學習的生成式對話系統,提出了基於記憶網路的情感對話系統 Emotional Chatting Machine (ECM) ,在傳統的 Sequence to Sequence 模型的基礎上,ECM 使用了靜態的情感向量嵌入表示,動態的情感狀態記憶網路和情感詞外部記憶的機制,使得 ECM 可以根據用戶的輸入以及指定情感分類輸出相應情感的回復語句。實驗表明,ECM 可以在語言和情感兩個維度上生成恰當的回復,並且通過人工實驗驗證了人們偏好於引入了情感因素的對話系統。作為第一篇將情感因素引入基於深度學習的生成式對話系統的論文,該工作受到了包括 MIT Technology ReviewNVIDIA DEVELOPER 的關注(報道鏈接詳見文末)。其中,MIT Technology Review 的評價:「Chatbots have never been able to empathize. That looks set to change, thanks to a Chinese team that has built a chatbot capable of conveying specific emotions.」

▲ 圖1:ECM 模型框架

模型的總體框架如圖 1 所示,用戶問題輸入為「What a lovely day!」,通過 Encoder 將其編碼為隱向量表示 h,然後通過注意力機制,結合 decoder 的狀態向量 s 在生成不同的詞時,對問題的隱向量表示 h 的不同部分的信息選擇性的加強,得到向量 c。指定情感類別為「Happiness」,經過索引得到情感類別嵌入向量,初始的情感狀態記憶向量和相應的情感詞表。decoder 接受經過注意力機制的問題向量 c,情感類別嵌入向量和初始的情感狀態記憶向量作為輸入,通過循環神經網路生成下個詞的生成概率 o,之後再經過情感詞表對情感詞和非情感詞的加權,得到最終詞的生成概率,通過採樣即可得到輸出「Haha, so happy today!」。

▲ 圖2:ECM 生成的對話樣例,與經典 Seq2Seq 模型的比較

ECM 生成的對話樣例如圖所示,對大部分在語料中出現較多的情感類別,ECM 都能生成相應情感的回復,但是對於在語料中出現較少的情感類別(如最後 2 行),ECM 回復的質量會有所降低。更多有趣的例子可見下表:

MIT Technology Review:

Emotional chatting machine assesses your emotion and copies it

NVIDIA DEVELOPER:

Emotional Chatting Chatbot

歡迎查看完整版論文:

Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory

關於PaperWeekly

PaperWeekly 是一個推薦、解讀、討論、報道人工智慧前沿論文成果的學術平台。Paperweekly - Knowledge sharing made easy.

微信公眾號:PaperWeekly

新浪微博:@PaperWeekly


推薦閱讀:

NLP情感分析|流程概述(一)
如何用Python做情感分析?

TAG:自然语言处理 | 文本情感分析 | chatbot |