莊 寅,劉 箴,劉婷婷,王媛怡,劉翠娟,柴艷杰
1.寧波大學(xué)信息科學(xué)與工程學(xué)院,浙江寧波315211
2.寧波大學(xué)科學(xué)技術(shù)學(xué)院信息工程學(xué)院,浙江慈溪315300
3.浙江萬里學(xué)院大數(shù)據(jù)與軟件工程學(xué)院,浙江寧波315100
隨著深度學(xué)習(xí)技術(shù)的創(chuàng)新和發(fā)展,人工智能領(lǐng)域迎來了新的階段。對話系統(tǒng)作為自然語言處理中的一大任務(wù),其應(yīng)用場景廣泛并受到了學(xué)術(shù)界和產(chǎn)業(yè)界的高度關(guān)注。早前的對話系統(tǒng)針對限定領(lǐng)域進行具體任務(wù)的展開[1-3],例如蘋果語音助手Siri 通過手機被人們廣泛使用。此類任務(wù)需確保生成回復(fù)的語義和邏輯正確性,而不考慮用戶的情緒感知,因此缺乏共情性。近年來,隨著人機交互技術(shù)逐漸從交叉學(xué)科研究中脫離出來成為一個獨立的研究領(lǐng)域[4],人們開始從提高生成對話的語義質(zhì)量轉(zhuǎn)向為加強對話過程的交互性。
情感是人類最重要的認(rèn)知行為之一[5]。在聊天過程中,人們交換的信息除了句子語義外,還包括彼此的情緒狀態(tài)?,F(xiàn)階段,人們不再滿足于用對話系統(tǒng)解決特定的任務(wù),更渴望實現(xiàn)心靈層面的交流。在聊天過程中,機器人若能感知到用戶的情感并能夠?qū)Υ诉M行準(zhǔn)確的處理,就能極大地豐富對話的內(nèi)容并且讓用戶產(chǎn)生共情心。實驗表明,具有情感智力的對話系統(tǒng)能夠提高用戶的滿意度[6]。圖1 為不帶有情感色彩的對話和帶有情感色彩的對話的對比圖。不帶有情感色彩的對話中機器人順應(yīng)用戶想法進行回答;而帶有情感色彩的對話中機器人除了順應(yīng)用戶想法外,還給予用戶肯定,表達出想要陪伴擁護的關(guān)系,能夠與有著更進一步的心情共鳴。因此,從情感入手,讓對話擁有共情能力是提高交互性的重要方法之一。
Fig.1 Comparison of dialogue without sentiment and dialogue with sentiment圖1 不帶情感色彩的對話和帶情感色彩的對話對比
研究者們嘗試將情緒變量融入到對話生成中,雖然近年來研究成果不斷更新,但關(guān)于文本情感對話生成的綜述寥寥無幾,已有的文章未對情感對話系統(tǒng)進行全面而深入的分析。車萬翔等人[7]對人機對話系統(tǒng)的歷史進展進行了大體的概括和分析,但是沒有對對話系統(tǒng)用到的技術(shù)例如深度學(xué)習(xí)模型框架進行深入的介紹。陳晨等人[8]對基于深度學(xué)習(xí)的非任務(wù)型對話系統(tǒng)的實現(xiàn)方法進行了分類和整理,對于融入情緒因素的對話系統(tǒng)未能進行深入分析,只列舉了若干方法,且沒有橫向的對比。Pamungkas[9]整理了近幾年融入情緒的對話系統(tǒng)的研究方法以及介紹了目前存在的情感對話數(shù)據(jù)集。但是其僅僅從情緒對話生成方向進行對比整理,未考慮到情感對話中的另一任務(wù):對話情緒感知。本文以情感對話系統(tǒng)為研究對象,將情感對話系統(tǒng)生成分為兩大任務(wù):對話情緒感知以及情感對話生成。本文首先對對話系統(tǒng)進行簡述,然后概述情感對話系統(tǒng)中兩大任務(wù)的關(guān)鍵技術(shù)和前沿進展,接著從數(shù)據(jù)集和評價指標(biāo)兩方面進行性能評價,最后總結(jié)情感對話系統(tǒng)目前所存在的問題,指出未來的研究方向。
近年來,深度學(xué)習(xí)算法為對話系統(tǒng)的發(fā)展提供了強有力的支持。從應(yīng)用場景出發(fā),現(xiàn)有的對話系統(tǒng)可以劃分為任務(wù)型的對話系統(tǒng)(task-oriented dialogue systems)和非任務(wù)型的對話系統(tǒng)(non-task-oriented dialogue systems)。其中,非任務(wù)型的對話系統(tǒng)又可以稱為閑聊式機器人(chatbot)。對話系統(tǒng)框架如圖2 所示。
Fig.2 Dialogue system classification圖2 對話系統(tǒng)分類
任務(wù)型的對話系統(tǒng)旨在特定場景下,能夠迅速識別用戶的訴求意圖并完成對應(yīng)的任務(wù),比如線上智能客服等;而非任務(wù)型的對話系統(tǒng)面向開放性領(lǐng)域,希望在不限定主題的前提下,與用戶自由地聊天,保證對話內(nèi)容的一致性和豐富性,實現(xiàn)完全擬人化。完全擬人化的實現(xiàn)需要提高與用戶的交互性,情緒在感知和社會行為中都起著重要的作用[10]。融入情感的對話能夠感同身受用戶的情緒狀態(tài),“悲用戶所悲,喜用戶所喜”,在心理層面與用戶引起共鳴,從而加強交互性。任務(wù)型的對話系統(tǒng)側(cè)重于實現(xiàn)特定任務(wù)以滿足于用戶的需求,對話中是否擁有情感對其目標(biāo)影響不大,故融入情感的對話在非任務(wù)型的對話系統(tǒng)中應(yīng)用得更為廣泛,更適用于不同的場景,例如作為“陪伴者”陪伴空巢老人,作為“傾聽者”緩解抑郁癥患者情緒等。
現(xiàn)階段,實現(xiàn)任務(wù)型的對話系統(tǒng)的方法主要有兩類:管道方法(pipeline)和端到端方法(end-to-end)。
基于管道的方法是一種流程式方法,整個過程一共分為三大步驟:自然語言理解(natural language understand,NLU)、對話管理(dialogue management,DM)和自然語言生成(natural language generation,NLG)。其中,對話管理又可分為對話狀態(tài)跟蹤(dialogue state tracking,DST)和對話策略學(xué)習(xí)(dialogue policy,DP)。整體的框架圖如圖3 所示。
Fig.3 Diagram of pipeline圖3 管道方法的框架圖
自然語言理解模塊在對話過程中解析出用戶的意圖,形成一個狀態(tài)信息,而后傳遞到對話管理模塊中。對話管理模塊控制著整個對話過程,其中對話狀態(tài)跟蹤模塊利用歷史信息對預(yù)定義的對話細(xì)節(jié)框架進行填充[11];對話策略學(xué)習(xí)模塊根據(jù)當(dāng)前的狀態(tài)信息確定下一步的最優(yōu)策略。最后,通過自然語言生成模塊將確定的策略行為轉(zhuǎn)換為句法合理、語義準(zhǔn)確的語句作為輸出回復(fù)。
管道方法需要在每個步驟中都進行特征信息提取等處理,且前后步驟間的信息具有關(guān)聯(lián)性,這導(dǎo)致整個過程復(fù)雜且繁瑣。為簡化對話生成過程,上述三個步驟可以部分或全部用端到端方法替換。Bordes[12]用端到端模型(end-to-end)和記憶網(wǎng)絡(luò)(memory network)模型相結(jié)合的方法彌補了端到端模型不適用于任務(wù)型對話系統(tǒng)的缺點。
根據(jù)回復(fù)生成方法的不同,非任務(wù)型的對話系統(tǒng)可以劃分為檢索式和生成式兩類。
基于檢索式的非任務(wù)型對話系統(tǒng)的主要思想是從事先構(gòu)建好的對話語料庫中選擇一個語義合適的話語作為最終的回復(fù)輸出。檢索的本質(zhì)就是計算輸入的話語與回復(fù)語句的匹配度,根據(jù)匹配度選擇對應(yīng)的回復(fù)語句。對話根據(jù)對話輪次的不同可以分為單輪對話和多輪對話。
基于生成式的非任務(wù)型對話旨在從大規(guī)模語料庫中學(xué)習(xí)到對話的模式。生成式對話系統(tǒng)的實現(xiàn)主要基于深度學(xué)習(xí)模型,模型主要分為三類,分別是序列到序列模型、變分自編碼器以及生成對抗網(wǎng)絡(luò)。然而使用生成模型也存在著一定的問題。基礎(chǔ)的對話模型主要面向語義信息的處理,通過提取輸入語句(query)中的語義信息來進一步生成語義正確、邏輯通順的回復(fù)。在回復(fù)生成過程中,模型傾向于生成使用頻繁、安全性強的語句,類似于“對不起,我不知道”。這些語句內(nèi)容相對單一,缺乏主觀性,沒有情感色彩,無法引起用戶的對話興趣。在對話生成中引入情感變量可以在一定程度上加強內(nèi)容的豐富性和互動性。
Zhou 等人[13]首次嘗試將情緒信息融入到生成對話模型中,將情緒衰變的特點結(jié)合到生成過程中,使得生成的回復(fù)帶有情感色彩。此后,不斷有人嘗試將情感融入到對話模型中。融入情感的對話模型是對基礎(chǔ)對話模型的一個拓展。其在基礎(chǔ)對話模型之上增加了一個情感信息模塊,該模塊主要用于獲取不同條件下的情感信息。目前情感對話系統(tǒng)中,確定回復(fù)情感類別的方法主要有兩類:一種是直接指定回復(fù)情感類別,該方法需要使用情感信息模塊將離散或連續(xù)的情感類別轉(zhuǎn)換為情感特征向量,同時考慮情感狀態(tài)的變化;另一種是不指定回復(fù)情感類別,認(rèn)為回復(fù)情感信息包含在上下文中,情感信息模塊需要從上下文語境、聊天背景等方面有效抽取出情感信息。經(jīng)過實驗對比證明,融入情感信息的對話系統(tǒng)更能引起用戶的主動互動性,讓對話系統(tǒng)具有情感認(rèn)知的能力更有助于促進人和計算機之間的溝通交流。
在日常的對話溝通中,會話雙方都具有豐富的情感。因此,為了能更好地與用戶進行情感上的溝通,具備情感認(rèn)知能力的對話系統(tǒng)需要在對話過程中先對用戶的情緒進行識別和判斷,而后生成帶有情感色彩的回復(fù)。因此,解析和表達情感是實現(xiàn)情感對話系統(tǒng)的兩大任務(wù)。情感對話系統(tǒng)又可進一步拆分為兩大類,即對話情緒感知以及情感對話生成。首先根據(jù)歷史對話信息對用戶的情感狀態(tài)進行建模,然后將情感狀態(tài)嵌入到對話生成模型中進行算法改進,產(chǎn)生帶有“情感”的更自然的回復(fù)。圖4 描述了情感對話系統(tǒng)的整體框架。接下來將對這兩類任務(wù)所用方法和模型進行介紹。
Fig.4 Emotional dialogue system classification圖4 情感對話系統(tǒng)分類
情感對話生成前需要先解析出用戶的情緒狀態(tài)信息,然后根據(jù)對應(yīng)的情緒狀態(tài)產(chǎn)生對應(yīng)的情感對話。在整個對話過程中,用戶的情緒狀態(tài)會受多方面因素的影響,例如當(dāng)前對話下的語境、用戶的個性特征等?,F(xiàn)階段的對話情緒感知任務(wù)主要從兩大方面探測用戶的情緒狀態(tài),分別是基于上下文的情緒感知以及基于用戶信息的情緒感知。各模型的分析對比情況如表1 所示。
2.1.1 基于上下文的情緒感知
在分析對話情緒中,上下文語境信息會影響情緒狀態(tài)信息的判斷,Poria 等人[14]利用LSTM(long short-term memory)模型來提取每條上下文語句,然后用一個全連接層將這些上下文信息融合,得到最后的輸出特征信息,提高了情緒分類的準(zhǔn)確性。但是他們未考慮到每條語句其實都部分依賴于與其相關(guān)的上下文語句,即句子之間存在著依賴關(guān)系。Chen等人[15]針對這個問題,采用了多層次循環(huán)神經(jīng)網(wǎng)絡(luò)。使用RNN(recurrent neural network)對每條獨立的語句進行信息的提取,然后用另一個RNN 來處理對話中連續(xù)的句子表示。Cerisara 等人[16]在多層次循環(huán)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)上,采用了多任務(wù)學(xué)習(xí)框架,分別對對話情感和對話行為進行了分類,提高了模型的泛化性。他們認(rèn)為行為在一定程度上和情感是緊密相關(guān)的?,F(xiàn)有的基于上下文的對話情緒感知的方法主要集中于利用循環(huán)神經(jīng)網(wǎng)絡(luò)和注意力機制來建模局部句子之間的聯(lián)系,而忽略了對話作為一個整體所呈現(xiàn)的特征[17]。王建成等人[17]對此進行完善,提出了基于神經(jīng)主題模型的情感分類模型。他們通過提取每段對話中的主題信息作為全局信息嵌入到上下文句子表示中,取得了不錯的效果。
2.1.2 基于用戶信息的情緒感知
用戶的信息特征,例如性格特點等,會在一定程度上影響情緒狀態(tài)的改變。Hazarika 等人[18]用GRU(gated recurrent unit)模型根據(jù)說話人的語句進行建模,形成歷史狀態(tài)信息,然后引入注意力機制將歷史狀態(tài)信息和當(dāng)前話語信息進行融合。他們提取每個用戶的信息并將其作為分類的新特征,該特征融合當(dāng)前話語信息,這相當(dāng)于局部信息融合,并未考慮將每個用戶的信息進行融合獲得全局信息狀態(tài)。故此,Hazarika 等人[19]在此模型的基礎(chǔ)上加入了DGIM(dynamic global influence module)模塊,對說話人的歷史狀態(tài)信息進行信息整合得到了全局狀態(tài)信息。Majumder 等人[20]認(rèn)為每個會話者都是獨立的個體,用一個局部狀態(tài)來動態(tài)捕捉用戶的情緒變化,用全局狀態(tài)來對上下文信息進行建模。影響圖卷積網(wǎng)絡(luò)(graph convolutional network)[21]也被應(yīng)用至對話情緒感知任務(wù)中。Zhang 等人[22]將對話中的每條語句以及每個說話者都看成是圖上的結(jié)點,然后將每個說話者所說的語句用邊相連,構(gòu)成了最終的圖結(jié)構(gòu)數(shù)據(jù),最后用圖卷積進行操作提取出信息并進行分類。但該圖結(jié)構(gòu)的邊并無區(qū)別,未根據(jù)說話者的不同信息加以區(qū)分。Ghosal 等人[23]提出將對話中的每條語句作為圖結(jié)點,而后屬于同一說話者的語句相連,形成圖中的邊。
情感對話生成本質(zhì)上是一類生成式任務(wù),生成語義相關(guān)且富有情感色彩的回復(fù)。通過對相關(guān)文獻進行梳理,發(fā)現(xiàn)早期的帶有情感色彩的回復(fù)用到的是規(guī)則匹配算法,由開發(fā)者人為制定規(guī)則,并用對應(yīng)的匹配算法進行匹配獲得最終的回復(fù)輸出;而現(xiàn)有的情感對話生成的研究工作大多以對話數(shù)據(jù)為驅(qū)動,基于生成式對話模型實現(xiàn)對話的生成。根據(jù)情感信息引入方法的不同,本文將情感對話生成分為三類:規(guī)則匹配算法、指定回復(fù)情感的生成以及不指定回復(fù)情感的生成。
2.2.1 規(guī)則匹配算法
早期帶有情感色彩的回復(fù)生成往往是基于規(guī)則匹配模板來實現(xiàn)的。設(shè)計者事先根據(jù)不同的對話場景制定不同的模板和規(guī)則,然后利用這些模板和規(guī)則學(xué)習(xí)對話回復(fù)策略。聊天機器人Eliza[24]于1966 年問世,這是第一款聊天機器人,用于處理心理疾病等問題。此后斯坦福大學(xué)發(fā)明了聊天機器人Parry[25],它能夠模擬擁有人類的情緒并與人對話。這兩款聊天機器人的回復(fù)都依賴于手工制定的規(guī)則庫,并沒有真正理解用戶對話中的語義信息,這使得生成的回復(fù)有著許多問題,往往回復(fù)的語句存在著語義不連續(xù)、不合理等問題。為解決這一普遍性問題,Keshtkar 等人[26]根據(jù)用戶的選擇模式以及句子規(guī)劃器來生成包含情感的句子。Skowron[27]提出了在對話中進行情感監(jiān)測的想法,從內(nèi)容和情感兩個層面進行回復(fù)。
2.2.2 指定回復(fù)情感的生成
指定回復(fù)情感的生成是根據(jù)事先設(shè)定好的情感類別來產(chǎn)生相應(yīng)的回復(fù)語句。情感融入到模型前需要先進行量化。情緒是情感的外在表現(xiàn)形式[28],因此可以先將情感轉(zhuǎn)化為情緒信息,再融入到模型中。情緒可以進一步分為離散型情緒模型和維度情緒模型。離散情緒模型是用標(biāo)簽的形式來表征情緒類別;維度情緒模型是將情緒映射到多維空間中,利用連續(xù)數(shù)值來描述情緒。根據(jù)回復(fù)情感類型的不同,指定回復(fù)情感的生成可以進一步分為兩類。模型總結(jié)情況如表2。
Zhou 等人[13]提出的ECM(emotional chatting machine)是第一個嘗試將離散情緒信息融入到生成對話模型中。離散型情緒一共分為六類,分別是喜歡、高興、悲傷、沮喪、生氣以及其他。他們在Encoder-Decoder 模型基礎(chǔ)上引入了三種機制:靜態(tài)的情感嵌入、動態(tài)的情感狀態(tài)記憶網(wǎng)絡(luò)和情感詞外部記憶。Zhou 認(rèn)為回復(fù)語句中包含的情緒信息隨著時間衰減。此后,對ECM 模型進行不同的改進。例如,Shen和Feng[29]認(rèn)為在生成回復(fù)時,還需要考慮情感一致性的問題,而不是僅根據(jù)給定的情緒進行回復(fù)。因此,他們引入了對偶學(xué)習(xí)和課程學(xué)習(xí)。Huang 等人[30]驗證了情緒信息在不同階段的重要性程度。第一種方法是將“情感類型”放入到編碼器中,形成蘊含情緒的隱變量。然后在解碼階段,情緒信息逐漸減少;第二種方法是將期望的“情感類型”加入到解碼器中,每個時刻的生成中均含有情緒信息。經(jīng)過實驗分析得出,總體上第二種方法取得了更好的效果。Xie等人[31]用LIWC(linguistic inquiry and word count)情感詞典對離散情緒進行處理,通過空間映射轉(zhuǎn)換成高維的連續(xù)型變量,然后嵌入到解碼階段中。Song 等人[32]認(rèn)為情緒的表達方式有兩種:一種是顯性的,通過情感詞直接表達;另一種是隱式的,隱含在上下文語境中。他們在Seq2Seq 的基礎(chǔ)上,引入了基于字典的注意力機制,用以生成顯示情感詞實現(xiàn)情感表達。同時將上下文信息加入到解碼階段得到隱式情緒狀態(tài)。Ma 等人[33]認(rèn)為情感狀態(tài)有著轉(zhuǎn)移的特點,回復(fù)的情感不一定對等于問句中的情感。他們設(shè)計了一個控制單元來最小化情感狀態(tài)的轉(zhuǎn)移。
Table 2 Comparison of generation model given sentiment表2 指定回復(fù)情感的生成模型對比
Lubis 等人[34]利用維度情緒模型,將情緒映射到二維空間VA(valence-arousal)上,并且在雙層編碼-解碼器(hierarchical recurrent encoder-decoder)的對話編碼階段引入了情感變量編碼器。同時,修改了損失函數(shù),將最終的損失函數(shù)修改為兩類損失之和,一類損失針對的是生成的錯誤,另一類損失針對的是情感標(biāo)簽預(yù)測的錯誤。Colombo 等人[35]在ECM 模型的基礎(chǔ)上,引入了維度情緒模型。他們通過Mohammad[36]提出的VAD(valence-arousal-dominance)情感空間表征下的字典來進行情感信息的表征。同時,加入了情感正則化用來懲罰那些中性情緒,以及提出了一種情感抽樣方法,確保抽樣出來的詞語是與情感信息相關(guān)的。
融入情感信息的對話生成能夠在一定程度上提高回復(fù)的多樣性和交互性,同時也有人嘗試將表情信息融入到對話中。Zhou 和Wang[37]認(rèn)為表情符號也能在一定程度上表達情感,他們利用條件變分自編碼器,將基于64 種表情符號的情感信息加入至解碼階段。更多地是將情感信息和主題信息融合來生成回復(fù)。楊豐瑞等人[38]通過LAD(latent Dirichlet allocation)模型和語義相似度擴展法獲取主題信息;根據(jù)情感詞典獲取到情感信息,隨后將兩種信息輸入到注意力機制選擇器中,解碼生成回復(fù)。孫曉等人[39]除了將情感和主題信息嵌入到生成過程中外,他們還將對話的生成過程劃分為四個步驟,在基于強化學(xué)習(xí)的算法上生成與主題詞和情感詞相關(guān)的回復(fù)。Peng 等人[40]在生成過程中引入了動態(tài)情感注意力機制,有選擇性地獲取源語句主題相關(guān)的內(nèi)容信息和情感信息,進而提高生成內(nèi)容與源語句內(nèi)容的一致性、情感的豐富性。
Table 3 Comparison of generation model ungiven sentiment表3 不指定回復(fù)情感的生成模型對比
2.2.3 不指定回復(fù)情感的生成
不指定回復(fù)情感的生成認(rèn)為在上文語境中,已經(jīng)蘊含回復(fù)所需的情感信息,不再需要人為指定回復(fù)的情感類別。用該模型生成的語句中所蘊含的情感具有靈活性和可控性。表3 從數(shù)據(jù)集、方法上對各模型進行分析。
考慮到ECM模型是針對中文訓(xùn)練數(shù)據(jù)集,諾亞方舟實驗室提出一個針對英文對話的情感對話模型[41]。區(qū)別于ECM 模型需要指定回復(fù)情感類別,他們認(rèn)為上下文信息中自帶有情感信息,不需要提前指定情感類別。他們以Seq2Seq 模型為基礎(chǔ),結(jié)合了三類加入情緒變量的方法,分別是情感單詞嵌入表示、修改損失函數(shù)以及基于情感的定向搜索方法。單模態(tài)文本信息不能很好地捕獲到用戶的情感特征。Shi 和Yu[42]嘗試將多模態(tài)信息融入到Seq2Seq中。他們將對話策略的學(xué)習(xí)看作是一個分類任務(wù)并用強化學(xué)習(xí)方法將用戶的情感信息作為實時的獎勵。Liang 等人[43]認(rèn)為歷史情感信息、用戶面部表情、說話者個性等這些都是異構(gòu)信息結(jié)點,可以用異構(gòu)圖來表征,然后通過異構(gòu)圖神經(jīng)網(wǎng)絡(luò)[44]來抽取信息最后融入到生成階段。Shantala 等人[45]通過在解碼階段加入訓(xùn)練后的情感向量來生成回復(fù)語句。
不同于在生成階段嵌入情感信息,Ghosh 等人[46]提出了基于LSTM 的情感語言模型,在單詞的概率預(yù)測階段融入了情感標(biāo)簽和情感強度,從而生成帶有一定強度的某種情感類別的回復(fù)。
隨著人機交互技術(shù)的提高,情感對話系統(tǒng)受到了越來越多的關(guān)注。本節(jié)總結(jié)了對話情緒感知和情感對話生成兩類任務(wù)分別對應(yīng)的數(shù)據(jù)集,便于后續(xù)相關(guān)任務(wù)的研究。表4 展示了不同數(shù)據(jù)集的詳細(xì)信息。
3.1.1 對話情緒感知數(shù)據(jù)集
適用于對話情緒感知任務(wù)的數(shù)據(jù)集主要有IEMOCAP[47]、SEMAINE[48]和MELD[49]。除此之外,還包括數(shù)據(jù)集DailyDialog[50]、EmotionLines[15]和EmoContext[51]等。SEMAINE[48]是多模態(tài)對話數(shù)據(jù)集,曾被用于AVE2012 挑戰(zhàn)賽,挑戰(zhàn)賽中用了其中的95 段對話。該數(shù)據(jù)集從4 個情感維度進行情感的標(biāo)定:Valence(愉悅度)、Arousal(激活度)、Expectancy(預(yù)期)以及Power(力量)。IEMOCAP[47]同樣為多模態(tài)情緒對話數(shù)據(jù)集,是由專業(yè)演員扮演得到的對話數(shù)據(jù)集,共151 段對話。對話分為兩部分:一部分是有固定的劇本;另一部分則是在給定情境下的自由發(fā)揮。不同于SEMAINE[48],該數(shù)據(jù)集的情緒標(biāo)定類型為離散型情緒數(shù)據(jù),共標(biāo)注了6 類,分別是自然、高興、傷心、生氣、沮喪以及興奮。MELD[49]是多人對話數(shù)據(jù)集,對話素材源于老友記,共包括了1 433 段對話。用離
散型情緒數(shù)據(jù)進行的標(biāo)注,共標(biāo)注了7 類情緒,分別是中性、高興、驚訝、傷心、生氣、沮喪以及害怕。
Table 4 Dataset of dialogue emotional perception表4 對話情緒感知相關(guān)數(shù)據(jù)集
3.1.2 情感對話生成數(shù)據(jù)集
適用于情感對話生成任務(wù)的數(shù)據(jù)集主要有STC[52]、Cornell Movie Dialogs[53]和OpenSubtitles[54]。STC[52]是中文單輪對話數(shù)據(jù)集,源于新浪微博,其數(shù)據(jù)規(guī)模大,但是缺少人工情感標(biāo)注,需要用情感分類器自動進行話語情感信息的標(biāo)注。ECM[13]就是使用Bi-LSTM(bi-directional long short-term memory)對STC[52]數(shù)據(jù)集中的數(shù)據(jù)進行情感類型的分類。Cornell Movie Dialogs[53]和OpenSubtitles[54]均是電影對話數(shù)據(jù)集。其中Cornell Movie Dialogs[53]共22 萬段對話;OpenSubtitles[54]共有1 130 萬句子,且多語言,方便不同語言情況下模型的訓(xùn)練。但是上述兩者均沒有情感標(biāo)注,需要人工標(biāo)注或者借助分類器進行情感分類。除上述3類主要的對話數(shù)據(jù)集外,還包括Twitter[37]、DailyDialog[50]、SEMAINE[48]、EmotionPush[55]和SEMD[56]。上述數(shù)據(jù)集中DailyDialog[50]和EmotionPush[55]均標(biāo)注了7 種情感類別;Twitter[37]數(shù)據(jù)源于Twitter,屬于單輪對話數(shù)據(jù)集,且每條語句中都帶有emoji表情;SEMD[56]從兩個維度進行標(biāo)記,分別是情感和情緒。其中標(biāo)注的情感類型共8 類,分別是生氣、沮喪、愉悅、驚訝、喜歡、傷心、害怕和自然;情緒分為3類,分別是消極、中性、積極。
對情感對話系統(tǒng)的評價,指的是根據(jù)情感對話生成的回復(fù)語句判斷模型所生成的語句的質(zhì)量。當(dāng)前的評價方法主要包括以下兩種類型。
(1)主觀評估。主觀評估需要人為地從邏輯一致性、情緒合理性等方面對生成的回復(fù)進行主觀的判斷。情感的判斷是一種主觀性操作,主觀評價能更貼近于用戶的需求,更真實地對生成的語句進行評價,但是所耗費的人力相對也是巨大的。Shao 等人[57]提出了5-scale side-by-side 的評估流程,給出1~5 分5個等級的評分表,讓測試者根據(jù)生成回復(fù)的內(nèi)容打分。Zhou 等人[13]采取從兩個角度來對生成的回復(fù)質(zhì)量進行評估,分別是語義角度和情感角度。語義角度判斷回復(fù)是否自然連貫,是否具有豐富性和一致性;情感角度判斷生成的情緒是否與問句一致。
(2)自動評估。該方法可以細(xì)分為3 類評估方法,包括困惑度(perplexity)[58]、BLEU(bilingual evaluation understudy)[59]、distinct-N[60]。
①困惑度方法是基于模型本身的,Vinyals等人[61]首次將困惑度作為評判模型好壞的依據(jù)。雖然困惑度能較好地進行評估,但是有一定的局限性。對于不基于語言模型的對話系統(tǒng)是無法使用的。
②BLEU 最常用于機器翻譯的評估中,通過計算句子之間單詞的共現(xiàn)程度來評估模型的質(zhì)量。但是其不適用于對話生成模型的評價[62]。
③distinct-N 常用于情感對話系統(tǒng)中,它不依賴于標(biāo)準(zhǔn)的應(yīng)答。distinct-N 通過統(tǒng)計生成回復(fù)中的Ngram 個數(shù)來衡量生成回復(fù)中詞匯的豐富性。它可分為一元組(distinct-1)和二元組(distinct-2)。這種評價方法雖然能確保生成語句中的詞匯豐富性,但不能確保語言邏輯合理性。
通過對情感生成對話系統(tǒng)的介紹,目前可以將其劃分成對話情緒感知和情感對話生成兩個子任務(wù)。這兩類任務(wù)實現(xiàn)目的不同,各自的實現(xiàn)方法也存在著一定的優(yōu)缺點。以下對兩類任務(wù)進行總結(jié)并指出未來的研究方向。
(1)從對話中有效抽取情感信息能提高對話情緒感知的識別率,但是僅從單一模態(tài)(文本)中挖掘出來的信息是有限的,且包含著不確定性,無法進行更深層次的挖掘。因此,從多模態(tài)方向入手,通過視覺、音頻、文本等多維度對信息進行挖掘,獲得大規(guī)模的信息量。信息之間的關(guān)聯(lián)性可以更準(zhǔn)確地判斷出情緒類型;同時可從大規(guī)模信息中實現(xiàn)二次挖掘,獲取更深層次的隱信息。
(2)現(xiàn)有的情感對話生成大部分隸屬于指定回復(fù)情感的生成,這與真實對話場景存在著一定的差距。真實場景下的對話依賴于語境和上下文,不需要額外假設(shè)回復(fù)的情緒類型。考慮到背景信息和上下文信息會影響整個對話過程,可以嘗試將每段對話分割成若干段,提取每個子段對話中的背景信息和主題信息,以進一步抽取情緒信息,然后直接將情感信息嵌入到生成過程中。
(3)當(dāng)前主流的情感對話生成模型都是基于單輪對話實現(xiàn),極少數(shù)應(yīng)用到多輪對話中。這導(dǎo)致在實現(xiàn)過程中沒有過多關(guān)注上下文信息,生成的語句可能出現(xiàn)內(nèi)容不一致等問題。多輪對話下會涉及到不同的主題,且特定的上下文語境也會影響到用戶的情緒轉(zhuǎn)變,如何有效捕獲到情緒轉(zhuǎn)變是一個難題,也是未來研究的難點之一。
(4)情感對話系統(tǒng)的目的是為了提高交互性,單純以文本為出發(fā)點進行交互會略顯單薄??紤]結(jié)合動畫與用戶進行對話,動畫的存在會給用戶一種動態(tài)的直觀感,再配合上文字交流,能更大程度上提升用戶參與感和交互性。
本文回顧了近年來人機文本情感對話生成模型方面的研究進展。首先,大致介紹了對話系統(tǒng)相關(guān)內(nèi)容,根據(jù)任務(wù)目的的不同,將對話系統(tǒng)分為任務(wù)型對話和非任務(wù)型對話。然后,通過總結(jié)相關(guān)文獻得出非任務(wù)型對話涉及領(lǐng)域廣,情感對話系統(tǒng)是當(dāng)前熱門研究方向之一。情感對話生成大多都基于序列到序列模型,根據(jù)指定的情感類型實現(xiàn)富有情緒色彩的生成回復(fù);對話情緒感知是情感對話生成的關(guān)鍵。根據(jù)用戶信息和上下文信息從對話中挖掘出情感信息有助于提高對話生成的情緒色彩豐富性。