《 Emotional Conversation Generation with Internal and External Memory 》閱讀筆記

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

原文鏈接:pdfs.semanticscholar.org

來源:AAAI 2018

問題介紹

情感的感知和表達是對話系統成功的關鍵因素。 但是,迄今為止這個問題還沒有在大規模的轉換生成中進行過研究,而人類認知行為的一個主要部分就是理解並表達情感。 在本文中,我們提出的情感聊天機(ECM)不僅可以在內容(相關性和語法)上產生適當的回答,還可以加上情感因子使機器更加人性化。 例如:

模型介紹

1、參數說明和模型框架

  • 輸入:輸入句子X=left( x_1, x_2, cdot cdot cdot , x_n
ight)

  • 情感詞:用e表示某種情感,共有5種情感{ Anger, Disgust, Happiness, Like, Sadness, }。每個句子的情感類別使用情感分類模型預處理得到的。

輸出:應答句子Y=left( y_1, y_2, cdot cdot cdot , y_m
ight)

模型框架如下,可以分為兩個大的部分:基於GRU模型結合Attention機制的Encoder-Decoder模型和情感模型。這兩個模型密不可分,情感模型的輸出是Decoder的輸入,同時Decoder的輸出也是情感模型的輸入,最終Encoder-Decoder和情感模型的輸出聯合生成最終應答句子。

2.情感模塊

本文的主要工作就是在seq2seq的模型中加入了感情模塊,分為三個部分:

情感Embedding模塊,內部記憶模塊,外部記憶模塊;

情感Embedding模塊:將情感類別和Encoder的輸出一起輸入到Decoder中;

內部記憶模塊:

目的是在decoding的過程中,抓住情感狀態的動態變化;

在解碼過程開始之前,每個類別都有一個內部情感狀態; 在每一步,情感狀態衰減一定量, 一旦解碼過程完成,情感狀態應該衰減到零,表明情感被完全表達。

意思是當機器準備生成第t個應答詞,有多大概率使用當前狀態的情感狀態M^{I}_{e,t},並更新下一時刻(t+1)的情感狀態。公式如下:

gate g^r_t可以理解成生成第t個詞時考慮情感狀態的概率,而gate g^w_t則可以理解為更新情感狀態的概率

因為gate g^r_t中有sigmoid,而且是元素相乘,相當於一個delet的操作;

外部記憶模塊

在內部記憶模塊中,內部情感狀態的變化與詞的選擇之間的相關性是隱含的而不是直接可觀察的,所以用一個外部記憶模塊顯式的考慮情感(用包含情感的詞),首先根據當前的隱含情感狀態選擇情感詞並根據當前Decoder輸出的隱含狀態選擇其他非情感詞,最終生成應答詞。

3.LOSS

用的交叉熵加上內部和外部情感模塊的正則;

實驗結果

數據集:NLPCC 2013&2014,是關於情感分類的數據集,包括23,105個句子和8種情感詞 {Anger, Disgust, Fear, Happiness, Like, Sadness, Surprise, and Other}。

結果:

在情感轉換的正確率上是最好的,在複雜度上沒有最後一個好。

總結

本文思路比較新穎,在大規模對話生成中引入情感,用了三個獨特的感情模塊模擬人情感的表達,取得了很好的效果。

推薦閱讀:

TAG:自然語言 | 對話系統 | 情感 |