馮廣敬, 劉 箴, 劉婷婷, 許 根, 莊 寅, 王媛怡, 柴艷杰
(1.寧波大學(xué) 信息科學(xué)與工程學(xué)院,浙江 寧波 315211;2.寧波大學(xué)科學(xué)技術(shù)學(xué)院 信息工程學(xué)院,浙江 慈溪 315300;3.中國科學(xué)院寧波材料技術(shù)與工程研究所 先進(jìn)制造技術(shù)研究所,浙江 寧波 315201)
對話系統(tǒng)作為自然語言處理任務(wù)中的一大難題,受到了工業(yè)界和學(xué)術(shù)界的廣泛關(guān)注。早期研究致力于提取高質(zhì)量的語義信息來生成邏輯通順的對話響應(yīng),這雖然保證了響應(yīng)的語義連貫性,但是對話響應(yīng)質(zhì)量不高,不具備交互性和多樣性。近幾年,為生成多樣化的響應(yīng),研究者們嘗試從主題[1-2]、外部知識庫[3-4]以及個(gè)性化特征[5-6]等不同的角度進(jìn)行了探索。也有人發(fā)現(xiàn)情感在對話過程中發(fā)揮著重要的作用,融合了情感因素的對話系統(tǒng)能夠明顯降低對話中斷的概率并提高用戶的滿意度[7]。社會心理學(xué)研究表明,“共情”是讓對話系統(tǒng)走向更加人性化的關(guān)鍵一步,其能夠在社交活動中提高對話系統(tǒng)的情感感知能力[8]。將情感信息融入對話系統(tǒng)有助于實(shí)現(xiàn)更好的人機(jī)交互,增加社會聯(lián)系感。
近幾年提出的情感對話生成模型大部分采用類似的方法,即在典型的Seq2Seq模型[9]基礎(chǔ)上增加了情感處理模塊來編碼情感信息。Seq2Seq模型雖然能用于生成任務(wù),但是其受限于語料庫的大小和目標(biāo)函數(shù),極易生成邏輯性有一定問題的響應(yīng)。語料庫的大小決定了模型在語義理解方面的能力;目標(biāo)函數(shù)容易限制模型生成單調(diào)、趨于安全性的響應(yīng)。在情感處理模塊的處理中,通常直接設(shè)定響應(yīng)的情感類別,并將情感類別用向量進(jìn)行表征[10],這雖然在一定程度上確保了生成響應(yīng)的情感一致性,但是也容易讓模型傾向于生成同類情緒中單調(diào)、重復(fù)的回答,從而降低了響應(yīng)的交互性和多樣性。
針對上述問題,本文提出了一個(gè)基于情感變量的二階段對話生成模型,將整個(gè)對話生成過程劃分為兩個(gè)階段。首先,為了確保生成邏輯正確的響應(yīng),本文在DialoGPT[11]預(yù)訓(xùn)練模型基礎(chǔ)上利用多輪對話數(shù)據(jù)集進(jìn)行微調(diào)以獲得第一階段的響應(yīng);然后對上下文進(jìn)行情感建模,在主傾向情感的基礎(chǔ)上混合了其他情緒,并在第二階段用獲得的情感變量對第一階段的響應(yīng)進(jìn)行重寫,最終獲得邏輯正確且多樣性的響應(yīng)。本文的主要貢獻(xiàn)為以下三個(gè)部分:
(1) 提出了二階段的對話生成模型,在確保生成邏輯通順的對話響應(yīng)的基礎(chǔ)上利用情感變量對響應(yīng)進(jìn)行重寫,這既確保了語義邏輯的正確性,也加強(qiáng)了生成響應(yīng)的多樣性。
(2) 在情感信息編碼中,本文提出將主情感變量和通過采樣得到的混合情感變量進(jìn)行融合作為全局情感變量,在確保響應(yīng)的情感一致性的基礎(chǔ)上增加了多樣性。
(3) 采用自動評價(jià)方法和人工評價(jià)方法對多個(gè)模型進(jìn)行對比分析,實(shí)驗(yàn)結(jié)果表明,本文提出的模型優(yōu)于其他模型,生成的響應(yīng)具有高質(zhì)量、多樣性的特點(diǎn)。
現(xiàn)有的情感對話生成的研究工作大多以對話數(shù)據(jù)為驅(qū)動,基于生成式對話模型生成情感對話響應(yīng)。根據(jù)情感信息引入方法的不同,情感對話模型可以劃分為指定響應(yīng)情感的生成和不指定響應(yīng)情感的生成。
指定響應(yīng)情感的生成是根據(jù)事先設(shè)定好的情感類別來產(chǎn)生相應(yīng)的響應(yīng)語句。Zhou 等[10]首次嘗試將離散情緒信息融入到生成對話模型中。他們提出的ECM模型(Emotional Chatting Machine)是在傳統(tǒng)的Seq2Seq模型基礎(chǔ)上引入了情感處理模塊。情感處理模塊用來處理情緒信息,讓響應(yīng)語句中包含的情緒信息隨著時(shí)間衰減。此后,ECM模型作為情感對話生成模型的基礎(chǔ),獲得了不同的進(jìn)階版本。例如,Shen 和 Feng[12]引入了對偶和課程學(xué)習(xí)來強(qiáng)化模型。他們認(rèn)為根據(jù)指定的情緒進(jìn)行響應(yīng)會造成上下文情感不一致的情況,因此需要將情感一致性問題考慮在內(nèi)。Song 等[13]認(rèn)為情緒的表達(dá)方式有兩種,一種是通過情感詞直接表達(dá)自己的情緒;另一種是隱含在上下文語境中內(nèi)斂地表達(dá)情緒。基于此,他們在序列到序列模型(Sequence-to-Sequence,Seq2Seq)的基礎(chǔ)上,提出了詞典注意力機(jī)制的方法,基于詞典賦予現(xiàn)實(shí)情感詞更高的權(quán)重,并將上下文信息加入到解碼階段得到隱式情緒狀態(tài)。最后輸出的詞匯選取自情感詞典或者語料庫詞典。Ma等[14]認(rèn)為對話過程中情感狀態(tài)會有一定程度的轉(zhuǎn)移,他們增加了一個(gè)控制單元來控制情感狀態(tài)的轉(zhuǎn)移過程。
不指定響應(yīng)情感的生成認(rèn)為響應(yīng)所需的情感信息已經(jīng)包含在了上文語境中。相比于指定情感的生成,不指定響應(yīng)情感的生成所蘊(yùn)含的情感更具多樣性。Li等[15]嘗試捕捉人類情感的細(xì)微差別,通過引入一個(gè)利用用戶反饋的交互式學(xué)習(xí)框架,提出了EmpDG 對話生成模型。整個(gè)模型一共分為兩部分,分別是基于Tranformer模型[16]的端到端情感對話生成器和基于情感以及語義判斷的交互判別器。Majumder[17]等認(rèn)為對話中的共情過程通常在不同程度上模仿用戶的情緒,這取決于它的積極或消極內(nèi)容。他們引入了一種新的共情生成方法,該方法對上下文和情緒進(jìn)行編碼,并使用情緒隨機(jī)采樣和情緒模仿來生成對積極或消極陳述適當(dāng)和共情的響應(yīng)。Nie等[18]提出了一個(gè)帶有自適應(yīng)解碼器的多模式對話系統(tǒng),先理解給定的多模態(tài)上下文的意圖,然后采用自適應(yīng)解碼器來生成所需的響應(yīng)。
DialoGPT[11]是以GPT-2[19]模型為基礎(chǔ)利用單輪對話數(shù)據(jù)集進(jìn)行的再訓(xùn)練。本文實(shí)驗(yàn)用的是最小規(guī)模的DialoGPT預(yù)訓(xùn)練模型。GPT-2是OpenAI團(tuán)隊(duì)在GPT模型[20]的基礎(chǔ)上獲得的改進(jìn)版,模型的訓(xùn)練分為兩個(gè)階段: 無監(jiān)督的語言模型預(yù)訓(xùn)練和無監(jiān)督的下游任務(wù)訓(xùn)練。GPT-2模型的框架同GPT模型基本一致,都是以Transformer模型中的解碼器為基礎(chǔ)架構(gòu),但是增加了疊加的解碼器的層數(shù),導(dǎo)致參數(shù)量提升至了15億。
GPT-2將單向Transformer中的解碼器模塊作為塊(block),并以塊為單位進(jìn)行堆疊,并在第一階段采用八百萬的高質(zhì)量文檔進(jìn)行訓(xùn)練以增強(qiáng)語言模型的泛化能力。Transformer中的解碼器是形成GPT-2模型的主要架構(gòu),包含遮掩自注意力機(jī)制、層歸一化和前饋神經(jīng)網(wǎng)絡(luò),其內(nèi)部結(jié)構(gòu)如圖1所示。
圖1 GPT-2模型的內(nèi)部結(jié)構(gòu)
一段多輪對話由兩個(gè)會話者所說的M條語句組成。本文假設(shè)在對話過程中包含上下文語境和情感語境,其中上下文語境包括句子序列CO,每條語句Ui;情感語境包括情感標(biāo)簽E。給定CO和E,本文模型的目標(biāo)是最大化概率P(Y|CO,E)以生成一個(gè)長度為N的響應(yīng)Y={y1,y2,…,yN}。
本文提出的二階段對話生成模型主要用于生成
語義正確且蘊(yùn)含情緒的多樣性響應(yīng)。整個(gè)模型框架如圖2所示,主要包括兩個(gè)階段,分別是第一階段基于語義信息的響應(yīng)生成和第二階段基于情感信息的語句重寫。第一階段使用DialoGPT模型[11]作為預(yù)訓(xùn)練模型,后用多輪對話數(shù)據(jù)集進(jìn)行微調(diào)以生成邏輯通順且上下文一致的響應(yīng),并作為第二階段重寫任務(wù)的輸入;然后對上下文進(jìn)行情感編碼,采用雙流架構(gòu)分別提取主情感變量和混合情感變量,最后通過FC(全連接層)將兩類信息融合獲得全局情感變量。第二階段的語句重寫模型中,本文先將第一階段的語義響應(yīng)和全局情感變量進(jìn)行融合來提高特征信息的豐富性多樣性,最后將其輸入到Transformer的解碼器模塊中解碼生成多樣性的響應(yīng)。
圖2 二階段對話生成模型框架圖
3.2.1 語義信息編碼
GPT-2自發(fā)布后,依賴于龐大的預(yù)訓(xùn)練數(shù)據(jù)集和參數(shù)量,其在多個(gè)自然語言處理任務(wù)中均獲得了不錯(cuò)的效果。雖然GPT-2取得了不錯(cuò)的效果,但它的本質(zhì)是一個(gè)單向語言模型,而對話生成是一個(gè)下游任務(wù),因此本文采用基于GPT-2模型并用單輪對話數(shù)據(jù)集來再次訓(xùn)練的DialoGPT預(yù)訓(xùn)練模型。在將上下文文本輸入到DialoGPT模型以生成響應(yīng)前,需要先對句子序列進(jìn)行數(shù)據(jù)預(yù)處理操作。先利用BPE(Byte Pair Encoder)算法將上下文中的每條語句拆分為子詞序列,接著將若干條上下文語句和目標(biāo)語句拼接在一起形成單條語句輸入到模型中,并在上下文語句和目標(biāo)語句之間使用了特殊字符“
3.2.2 上下文編碼
在獲取情感信息前,需要對上下文進(jìn)行建模編碼。本文采用Transformer模型中的編碼器來對上下文信息進(jìn)行建模。
(1)
3.2.3 情感信息編碼
在獲得了全局上下文語境信息S后,本文對其做進(jìn)一步處理以獲得情感變量并用于后續(xù)的語句重寫操作。情感信息的提取分為兩類,分別是主情感信息和混合情感信息: 主情感信息的提取用于確保重寫后語句中的情感和上下文情感是一致的;混合情感信息用來加強(qiáng)情感信息的多樣性。
(1) 主情感信息的提取
提取主情感信息是為了確保上下文語句中的情感一致性。本文期望生成的情感趨向于某一類去優(yōu)化,因此嘗試在基于上下文語境信息的基礎(chǔ)上訓(xùn)練一個(gè)情感分類器。將全局上下文語境信息S輸入到全連接層中并用softmax函數(shù)獲得情緒分布E′,并訓(xùn)練模型,如式(2)、式(3)所示。
其中,We∈R768×32為可訓(xùn)練參數(shù),e*為真實(shí)情感類別標(biāo)簽。
(2) 混合情感信息的提取
混合情緒是生活中常見的情緒狀態(tài),適當(dāng)?shù)鼗旌锨榫w有助于個(gè)體改善心理癥狀獲得幸福感[21],然而現(xiàn)有的絕大部分情感對話生成模型都是基于單一情感類別。本文期望獲得混合情感,它是情感類別的分布,不會特別趨向于某一類的情感。受MIME模型[17]和Serban[22]的啟發(fā),本文利用變分自編碼器的思想對上下文語境進(jìn)行情感建模來獲得情感類別的分布。本文提出一個(gè)假設(shè): 混合情感的分布是影響對話生成的隱變量,且在一段對話中情感變量具有一致性的特點(diǎn)。因此,本文從Pθ(zet|CO)采樣得到了情感類別的非線性分布zet,然后將分布zet輸入到一個(gè)以softmax為激活函數(shù)的全連接層中獲得歸一化分布det∈R32:
本文將歸一化分布det輸入至全連接層獲得每種情感類別的表示,如式(7)所示。
Eeet=dWe
(7)
其中,We∈R768×32是可訓(xùn)練參數(shù),其實(shí)際意義是情感向量。
分布Pθ(zet|CO)的獲取具體過程如式(8)~式(12)所示。
為了確保后續(xù)生成的語句能在情感一致性的基礎(chǔ)上生成多樣性的情感響應(yīng),需要將上述兩類情感變量進(jìn)行融合以獲得全局情感信息,而變量的簡單拼接并不能將信息進(jìn)行真正意義上的融合。因此,本文先將兩類情感進(jìn)行拼接操作,然后將其輸入到以sigmoid為激活函數(shù)的全連接層中,最后將得到的輸出與Eall進(jìn)行點(diǎn)乘后輸入到全連接層以形成最后的全局情感信息,如式(15)~式(17)所示。
其中,We∈R768×32是可訓(xùn)練參數(shù),其實(shí)際意義是情感向量;且Wf∈R(768+768)×768,Wfinal∈R(768+768)*(768+768)。
3.2.4 二階段響應(yīng)重寫
本文在第二階段語句重寫過程中采用Transformer模型。本文將第一階段生成的輸出Res以及全局情感變量efinal作為第二階段重寫模型的輸入。為了更好地融合語義信息和情感信息,本文在對這兩類信息進(jìn)行拼接的基礎(chǔ)上利用Transformer模型中的編碼器對信息進(jìn)行編碼融合,而后將融合后的信息輸入到Transformer的解碼器中,利用Mask遮住一句話中未生成的詞語,根據(jù)前面的詞語來生成下一個(gè)詞語,最后生成完整的響應(yīng)語句,如式(18)~式(20)所示。
其中,Wo∈R768×50 265,50 265是詞向量的詞表大小。
本文使用了共情對話數(shù)據(jù)集EmpatheticDialogues[23]來生成多樣性情感響應(yīng),并采用不同的評價(jià)標(biāo)準(zhǔn)對模型進(jìn)行綜合評價(jià)。Empathetic Dialogues是純文本下的多輪對話數(shù)據(jù)集,主要用于情感對話生成任務(wù),其中每段對話包含三部分,分別是當(dāng)前對話的情景描述、每條語句對應(yīng)的情緒以及對話內(nèi)容。每個(gè)對話都基于一種特定的情景,標(biāo)注的情緒類型共32種,其中包含積極情緒13種和消極情緒19種。數(shù)據(jù)集中共包含24 850個(gè)對話,數(shù)據(jù)集詳情如表1所示。
表1 Empathetic Dialogues數(shù)據(jù)集詳情
本文使用了該數(shù)據(jù)集作者定義的8:1:1的訓(xùn)練/驗(yàn)證/測試分割。每個(gè)樣本都包含一段上下文(完整對話的摘錄)、對話的情感標(biāo)簽和對上下文中最后一句話語的響應(yīng)回答。32種情緒類別大致均勻地分布在數(shù)據(jù)集上均勻分布在訓(xùn)練、驗(yàn)證及測試集上。
訓(xùn)練模型時(shí)的硬件配置、模型的各種參數(shù)設(shè)計(jì)以及模型訓(xùn)練的方法都會對實(shí)驗(yàn)結(jié)果產(chǎn)生重要影響,因此針對這三部分內(nèi)容,本文進(jìn)行相關(guān)信息的說明。
4.2.1 硬件配置
第一階段的DialoGPT模型的微調(diào)在4塊GeForce GTX 2080Ti的GPU上運(yùn)行;第二階段的重寫過程在1塊GeForce GTX 2080Ti的GPU上進(jìn)行訓(xùn)練。
4.2.2 參數(shù)設(shè)置
本文在第一階段的訓(xùn)練過程中,采用了warmup(step=16 000,warmup_proportion=0.1)的學(xué)習(xí)率更新策略,優(yōu)化器采用Adam,詞向量經(jīng)由DialoGPT訓(xùn)練生成;在第二階段的訓(xùn)練中,采用noam的學(xué)習(xí)率更新策略(初始學(xué)習(xí)率為0,betas=(0.9, 0.98), eps=1e-9),優(yōu)化器采用Adam。詞向量與DialoGPT詞向量矩陣共享,不參與訓(xùn)練。不同階段模型的具體參數(shù)設(shè)置如表2所示。
表2 不同階段模型的參數(shù)設(shè)置
4.2.3 模型訓(xùn)練
在訓(xùn)練過程中,兩個(gè)不同階段下的模型是各自訓(xùn)練的。
第一階段下本文以DialoGPT提供的預(yù)訓(xùn)練模型為基礎(chǔ),利用EmpatheticDialogues語料庫進(jìn)行微調(diào)獲得語義邏輯正確的生成響應(yīng);在第二階段重寫過程中,去掉DialoGPT中最后的詞分類層,以隱藏層輸出作為重寫階段中語義信息。需要注意的是,第二階段中的情緒提取中的詞向量矩陣共享第一階段中DialoGPT訓(xùn)練好的詞向量矩陣,另外,在重寫階段中最后生成單詞的前饋網(wǎng)絡(luò)層中的參數(shù)WO和詞向量矩陣共享。在訓(xùn)練時(shí),固定DialoGPT的參數(shù)(包括詞向量矩陣),然后訓(xùn)練整個(gè)網(wǎng)絡(luò)。
本文用兩類評價(jià)方法對模型進(jìn)行評價(jià),分別是自動評價(jià)和人工評價(jià)兩類。
(1)自動評價(jià): BLEU[24](Bi-Lingual Evaluation Understudy)可用于評估生成的句子與實(shí)際句子之間的差異。同時(shí),為了評估模型生成語句的多樣性,本文采用Distinct-N[25]這個(gè)度量標(biāo)準(zhǔn),Distinct-N代表語句中詞匯的多樣性。雖然自動評價(jià)能在一定程度上反映生成語句的質(zhì)量,但是在開放領(lǐng)域下標(biāo)準(zhǔn)的對話響應(yīng)并非是唯一的[26]。本文將自動評估的結(jié)果作為一種參考,同時(shí)提出了人工評價(jià)的方法。
(2)人工評價(jià): 首先從測試集對應(yīng)的每個(gè)情感類別中隨機(jī)抽取兩條語句,然后分別用不同的模型生成對話。接著,由20個(gè)評價(jià)員對生成的響應(yīng)進(jìn)行打分,打分的范圍為1~5,其中1表示最差,5表示最好。然后,在其于三類指標(biāo)共情、相關(guān)性和流暢性的基礎(chǔ)上[27],對模型進(jìn)行了評估。其中,流暢性用于衡量生成語句的語法正確性和可讀性;相關(guān)性用于衡量生成語句是否上下文相關(guān);共情用于衡量生成語句所表達(dá)的情感是否包含了對說話者的理解。
為了驗(yàn)證模型的有效性,本文提出的模型與以下五類模型進(jìn)行對比分析。
(1)Transformer[16]: 利用Transformer模型中的編碼器和解碼器實(shí)現(xiàn)端到端生成模型,模型的訓(xùn)練采用極大似然估計(jì)。
(2)DialoGPTPretrained[11]: 利用單輪對話數(shù)據(jù)集在GPT-2預(yù)訓(xùn)練模型的基礎(chǔ)上進(jìn)行再訓(xùn)練。本文使用DialoGPT Small模型。
(3)DialoGPTFine-Tuned[11]: 在DialoGPT預(yù)訓(xùn)練模型基礎(chǔ)上利用多輪對話數(shù)據(jù)集進(jìn)行微調(diào)。本文使用DialoGPT Small模型并用Empathetic Dialogues語料庫進(jìn)行微調(diào)。
(4)MIME[17]: 基于Transformer框架下的對話生成模型,但是對情感變量進(jìn)行了處理,將情感變量看作是積極情感和消極情感的融合。
(5)EmpDG[15]: 整個(gè)模型一共分為兩部分,分別是基于Tranformer模型的端到端情感對話生成器和基于情感以及語義判斷的交互判別器。
在語義分析中,本文采用自動評價(jià)中的指標(biāo)來對比分析生成語句的多樣性和相似性,結(jié)果如表3所示。
表3 不同模型下的語義分析結(jié)果
從表3可以發(fā)現(xiàn),DialoGPT Pretrained 模型生成的響應(yīng)在多樣性方面要高于其他模型,但是觀察生成響應(yīng)的實(shí)例可以發(fā)現(xiàn)DialoGPT Pretrained生成的響應(yīng)與原語句間的相似性很低。這說明一味地追求語句多樣性可能會導(dǎo)致前后關(guān)聯(lián)性變差;而本文在微調(diào)后的DiaoGPT模型的基礎(chǔ)上融入情感變量,生成的響應(yīng)在提高了一致性的基礎(chǔ)上同時(shí)也保證了多樣性,這說明情感信息也是語義信息中重要的一部分,增加情感信息可以提高模型對語言的理解能力。對比情感對話生成模型EmpDG、MIME,可以發(fā)現(xiàn)在多樣性方面本文提出的模型是高于其他兩類模型的;在相似度方面,EmpDG模型利用生成對抗網(wǎng)絡(luò)會向目標(biāo)響應(yīng)進(jìn)行靠攏,可以得到最高的相似度;而MIME模型和本文提出的模型為了加強(qiáng)生成響應(yīng)的多樣性,相似性會有所下降。
情感作為一種主觀變量,難以用具體的計(jì)算方式評判其好壞。為了驗(yàn)證生成響應(yīng)中情感信息的有效性,本文采取人工評價(jià)的方法,實(shí)驗(yàn)結(jié)果如表4所示。從表4中的人工評價(jià)結(jié)果中可以看出: DialoGPT雖然在語義的分析上效果較好,但是生成的響應(yīng)所包含的情感色彩是最差的;EmpDG模型主要針對語義信息生成流暢性和相關(guān)性的響應(yīng);而本文提出的模型和MIME模型均在相關(guān)性上未取得很好的效果,增加情感多樣性變量會大大降低情感的相關(guān)性,但是因?yàn)槿诤狭酥髑楦凶兞?,本文模型的相關(guān)性比MIME模型更好些,同時(shí)本文模型的共情性和流暢性是要好于其他模型。
表4 不同模型下的情感分析結(jié)果
為了驗(yàn)證主情感變量、混合情感變量對于生成高質(zhì)量語句的重要性,以及模型分二階段進(jìn)行訓(xùn)練的有效性,本文進(jìn)行了消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表5所示。
表5 情感變量消融實(shí)驗(yàn)結(jié)果
在語義信息的分析上,本文發(fā)現(xiàn)基于主情感變量的生成響應(yīng)邏輯性要稍微優(yōu)于基于混合情感變量的生成,但是與原語句的相似性相對較差。而本文的模型在一定程度上結(jié)合了混合情感變量和主情感變量的特點(diǎn),有效改善了生成響應(yīng)的語義相關(guān)性,使其更接近于真實(shí)的對話;在情感信息的分析上,單純靠混合情感變量進(jìn)行語句重寫可能會導(dǎo)致響應(yīng)的生成在相關(guān)性上有一定程度的偏離,但是能在一定程度上增加語句的流暢性。主情感變量的語句重寫在相關(guān)性和共情性上有較好的效果,更接近于真實(shí)響應(yīng)。而本文模型在混合情感變量的基礎(chǔ)上融合了主情感變量,能讓生成的響應(yīng)在有較好流暢性的基礎(chǔ)上向真實(shí)響應(yīng)靠攏,提高了響應(yīng)的共情性和相關(guān)性,這一點(diǎn)從指標(biāo)數(shù)據(jù)中能看出,在融合了兩類情感信息之后能更加有效地提高生成響應(yīng)的質(zhì)量。
本文模型的主情緒分類{top-1,top-5}正確率為{31.6%,73.2%},相對于MIME的主情緒{top-1,top-5}正確率{34%,77%}低了{(lán)2.4%,3.8%}個(gè)點(diǎn),這可能是由于我們同時(shí)在語義信息中學(xué)習(xí)主情緒和混合情緒,多種任務(wù)同時(shí)優(yōu)化影響了主情緒分類器的正確率。
本文從生成結(jié)果中抽取了一些實(shí)例,具體結(jié)果如表6所示。在第一個(gè)實(shí)例中情感標(biāo)簽為孤獨(dú),對于EmpDG、MIME、只包含主情緒和只包含混合情緒的模型來說,都生成相對“安全”的響應(yīng),即“i am sorry to hear that”。而對于主情緒和混合情緒相融合的模型來說,生成的響應(yīng)不僅與用戶的情緒保持著一致性,且混入了些許正面情緒,在共情的同時(shí),也表達(dá)了“i hope you are ok”的祝福。對于第二個(gè)實(shí)例,“當(dāng)最好的朋友去世時(shí)很悲傷”的問句,所有模型的相應(yīng)都表達(dá)了悲傷,對于我們提出的模型,這時(shí)候主情緒主導(dǎo)了響應(yīng)的生成,響應(yīng)相對也偏“悲痛”情緒。
表6 不同模型下生成結(jié)果對比
在第三個(gè)實(shí)例中,情感標(biāo)簽為“樂意”。對于問句“我癡迷于為任何事情做好準(zhǔn)備”,EmpDG的回答相對正常,即“你最癡迷的是什么”,MIME的響應(yīng)這時(shí)相關(guān)性較低,對于我們只包含主情緒的模型中,生成的響應(yīng)相對積極,而對于主情緒和混合情緒融合的模型,則帶入了部分消極情緒,“我并不喜歡這樣”。對于實(shí)例四來說,所有的響應(yīng)與上下文情緒都相對一致,相對正面。
通過以上幾個(gè)實(shí)例,可以發(fā)現(xiàn)通過融合情感,可以一定程度上提高對話的多樣性。在主情感條件下融合混合情感,能夠讓響應(yīng)在不特別偏離主情緒的情況下,可能引入一定其他情緒,增加了響應(yīng)生成的多樣性。
本文針對現(xiàn)有情感對話生成模型中存在的生成語句重復(fù)枯燥、前后關(guān)聯(lián)性不強(qiáng)等缺點(diǎn),提出了一種基于情感變量的二階段對話生成模型。該模型將情感對話生成轉(zhuǎn)變成一個(gè)二階段任務(wù),第一階段在生成邏輯通順響應(yīng)的基礎(chǔ)上融合情感變量進(jìn)行重寫來生成最終的高質(zhì)量響應(yīng);第二階段通過對上下文建模來獲得主情感變量和混合情感變量以改善生成響應(yīng)前后的情感不一致、重復(fù)枯燥等問題。
實(shí)驗(yàn)結(jié)果表明,本文提出的模型在情感共情性和流暢性上均有很好的效果。相比于其他模型,本文模型既保證響應(yīng)的邏輯通順性又加強(qiáng)多樣性,更符合現(xiàn)實(shí)情況。目前的兩類情感融合還是簡單的,未來的工作可以在情感融合方法上展開。