1. 程式人生 > 其它 >【論文翻譯】Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory

【論文翻譯】Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory

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

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

程式碼地址:https://github.com/declare-lab/conv-emotion

注意:全文有部分機翻內容,沒來得及校對和理解,很抱歉。

翻譯幫助:百度翻譯

摘要

情感的感知和表達是對話系統或對話代理成功的關鍵因素。然而,到目前為止,這一問題還沒有在大規模的對話生成中進行研究。在本文中,我們提出了情感聊天機(ECM),它不僅可以在內容(相關性和語法性)上,而且可以在情感(情感一致性)上產生適當的響應。據我們所知,這是第一個解決大規模的對話生成中情感因素的工作。ECM使用三種新的機制來解決這個問題,分別是

  • 通過嵌入情緒類別對情緒表達的高層抽象進行建模
  • 捕獲內隱情緒狀態的變化
  • 通過外部情緒詞彙表使用外顯情緒表達

實驗表明,該模型不僅能產生內容上的響應,而且能產生情感上的響應。

介紹

作為人類智力的重要組成部分,情商被定義為感知、整合、理解和調節情緒的能力( Mayer 和 Salovey ,1997)。使機器能夠理解情感和情緒一直是人工智慧的長期目標( Picard 和 Picard ,1997)。為了建立一個能夠與使用者在人類層面上進行交流的聊天機器人,有必要讓機器具備感知和表達情感的能力。

現有研究表明,在對話系統或對話代理中處理情感( affect )和情緒( emotion )可以提高使用者滿意度( Prendinger 、Mori 和 Ishizuka ,2005年),並減少對話中的失敗( Martinovski 和 Traum ,2003年)。在調整對話行為以適應使用者的情緒狀態( Polzin 和 Waibel ,2000年)以及在內容和情感相關層面( Skowron ,2010年)生成針對使用者話語的響應方面也做了一些初步工作。

然而,這些研究大多受心理學研究的啟發,要麼基於規則,要麼侷限於小規模資料。最近,在大規模資料上訓練的神經模型顯著改善了開放域對話生成(Ritter、Cherry 和 Dolan ,2011;Vinyals 和 Le,2015;Shang、Lu 和 Li,2015;Serban 等人,2016)。這些模型大多旨在提高會話生成的內容質量(Gu 等,2016;Li 等,2016a;Xing 等,2017;Mou 等,2016;Li 等,2016b)。據我們所知,在現有的會話生成神經模型中,情感因素尚未得到處理。表1顯示了一些有/沒有考慮情緒的例子。我們可以看到,我們的ECM模型在情感上更具參與性和同理心。

在處理大規模會話生成中的情感因素時,有幾個挑戰。

首先,大規模語料庫中很少有高質量的情緒標記資料,因為情緒標註是一項相當主觀的任務,情緒分類也很具有挑戰性。

第二,我們必須以一種自然和連貫的方式來考慮情感,因為我們需要平衡語法和情感上的表達,正如( Ghosh 等人,2017)所述。

最後,如我們的實驗所示,在現有的神經模型中簡單地嵌入情感資訊,是無法生成令人滿意的情感響應的,而只能生成難以感知的一般表達(這些表達只包含在情感上非常含蓄或模稜兩可的常用詞,這些佔了我們資料集中所有情感響應的73.7%)。

在本文中,我們討論了在開放域會話系統中生成情感響應的問題,並提出了一種情感聊天機(簡稱 ECM )。為了獲得的大規模情感標記資料給 ECM ,我們在人工標註的語料庫上訓練神經分類器。分類器被用來自動註釋大規模對話資料給 ECM 進行訓練。為了在句子中自然連貫地表達情感,我們設計了一個 Seq2Seq 的生成模型,該模型配備了新的情感表達生成機制,即為了捕獲情感表達的高層抽象概念的情感類別嵌入,內部情感狀態用於動態平衡語法性和情感性,外部情緒記憶有助於產生更易懂和明確的情緒表達。

總結一下,本文做出了以下改善:

  • 本文提出了在大規模會話生成中處理情感因素。據我們所知,這是關於該主題的第一項研究工作。
  • 本文提出了一個端到端框架(稱為 ECM ),將情感影響整合到了大規模對話生成中。它有三種新的機制:情感類別嵌入、內部情感記憶和外部記憶。
  • 結果表明,與傳統的 Seq2Seq 模型相比, ECM 可以產生更高的內容和情感分數的響應。我們相信,未來的研究工作,如移情計算機代理和情感互動模型可以基於 ECM 進行。

相關工作

在人機互動中,檢測人類情感跡象並對其作出適當反應的能力可以豐富交流。例如,移情情感表達的展示加強了使用者的表現( Partala 和 Surakka 2004),並使得使用者滿意度提高( Prendinger 、Mori 和 Ishizuka 2005)。( Prendinger 和 Ishizuka ,2005)的實驗表明,移情計算機代理可以促進對互動的更積極的感知。在( Martinovski 和 Traum 2003)一書中,作者指出,如果機器能夠識別使用者的情緒狀態並對其作出敏感的反應,那麼許多錯誤是可以避免的。( Polzin 和 Waibel 2000)中的研究工作介紹瞭如何根據使用者的情緒狀態調整對話行為。Skowron(2010)提出了一種被稱為情感聽眾( affect listeners )的對話系統,它可以在內容相關和情感相關的層面上對使用者的話語做出響應。

這些研究工作主要受心理學研究發現的啟發,要麼基於規則,要麼侷限於小規模資料,因此很難應用於大規模的對話生成中。最近, Seq2Seq 生成模型(Sutskever、Vinyals 和 Le 2014;Bahdanau、Cho 和 Bengio 2014)已成功應用於大規模的對話生成(Vinyals 和 Le 2015),包括神經響應機(Shang、Lu 和 Li 2015)、分層遞迴模型(Serban 等人 2015)和許多其他模型。這些模型側重於提高生成的響應的內容質量,包括提升多樣性( Li 等人 2016a),考慮額外資訊( Xing 等人 2017;Mou 等人 2016;Li 等人 2016b;Herzig 等人 2017),以及處理未知單詞(Gu 等人 2016)。

然而,還沒有研究涉及到大規模會話生成中的情感因素。這裡有幾項研究用可控變數生成文字。( Hu 等人 2017)提出了一個生成模型,該模型可以根據語言的某些屬性(如情感和時態)生成句子。( Ghosh 等人,2017年)提出了情感語言模型,該模型生成基於上下文詞語和情感類別的文字。( Cagan、Frank 和 Tsarfaty 2017)整合了語法資訊,使用情感觀點和主題為文件生成評論。我們的工作在兩個主要方面有所不同:

  • 先前的研究在文字生成中嚴重依賴於語言工具或定製引數,而我們的模型完全是資料驅動的,沒有任何手動調整;
  • 先前的研究無法模擬輸入和迴應之間的多重情感互動,生成的文字只是延續了主要的上下文的情感。

Emotional Chatting Machine

背景:encoder-decoder 框架

我們的模型基於通用序列到序列(簡稱 seq2seq )模型( Sutskever、Vinyals 和 Le 2014)中的編碼器-解碼器框架。它通過門控迴圈單元(GRU)實施( Cho 等人 2014;Chung 等人 2014)。編碼器將輸入序列 \(\boldsymbol{X}=\left(x_{1}, x_{2}, \cdots, x_{n}\right)\) 轉換成隱式表述 \(\boldsymbol{h}=\left(h_{1}, h_{2}, \cdots, h_{n}\right)\) ,定義如下:(式1)

\[\boldsymbol{h}_{t}=\mathbf{G} \mathbf{R U}\left(\boldsymbol{h}_{t-1}, x_{t}\right) \]

解碼器將上下文向量 \(c_{t}\) 和先前解碼的單詞 \(\boldsymbol{e}\left(y_{t-1}\right)\) 的嵌入作為輸入要使用另一個 GRU 更新其狀態 \(\boldsymbol{s}_{t}\) :(式2)

\[\boldsymbol{s}_{t}=\mathbf{G} \mathbf{R} \mathbf{U}\left(\boldsymbol{s}_{t-1},\left[\boldsymbol{c}_{t} ; \boldsymbol{e}\left(y_{t-1}\right)\right]\right) \]

其中 \(\left[\boldsymbol{c}_{t} ; \boldsymbol{e}\left(y_{t-1}\right)\right]\) 是兩個向量的連線( concatenation ),用為 GRU 單元的輸入。上下文向量 \(c_{t}\) 被設計用於在解碼期間動態關注輸入的關鍵資訊( Bahdanaau、Cho 和 Bengio 2014)。一旦獲得狀態向量 \(\boldsymbol{s}_{t}\) ,解碼器通過從解碼器的狀態 \(\boldsymbol{s}_{t}\) 計算的輸出概率分佈 \(\boldsymbol{o}_{t}\) 進行取樣來生成令牌,如下所示:(式3、4)

\[\begin{aligned} y_{t} \sim \boldsymbol{o}_{t} &=P\left(y_{t} \mid y_{1}, y_{2}, \cdots, y_{t-1}, \boldsymbol{c}_{t}\right) \\ &=\operatorname{softmax}\left(\mathbf{W}_{\mathbf{o}} \boldsymbol{s}_{t}\right) \end{aligned} \]

任務定義和概述

我們的問題描述如下:

給一個輸入 \(\boldsymbol{X}=\left(x_{1}, x_{2}, \cdots, x_{n}\right)\) 和將要生成的響應的情感分類 \(e\) (解釋如下),目標是生成和情感分類 \(e\) 一致的響應 \(\boldsymbol{Y}=\left(y_{1}, y_{2}, \cdots, y_{m}\right)\) 。究其根本,該模型估計了以下概率:

\[P(\boldsymbol{Y} \mid \boldsymbol{X}, e)=\prod_{t=1}^{m} P\left(y_{t} \mid y_{<t}, \boldsymbol{X}, e\right) \]

情緒類別為{ Angry, Disgust, Happy, Like, Sad, Other },採用中文情緒分類挑戰任務。

在我們的問題陳述中,我們假設要生成的響應的情緒類別是給定的,因為情緒是高度主觀的。給定一個輸入,可能有多種情緒類別適合響應這個輸入,這取決於受訪者的態度。例如,對於一個悲傷的故事,有人可能會給予同情(作為朋友)迴應,有人可能會感到憤怒(作為易怒的陌生人),但有人可能會高興(作為敵人)。輸入和回覆之間靈活的情感互動與之前的研究( Hu 等人 2017;Ghosh 等人 2017;Cagan、Frank 和 Tsarfaty 2017)有著重要區別,這些先前研究使用與輸入相同的情感或情緒進行回覆。

因此,由於情緒反應的主觀性,我們選擇集中解決核心問題:在給定輸入和反應的情緒類別的情況下生成情緒響應。因此,我們的模型在不考慮反應情緒類別的情況下工作。請注意,有多種方法可以讓聊天機器人選擇情緒類別進行響應。一種方法是給聊天機器人一個個性和一些背景知識。另一種方法是使用訓練資料為給定輸入中的情緒找到最常見的響應情緒類別,並將其用作響應情緒。這種方法是合理的,因為它反映了人們的普遍情緒。我們把這項研究留給未來的工作。

在上一節討論的生成框架的基礎上,我們提出的情感聊天機( ECM )使用了三種機制生成情感表達:

  • 由於情感類別是情感表達的高階抽象,ECM 嵌入情感類別,並將情感類別嵌入反饋給解碼器。
  • 我們假設在解碼過程中,存在一個內部情緒狀態,為了捕獲該狀態的隱含變化並動態平衡語法狀態和情緒狀態之間的權重,ECM 採用了一個內部儲存模組。
  • 通過外部記憶模組顯式選擇一般(非情緒)詞或情緒詞,對情緒的顯式表達進行建模。

ECM 的概述如圖1所示。在訓練過程中,將 post-response 對語料庫輸入到情緒分類器,生成每個響應的情緒標籤,然後使用這個三元組資料對ECM進行訓練: post 、響應和響應的情緒標籤。在推理過程中,一個 post 被反饋給 ECM ,以產生擁有不同情緒類別的情緒響應。

情感類別嵌入

由於情感類別(例如:Angry, Disgust, Happy )提供了情緒表達的高階抽象,因此在響應生成中對情感進行建模的最直觀方法是將要生成的響應的情緒類別作為附加輸入。每個情感類別由值為實數的低維向量表示。對於每個情感類別 \(e\) ,我們隨機初始化情感類別 \(\boldsymbol{v}_{e}\) 的向量,然後通過訓練學習情緒類別的向量。情感類別嵌入 \(\boldsymbol{v}_{e}\) 、單詞嵌入 \(\boldsymbol{e}(y_{t-1})\) 和上下文向量 \(\boldsymbol{c}_ {t}\) 被饋入解碼器以更新解碼器的狀態 \(\boldsymbol{s}_{\boldsymbol{t}}\) :(式5)

\[\boldsymbol{s}_{\boldsymbol{t}}=\mathbf{G} \mathbf{R} \mathbf{U}\left(\boldsymbol{s}_{t-1},\left[\boldsymbol{c}_{t} ; \boldsymbol{e}\left(y_{t-1}\right) ; \boldsymbol{v}_{e}\right]\right) \]

基於 \(\boldsymbol{s}_{\boldsymbol{t}}\) ,可通過之前的式子相應地計算解碼概率分佈以生成下一令牌 \(y_{t}\)

內部記憶

前一節中介紹的方法比較靜態:情感類別嵌入在生成過程中不會發生變化,這可能會損害句子的語法正確性,如( Ghosh 等人 2017)所述。受情感響應相對短暫且涉及變化的心理學發現( Gross 1998;Hochschild 1979)和情感反應中的動態情感情境( Alam、Danieli 和 Riccardi 2017)的啟發,我們設計了一個內部記憶模組,以捕捉解碼過程中的情感動態。我們模擬情感表達的過程如下:在解碼過程開始之前,每個類別都有一個內部情感狀態;在每一步中,情緒狀態都會有一定程度的衰退;一旦解碼過程完成,情緒狀態應衰減為零,表明情緒已完全表達。

內部記憶模組的詳細過程如圖2所示。在每個步驟 t ,ECM 使用先前解碼的詞 \(\boldsymbol{e}(y_{t}-1)\) 的詞嵌入,解碼器的先前狀態 \(\boldsymbol{s}_{t-1}\) 和當前上下文向量 \(\boldsymbol{c}_{t}\) 的輸入來計算讀取門 $\boldsymbol{g}{t}^{r} $ 。在解碼器的狀態向量 \(s_{t}\) 上計算寫入門 $\boldsymbol{g}{t}^{w} $ 。讀取門和寫入門定義如下:(式6、7)

\[\begin{aligned} \boldsymbol{g}_{t}^{r} &=\operatorname{sigmoid}\left(\mathbf{W}_{\mathbf{g}}^{\mathbf{r}}\left[\boldsymbol{e}\left(y_{t-1}\right) ; \boldsymbol{s}_{t-1} ; \boldsymbol{c}_{t}\right]\right) \\ \boldsymbol{g}_{t}^{w} &=\operatorname{sigmoid}\left(\mathbf{W}_{\mathbf{g}}^{\mathbf{w}} \boldsymbol{s}_{t}\right) \end{aligned} \]

讀取門和寫入門分別用於從內部記憶模組中讀取和寫入。因此,情感狀態在每一步都被一定量( $\boldsymbol{g}_{t}^{w} $ )擦除。在最後一步,內部情感狀態將衰減為零。該過程正式描述如下:(式8、9)

\[\begin{aligned} \boldsymbol{M}_{r, t}^{I} &=\boldsymbol{g}_{t}^{r} \otimes \boldsymbol{M}_{e, t}^{I} \\ \boldsymbol{M}_{e, t+1}^{I} &=\boldsymbol{g}_{t}^{w} \otimes \boldsymbol{M}_{e, t}^{I} \end{aligned} \]

其中, \(\otimes\) element-wise 乘法, \(r/w\) 分別表示讀取/寫入, \(I\) 意思是內部。GRU 根據前一個目標單詞 \(\boldsymbol{e}(y_{t}-1)\) 、解碼器的先前狀態 \(\boldsymbol{s}_{t-1}\) 、上下文向量 \(\boldsymbol{c}_{t}\) 以及情緒狀態更新 \(\boldsymbol{M}_{r, t}^{I}\) 更新其狀態 \(\boldsymbol{s}_{t}\) ,具體如下:(式10)

\[\boldsymbol{s}_{\boldsymbol{t}}=\mathbf{G} \mathbf{R} \mathbf{U}\left(\boldsymbol{s}_{t-1},\left[\boldsymbol{c}_{t} ; \boldsymbol{e}\left(y_{t-1}\right) ; \boldsymbol{M}_{r, t}^{I}\right]\right) \]

基於該狀態,可以獲得詞生成分佈 \(\boldsymbol{o}_{t}\) ,並且可以對下一個詞 \(y_{t}\) 進行取樣。在生成下一個詞後, \(\boldsymbol{M}_{r, t+1}^{I}\) 被回寫到內部記憶中。注意,如果多次執行式9,則相當於將矩陣連續相乘,從而產生衰減效應因為 \(1≤ sigmoid(·) ≤ 1\) 。這類似於記憶網路中的刪除操作(Miller 等人,2016)。

外部記憶

在內部記憶模組中,內部情感狀態的變化與單詞選擇之間的相關性是隱性的,不能直接觀察到。由於情感表達與句子中包含的情感詞(Xu 等人 2008)非常不同,如 lovely 和 awesome ,與一般(非情感)詞(如 person 和 day )相比,這些詞帶有強烈的情感,我們提出了一個外部記憶模組,通過給情感詞和一般詞分配不同的生成概率來顯式地建模情感表達。因此,該模型可以選擇從情感詞彙表或一般詞彙表生成單詞。

帶有外部記憶模組的解碼器如圖3所示。給定解碼器的當前狀態 \(s_{t}\) ,分別對從外部記憶模組和通用詞彙讀取的情感詞彙表計算情感 softmax \(P_{e}(y_{t}=w_{e})\) 和通用 softmax \(P_{g}(y_{t}=w_{g})\) 。型別選擇器 \(α_{t}\) 控制生成情感或一般詞 \(y_{t}\) 的權重。最後,從下一個單詞概率(兩個加權概率的 concatenation )中對下一個單詞進行取樣。該過程可制定如下:(式11-14)

\[\begin{aligned} \alpha_{t} &=\operatorname{sigmoid}\left(\mathbf{v}_{\mathbf{u}}{ }^{\top} s_{t}\right), \\ P_{g}\left(y_{t}=w_{g}\right) &=\operatorname{softmax}\left(\mathbf{W}_{\mathbf{g}}^{\mathrm{o}} s_{t}\right), \\ P_{e}\left(y_{t}=w_{e}\right) &=\operatorname{softmax}\left(\mathbf{W}_{\mathrm{e}}^{\mathrm{o}} s_{t}\right), \\ y_{t} \sim \boldsymbol{o}_{t}=P\left(y_{t}\right) &=\left[\begin{array}{r} \left(1-\alpha_{t}\right) P_{g}\left(y_{t}=w_{g}\right) \\ \alpha_{t} P_{e}\left(y_{t}=w_{e}\right) \end{array}\right], \end{aligned} \]

其中, \(\alpha_{t}\in[0,1]\) 是一個標量,用於平衡情感詞 \(w_{e}\) 和一般詞 \(w_{g}\) 之間的選擇, \(P_{g}/P_{e}\) 分別是一般詞/情感詞的分佈, \(P_{(y_{t})}\) 是最終的單詞解碼分佈。請注意,這兩個詞彙表沒有交集,最終分佈 \(P_{(y_{t})}\) 是兩個分佈的 concatenation 。

損失函式

損失函式是訓練語料中預測的令牌分佈 \(\boldsymbol{o}_{t}\) 和黃金分佈( gold distribution ) \(\boldsymbol{p}_{t}\) 之間的交叉熵誤差。此外,我們應用了兩個正則化項:一個在內部記憶上,強制內部情感狀態在解碼結束時衰減為零;另一個在外部記憶上,限制情感詞或一般詞的選擇。一個樣本 \(<\boldsymbol{X},\boldsymbol{Y}>(\boldsymbol{X}=x_{1},x_{2},...<x_{n},\boldsymbol{Y}=y_{1},y_{2},...,y_{m})\) 的損失函式定義為:(式15)

\[L(\theta)=-\sum_{t=1}^{m} \boldsymbol{p}_{t} \log \left(\boldsymbol{o}_{t}\right)-\sum_{t=1}^{m} q_{t} \log \left(\alpha_{t}\right)+\left\|\boldsymbol{M}_{e, m}^{I}\right\| \]

其中 \(\boldsymbol{M}_{e, m}^{I}\) 是最後一步 m 的內在情感狀態, \(α_{t}\) 是選擇情感詞或一般詞的概率, \(q_{t}∈ \{0,1\}\)\(\boldsymbol{Y}\) 中情感詞或一般詞的正確選擇。第二項用於監督選擇情感詞或一般詞的概率。第三項用於確保一旦生成完成,內部情緒狀態已完全表達。

資料準備

由於沒有現成的資料來訓練 ECM ,我們首先使用 NLPCC 情緒分類資料集訓練情緒分類員,然後使用分類員對 STC 對話資料集( Shang、Lu 和 Li 2015)進行註釋,以構建我們自己的實驗資料集。資料準備過程中有兩個步驟:

1. 建立情感分類器

我們在 NLPCC 資料集上培訓了幾個分類器,然後選擇最佳分類器進行自動註釋。該資料集用於 NLPCC20132 和 NLPCC20143 中情感分類的挑戰性任務,包括從微博收集的23105句句子。它被手動標註為8種情緒類別:Angry,Disgust,Fear,Happy,Like,Sad,Surprise 和 Other 。除去不常見的類別( Fear(1.5%)和 Surprise (4.4%)),我們有六種情緒類別,即 Angry,Disgust,Happy,Like,Sad 和 Other 。

然後,我們以8:1:1的比例將 NLPCC 資料集劃分為訓練集、驗證集和測試集。在過濾後的資料集上培訓了幾個情感分類器,包括基於詞典的分類器( Liu 2012)(我們在(Xu 等人2008年)中使用了的情感詞典)、RNN( Mikolov 等人2010年)、LSTM( Hochreiter 和 Schmidhuber 1997年)和雙向 LSTM(Bi-LSTM)(Graves、Fernandez 和 Schmidhuber 2005年)。表2中的結果表明,所有使用了神經網路的分類器的效能都優於基於詞典的分類器,表現最好的是 Bi-LSTM 分類器,精度為0.623。

2.用情感詮釋STC

我們採用最佳分類法 Bi-LSTM 對 STC 資料集的六種情緒類別進行註釋。在註釋之後,我們獲得了一個情感標記的資料集,我們稱之為 Emotional STC(ESTC)資料集。ESTC 資料集的統計資料如表3所示。雖然 ESTC 資料集的情感標籤由於自動註釋而有噪聲,但該資料集足以在實踐中訓練模型。作為未來的工作,我們將研究分類錯誤如何影響響應生成。

實驗

實施細節

我們使用 Tensorflow 來實現所提出的模型。編碼器和解碼器兩層 GRU 結構,每層有256個隱藏單元,並分別使用不同的引數集。詞嵌入大小設定為100。詞彙量限制為40000。情感類別的嵌入大小設定為100。內部記憶是一個大小為6×256的可訓練矩陣,外部記憶是一個40000個單詞的列表,其中包含一般單詞和情感單詞(但情感單詞有不同的標記)。為了產生不同的響應,我們在解碼過程中採用了波束搜尋,其中波束大小設定為20,然後在移除包含未知詞的響應後,根據生成概率重新排列響應。
我們使用小批量隨機梯度下降(SGD)演算法。批量大小和學習率分別設定為128和0.5。為了加快訓練過程,我們在 STC 資料集上訓練了一個帶有預訓練的詞嵌入的 seq2seq 模型。然後我們在 ESTC 資料集上訓練我們的模型,引數由預先訓練的 seq2seq 模型的引數初始化。我們運行了20個 epoches ,每個模型的訓練階段在 Titan X GPU 機器上大約需要一週的時間。

基線模型

如上所述,本文是第一篇探討大規模會話生成中情感因素的研究。我們在文獻中沒有發現密切相關的基線。Affect-LM(Ghosh 等人 2017)不能作為我們的基線,因為它不能對同一篇文章產生不同情感的反應。相反,它只是複製並使用輸入帖子的情感。此外,它嚴重依賴於語言資源,需要手動調整引數。

然而,我們選擇了兩個合適的基線:一般的 seq2seq 模型( Sutskever、Vinyals 和 Le 2014)和我們建立的情感類別嵌入模型(Emb),其中情感類別嵌入到向量中,向量作為每個解碼位置的輸入,類似於使用者嵌入的想法(Li 等人 2016b)。由於情感類別是情感表達的高階抽象,因此這是我們模型的適當基線。

自動評估

度量指標

如( Liu 等人,2016)所述, BLEU 不適合測量對話生成,因為其與人類判斷的相關性較低。我們在內容層面(內容是否相關和語法性)採用困惑度( perplexity )來評估模型。為了在情感層面評估模型,我們採用了情感準確性來檢測預期情感類別(作為模型的輸入)和情感分類器生成的反應的預測情感類別之間的一致性。

結果

結果如表4所示。可以看出,ECM 在情感準確性方面表現最好,而在困惑度方面表現比 Seq2Seq 好,但比 Emb 差。這可能是因為 ECM 的損失功能不僅在困惑度上受到監督,而且在一般詞或情感詞的選擇上也受到監督(見等式15)。在實踐中,情感準確性比困惑度更重要,因為生成的句子已經流暢且符合語法,困惑度為68.0。

為了研究不同模組的影響,我們進行了消融試驗,每次從 ECM 中取出三個模組中的一個。正如我們所看到的,沒有外部記憶模組的ECM在困惑度中獲得了最好的效能。通過引入內部記憶模組,我們的模型可以在不犧牲語法性的情況下生成響應,模組可以動態平衡語法和情感之間的權重。去除外部記憶模組後,情感準確性下降幅度最大,表明外部記憶模組由於明確選擇了情緒詞,所以有較高的情感準確性。請注意, Seq2Seq 的情感準確性極低,因為它會為不同的情感類別生成相同的響應。

人工評估

為了從內容和情感角度更好地分析生成的響應的質量,我們進行了手動評估。給定一個帖子和一個情感類別,所有模型產生的反應被隨機分配給三個人類註釋者。

度量指標

註釋者被要求根據內容(評分範圍為0、1、2)和情感(評分範圍為0、1)對響應進行評分,並說明更傾向於兩種系統中哪一個。內容定義為對 post 的響應是否恰當、自然,是否可能是由人做出的,這是研究人員和對話挑戰性任務經常使用的衡量標準,來自(Shang、Lu 和 Li 2015)。情感定義為響應的情感表達是否與給定的情感類別一致。

註釋統計

我們從測試集中隨機抽取了200個 post 。對於每個模型,我們總共生成了1200個響應:對於 Seq2Seq ,我們為每個 post 生成了前6個響應;對於 Emb 和 ECM ,我們生成了對應於6個情感類別的前6個響應。
我們計算了 Fleiss’ kappa( Fleiss 1971)來衡量評分者之間的一致性。內容和情感的 Fleiss’ kappa 分別為0.441和0.757,表示“中度一致”和“極其一致”。

結果

結果如表6所示。ECM 的所有響應分數在兩個指標上都顯著優於其他方法(雙尾t檢驗,內容層面 p < 0.05,情感層面 p < 0.005)。與 Emb 相比,在加入內部記憶模組和外部記憶模組後,ECM 在情感層面的效能得到了提高,表明我們的模型能夠生成更為明確的情感表達。此外,內容表現從 Emb 的1.256提高到 ECM 的1.299,這表明 ECM 能夠控制情感權重,並生成內容合適的響應。

對於所有情感類別,ECM 在情感層面的表現均優於其他方法。然而,ECM 在 Disgust 和 Angry 類別中的內容層面的表現不如基線模型,因為這兩個類別沒有足夠的訓練資料。例如,在我們的 ESTC 資料集中,憤怒類別只有234635個響應,遠遠少於其他類別。

為了評估 ECM 是否能夠產生在內容和情感層面都合適的響應,我們同時考慮內容和情感得分,得出了表5中的結果。如我們所見,ECM 生成的響應中有27.2%的內容分數為2,情感分數為1,而 Emb 和 Seq2Seq 分別只有22.8%和9.0%。這表明 ECM 在內容和情感方面都能更好地產生高質量的響應。

偏好測試

此外,情感模型( Emb 和 ECM )比 Seq2Seq 更受歡迎,與表7所示的其他方法相比, ECM 更受註釋者的青睞(雙尾t檢驗,p < 0.001)。有著不同的情緒的響應比 Seq2Seq 模型產生的一般響應更吸引使用者。由於情感的明確表達以及內容的恰當性,ECM 更受青睞。

情感互動分析與案例研究

圖5顯示了 ESTC 資料集中 post 和響應的情感互動模式。情感互動模式(EIP)定義為 \(<e_{p},e_{r}>\) ,即 post 及其響應的一對情感類別。 EIP 的值是條件概率 \(P(e_{r} | e_{p})=P(e_{r},e_{p})/P(e_{p})\) 。標記為深色的 EIP 比標記為淺色的 EIP 更多。從圖中,我們可以得出一些觀察結果。首先,頻繁的 EIP 表明,在 post 情感類別中存在一些主要的反應情感。例如,當 post 表達 Happy 時,響應的情緒通常是 Like 或 Happy。其次,對角線圖案表示共情,這是一種常見的情感互動型別。第三,還有其他 post 的 EIP ,這表明對話中的情感互動是相當多樣的,如前所述。請注意, Other 情感類別的資料比其他類別的資料要多得多(見表3),這表明由於資料偏差和情感分類錯誤, EIP 偏向於該類別(圖5的第一列)。

我們在圖4中給出了一些示例。可以看出,對於給定的 post ,有多種情感類別適合其在對話中的響應。 Seq2Seq 生成帶有隨機情感的響應。 ECM 可以根據每個情感類別產生情感響應。所有這些響應都適用於該 post ,表明存在多個 EIP ,以及為什麼應將情感類別指定為我們系統的輸入。
我們可以看到,如果預先指定的情感類別和 post 的情感屬於常見的 EIP 之一, ECM 可以生成適當的響應。彩色單詞表明, ECM 可以通過應用外部記憶模組來明確表達情感,在解碼過程中,外部記憶模組可以選擇一般(非情感)詞或情感詞。對於低頻 EIP ,如圖4最後兩行所示的< Happy,Absort >和< Happy,Angry >,由於缺乏訓練資料和/或情感分類導致的錯誤,響應不適合情感類別。

結論和今後的工作

在本文中,我們提出了情感聊天機( ECM )來模擬大規模對話生成中的情感影響。提出了三種情感因素模型,包括情感類別嵌入、內部情緒記憶和外部記憶。客觀和手動評估表明, ECM 不僅可以在內容層面上生成適當的響應,而且可以在情感層面上生成適當的響應。
在我們未來的工作中,我們將探索感與 ECM 的互動作用:模型應該為響應確定最合適的情感類別,而不是指定情感類別。然而,這可能具有挑戰性,因為這樣的任務取決於主題、上下文或使用者的情感。