王春喻,馬志強,2+,杜寶祥,賈文超,王洪彬,寶財吉拉呼
1.內(nèi)蒙古工業(yè)大學(xué) 數(shù)據(jù)科學(xué)與應(yīng)用學(xué)院,呼和浩特010080
2.內(nèi)蒙古工業(yè)大學(xué) 內(nèi)蒙古自治區(qū)基于大數(shù)據(jù)的軟件服務(wù)工程技術(shù)研究中心,呼和浩特010080
人機對話系統(tǒng)的研究最早追溯到1950 年圖靈提出的“圖靈測試”,采用人機交互的方式驗證機器智能。此后,人機對話研究引起了學(xué)術(shù)界與工業(yè)界的高度關(guān)注。對話系統(tǒng)的研究主要面向任務(wù)型對話和非任務(wù)型對話。早期任務(wù)型人機對話是基于模板與規(guī)則構(gòu)建的,隨著深度學(xué)習的發(fā)展,越來越多的研究者將深度學(xué)習技術(shù)應(yīng)用于對話系統(tǒng)的研究中。當前任務(wù)型對話系統(tǒng)的構(gòu)建主要使用基于流水線的方法和基于端到端的方法。基于流水線的方法構(gòu)建靈活,而基于端到端的方法能夠?qū)W習數(shù)據(jù)的特征,且避免了人為因素的影響。任務(wù)型對話的主要應(yīng)用場景為虛擬個人助理、網(wǎng)站客服,并且有著明確的目標,目的是通過較少的對話輪數(shù)幫助用戶完成預(yù)定任務(wù)。非任務(wù)型對話系統(tǒng)則面向開放領(lǐng)域,主要通過基于檢索的方法和生成式的方法構(gòu)建,主要應(yīng)用場景為閑聊機器人、智能客服以及個性化推薦等,回復(fù)內(nèi)容具有主題一致性、語言多樣性以及個性化的特點。在開放域?qū)υ捪到y(tǒng)的研究中,基于檢索的方法回復(fù)語句流暢且易于評價,而基于生成式的方法能夠更多地考慮上下文的影響,且回復(fù)內(nèi)容多樣,能夠更好地模擬人類的正常交流。近年來,隨著大規(guī)模語料庫的出現(xiàn),計算機計算能力的提升,開放域下的對話生成研究成為了學(xué)術(shù)界研究的熱點。面向開放域?qū)υ挼母鞣N語音助手、閑聊機器人以及智能音響逐漸走入大眾的生活中,成為人們工作和生活娛樂的一部分。
然而人類在交換信息的過程中,不僅包含語法和句法信息,還包含著情感信息與情感狀態(tài)。人工智能的長期目標是使機器能夠理解情緒和情感,現(xiàn)有的研究表明,在對話系統(tǒng)中加入情感信息會提高用戶的滿意度,并且情感信息有助于機器和人之間的交流更加自然。因此,如何處理用戶的情感信息,并且設(shè)計能夠與用戶進行正常情感交互的對話系統(tǒng)非常重要。情感對話生成最初的研究是基于模板與規(guī)則的方法構(gòu)建的,其中情感語句使用基于模式的方式生成,但是這種方法構(gòu)造難度大且不易拓展,難以進行廣泛的應(yīng)用。受到神經(jīng)模型在機器翻譯等領(lǐng)域成功應(yīng)用的啟發(fā),基于端到端的神經(jīng)網(wǎng)絡(luò)模型被廣泛應(yīng)用于生成式對話研究中,旨在提高語句的語言質(zhì)量,包括句法、多樣性以及主題關(guān)聯(lián)性等。為了使生成式對話模型具備感知和表達情感的能力,許多研究者將各種端到端的神經(jīng)模型作為情感對話生成模型的基礎(chǔ),并通過情感分析、情感嵌入等技術(shù)對模型進行改進,實現(xiàn)了在對話生成中情感的表達。
由于基于端到端的情感對話生成研究時間較短,現(xiàn)有的綜述未能針對最新的研究進行及時而全面的總結(jié)。李赟等人簡要概述了情感對話生成的目標,從情感向量以及深度學(xué)習技術(shù)兩方面梳理了情感對話生成研究中的解決方案。Pamungkas對企業(yè)化建立情感聊天機器人的方法進行了回顧,但是沒有針對現(xiàn)有情感對話生成研究涉及的問題進行描述。Ma 等人重點關(guān)注移情對話系統(tǒng)的研究,將情感意識作為移情對話系統(tǒng)的一部分,情感對話生成的研究未能詳細介紹。莊寅等人面向情感對話系統(tǒng)中的對話情緒感知和情感對話生成兩個任務(wù)開展綜述,但是并未對當前情感對話生成研究涉及的模型及其改進方面開展敘述。本文將基于端到端的情感對話生成作為研究對象,歸納并詳細描述了基于端到端的情感對話生成研究涉及的關(guān)鍵問題以及當前研究的主要任務(wù),同時重點闡述了端到端的基本模型及每種模型的研究應(yīng)用,最后聚焦于情感對話生成未來的發(fā)展方向,并且給出了詳細的未來研究思路。
表1 情感對話生成示例Table 1 Example of emotional dialogue generation
根據(jù)對情感對話生成任務(wù)以及情感對話生成現(xiàn)狀的研究,當前情感對話生成的問題主要集中于對話生成中情感的回復(fù)問題,而該問題則包括三方面:對話中的情感一致性問題、回復(fù)生成情感恰當性問題以及情感通用性回復(fù)問題。
當前情感對話生成研究面臨的問題貫穿于情感對話生成的研究進展中。從生成指定情感類別的情感語句,到生成符合人類交流恰當?shù)那楦姓Z句,再到生成多樣性以及情感豐富的情感語句,這項研究將會沿著擬人化表達的方向不斷發(fā)展。
根據(jù)對現(xiàn)有研究的整理,情感對話生成任務(wù)框架如圖1 所示,情感對話生成主要完成以下任務(wù):情感嵌入編碼任務(wù)、回復(fù)情感控制任務(wù)以及情感回復(fù)解碼任務(wù)。以此解決情感對話生成中的問題:對話中的情感一致性問題、回復(fù)生成情感恰當性問題以及情感通用性回復(fù)等問題。而實現(xiàn)的方式則包括:(1)情感對話數(shù)據(jù)集的收集。以數(shù)據(jù)驅(qū)動為主的情感對話生成模型對大規(guī)模、高質(zhì)量的情感對話數(shù)據(jù)集有很高的要求。(2)情感對話生成模型的構(gòu)建。面向不同的任務(wù),研究者采取不同的基礎(chǔ)模型,針對存在的問題進行模型的構(gòu)建。(3)情感對話生成模型的評價。選取合適的評價指標對構(gòu)建的模型生成質(zhì)量進行評價,可以檢驗?zāi)P褪欠癯晒Α?/p>
圖1 基于端到端的情感對話生成任務(wù)框架Fig.1 Task framework based on end-to-end emotional dialogue generation
早期的對話系統(tǒng)基于手工制定規(guī)則的方式構(gòu)建,因此不需要數(shù)據(jù)集訓(xùn)練。而當前情感對話生成模型以數(shù)據(jù)驅(qū)動的方式訓(xùn)練得到,因此大規(guī)模且高質(zhì)量的情感對話數(shù)據(jù)集的收集與整理是構(gòu)建情感對話生成系統(tǒng)的關(guān)鍵。
當前許多研究者收集并整理了大量的情感對話數(shù)據(jù)集,對這些開源的數(shù)據(jù)集進行預(yù)處理之后,可以在情感對話生成模型的訓(xùn)練中使用。根據(jù)整理發(fā)現(xiàn),當前情感對話數(shù)據(jù)集只有兩種語言,英語和漢語。表2 為具有代表性的情感對話數(shù)據(jù)集。
表2 情感對話數(shù)據(jù)集Table 2 Emotional dialogue dataset
根據(jù)對現(xiàn)有的情感對話數(shù)據(jù)集的分析,可以發(fā)現(xiàn):(1)中文數(shù)據(jù)集來源于論壇評論,數(shù)據(jù)集質(zhì)量不高,對于情感對話模型的訓(xùn)練來說,每種情感類別的分布不均,會造成情感語句生成時的情感不可控。因此使用中文情感對話語料構(gòu)建的模型在情感一致性、情感恰當性等方面存在的問題較多。(2)英文數(shù)據(jù)集來源廣泛,既有對論壇評論的收集,也有來自于電影臺詞的整理,更適合用作模型的訓(xùn)練,使用英文數(shù)據(jù)集訓(xùn)練的模型更多地為了提高情感生成內(nèi)容方面的效果。
受到統(tǒng)計機器翻譯的啟發(fā),Ritter 等人提出一個短文本的回復(fù)生成概率模型,激發(fā)了研究者對于生成式概率模型的研究。Shang等人、Mou等人、Wu 等人、Li 等人在大規(guī)模數(shù)據(jù)上訓(xùn)練的神經(jīng)模型為對話生成的研究提供了基礎(chǔ),之后各種神經(jīng)模型被廣泛地應(yīng)用于對話生成研究中。根據(jù)對現(xiàn)有基于端到端的情感對話生成模型的研究,本文將對主流的序列到序列模型(sequence to sequence,Seq2Seq)、層級編解碼器模型(hierarchical recurrent encoderdecoder,HRED)、變分自編碼器(variational autoencoder,VAE)和基于Transformer的對話生成模型以及與每種模型相關(guān)的情感對話生成模型的應(yīng)用進行介紹。
序列到序列模型(Seq2Seq)是由Sutskever等人提出的一種神經(jīng)網(wǎng)絡(luò)模型,最初的工作是在機器翻譯上進行的。之后Bengio 等人提出注意力機制,進一步提高了機器翻譯的效果。Cho 等人成功地將Seq2Seq 模型應(yīng)用于對話生成中,成為了開放域?qū)υ捝裳芯康闹髁髂P汀eq2Seq 模型包括三部分:編碼器、解碼器和中間向量。經(jīng)典的Seq2Seq模型如圖2所示。
圖2 Seq2Seq 模型結(jié)構(gòu)Fig.2 Structure of Seq2Seq model
編碼器與解碼器通常以循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)、門控循環(huán)單元(gated recurrent unit,GRU)以及長短期記憶網(wǎng)絡(luò)(long shortterm memory,LSTM)為基礎(chǔ)。給定一個包含個詞的消息序列=,,…,x,…,x,目標是生成一個包含個詞的回復(fù)=,,…,y,…,y。模型不斷調(diào)整參數(shù),得到最理想的輸出序列。編碼器能夠?qū)斍拜斎刖幋a成中間向量,其計算方式如式(2)所示。
其中,h是編碼器編碼形成的中間隱藏狀態(tài),對每一時刻的隱藏狀態(tài)聯(lián)合起來進行變換可以形成中間向量,為了方便計算,將最后一個時刻的隱藏狀態(tài)看作中間語義向量。 x代表當前輸入。解碼器解碼過程剛好與編碼過程相反,在解碼階段,生成的輸出是利用編碼器生成的中間語義向量和上一時刻解碼器解碼的輸出共同生成當前輸出,計算概率分布,預(yù)測下一時刻輸出的詞:
Seq2Seq 功能強大,易于擴展,在單輪對話生成方面取得了很好的效果,但是對于多輪對話中較多的對話記錄,模型回復(fù)生成的效果不佳。
鑒于Seq2Seq 模型在對話生成方面的良好表現(xiàn),許多研究者選擇該模型作為情感對話生成模型的基礎(chǔ)。
研究者基于Seq2Seq 模型針對情感嵌入編碼任務(wù)開展了大量的研究:Zhou 等人首次提出了基于Seq2Seq 模型的情感聊天機(emotional chatting machine,ECM),ECM 使用情感類別嵌入模擬情感表達,實現(xiàn)情感向量的編碼,對解碼器進行改進,實現(xiàn)情感語句的生成。Shantala 等人在一個Seq2Seq 模型上調(diào)節(jié)回復(fù)情緒,以類似于單詞嵌入的方式訓(xùn)練情緒嵌入。在回復(fù)生成階段,系統(tǒng)不僅可以生成內(nèi)容恰當?shù)恼Z句,而且還可以生成期望的情感語調(diào)和話語。Huang 等人在學(xué)習的過程中將期望的情感與輸入連接起來,實現(xiàn)了情感的表達。Yuan 等人應(yīng)用Seq2Seq 框架,以給定的消息和分配的情緒標簽生成情感回復(fù)。為了產(chǎn)生一致情緒的回復(fù),使用情感嵌入指導(dǎo)情感化過程。Sun 等人應(yīng)用一個Seq2Seq 框架,并且通過使用一系列轉(zhuǎn)換來改變模型的輸入解決對話生成的情感因素。Zhou 等人在Seq2Seq 的基礎(chǔ)上應(yīng)用了一種注意力機制,捕捉上文的情緒并將其整合到回復(fù)生成中。Huang 等人對Seq2Seq 框架進行改進,能夠在傳達給定情感的同時自動生成回復(fù)。Wei 等人在Seq2Seq 框架的基礎(chǔ)上增加了一個情感偏置回復(fù)生成器,解決生成回復(fù)中忽視情感信息的問題,同時對消息中的語義和情緒進行編碼,產(chǎn)生更智能的回復(fù),并恰當?shù)乇磉_情緒。Song 等人對Seq2Seq 框架以基于詞典的注意力機制進行擴展,確保特定的情感詞插入文本中,以顯式或隱式地表達期望的情感。Guo 等人提出了一種基于Seq2Seq 框架的動態(tài)情感對話生成模型,結(jié)合了基于詞典的注意力機制,提高了對話生成質(zhì)量。Chen 等人對Seq2Seq 框架擴展,增加了情感感知生成器,從而提高了情感回復(fù)的恰當性。Zhou 等人在Seq2Seq 框架的基礎(chǔ)上,結(jié)合了基于詞典的注意力機制,該機制鼓勵用情感詞典中的同義詞來替換單詞。Ma 等人提出了一個情感和上下文敏感的對話生成Seq2Seq 模型。在模型中對話語的編碼增加了詞級和話語級的情感信息,增強了情感的模型表征能力,生成滿足語境的情感語句。
為了對回復(fù)中的情感進行控制生成,大量的研究者基于Seq2Seq 框架開展了回復(fù)情感控制任務(wù)研究:Colombo 等人基于Seq2Seq 框架使用連續(xù)的情感表征,能夠按照可控的方式生成有情感的回復(fù)。Ma 等人基于Seq2Seq 框架提出了一個由情感通道和詞級注意力組成的控制單元框架,獲得了更好的情感回復(fù)。Asghar 等人將情感控制理論(affect control theory,ACT)引入到Seq2Seq 框架中,產(chǎn)生了情緒一致的回復(fù),并考慮了交互者的身份。Sun等人提出了一種基于Seq2Seq 框架的對話內(nèi)容生成模型,使用強化學(xué)習的方法,生成了更有意義的情感回復(fù)。Li 等人將Seq2Seq 框架與生成式對抗網(wǎng)絡(luò)(generative adversarial networks,GAN)相結(jié)合,生成了更高質(zhì)量的情感回復(fù)。
情感回復(fù)內(nèi)容的好壞也是研究者的關(guān)注點,因此情感回復(fù)生成解碼任務(wù)成為了情感對話生成研究的熱點:Asghar 等人基于Seq2Seq 框架使用情感維度方法對情感建模,能夠?qū)⑶楦械亩鄻有匀谌氲浇獯a器的生成回復(fù)中,解決了在對話生成中的情感內(nèi)容回復(fù)問題。Zhong 等人基于Seq2Seq 框架使用情感維度方法標注嵌入詞,解碼生成的回復(fù)不僅符合語法和語義,還具有豐富的情感。Liu 等人提出了一個基于Seq2Seq 框架的情感自然語言回復(fù)模型,將對話的情感狀態(tài)編碼為分布式嵌入到回復(fù)生成過程中。Peng 等人提出了一個基于Seq2Seq 框架的話題增強情感對話生成模型,使用動態(tài)情感注意力機制自適應(yīng)地輸入與文本相關(guān)的情感信息,產(chǎn)生了豐富的情感回復(fù)。Sun 等人將GAN 網(wǎng)絡(luò)的機制應(yīng)用到Seq2Seq 模型中,推動系統(tǒng)生成最接近人類對話的語句。Sun 等人提出一種基于Seq2Seq 框架的多階段雙向異步解碼器,該解碼器充分利用語法約束,保證回復(fù)的流暢性和語法性。
為了更清晰地描述基于Seq2Seq 框架的情感對話生成模型的研究現(xiàn)狀,本文根據(jù)模型涉及的三個子任務(wù)、解決的問題、使用的數(shù)據(jù)集、涉及的評價指標以及模型的性能對這一類情感對話生成模型的研究現(xiàn)狀進行了梳理,如表3~表5 所示。在評價指標方面,A.E 代表自動評價,M.E 代表人工評價。A.E 主要包括困惑度(perplexity,PPL)、BLEU、ROUGE、Embedding、Distinct、EC(emotional consistency)以及Accuracy。M.E 使用人工的方式對內(nèi)容(content)、情感(emotion)、語義連貫性(syntactic coherence)、自然(natural)、情感恰當性(emotional appropriateness)、語法正確性(grammatical correctness)、上下文連貫性(contextual coherence)、邏輯性(logic)等方面對模型的性能進行打分。
表3 情感嵌入編碼任務(wù)研究Table 3 Research on emotional embedding encoding task
表4 回復(fù)生成情感控制任務(wù)研究Table 4 Research on emotional control task of responsive generation
表5 情感回復(fù)生成解碼任務(wù)研究Table 5 Research on decoding task of emotional response generation
為了解決Seq2Seq 模型對于上下文依賴差的問題,Serban 等人提出了層級編解碼器模型(HRED),并且取得了很好的效果。如圖3 所示,該模型由話語級編碼器、話語間編碼器以及響應(yīng)生成器三個網(wǎng)絡(luò)組成。首先話語級編碼器將每個話語中的詞序列向量表示轉(zhuǎn)換為話語的向量表示,以此捕捉每個話語的語義信息。然后,話語間編碼器將多個話語的序列表示轉(zhuǎn)換為對話上下文的向量表示,并提高對話上下文間的相關(guān)性。最后響應(yīng)生成器獲取話語間編碼器的隱藏狀態(tài),預(yù)測下一個話語中的概率分布,生成過程中的預(yù)測取決于話語間編碼器的隱藏狀態(tài)。
圖3 HRED 模型結(jié)構(gòu)Fig.3 Structure of HRED model
由于HRED 模型可以更好地關(guān)注于上下文信息,提高對話上下文的關(guān)聯(lián)性,也被研究者應(yīng)用在情感對話生成的研究中。例如:Xie 等人對HRED 框架進行改進,構(gòu)建了一個多輪情感對話系統(tǒng)。通過額外的情感向量對話語建模,并且增加了一個學(xué)習數(shù)據(jù)集中情感交流的情感編碼器,使得多輪對話系統(tǒng)能夠識別和產(chǎn)生情感上恰當?shù)幕貜?fù)。Lubis 等人擴展了HRED 模型,并增加了一個情感編碼器,以捕捉對話的情感背景,上文中的情感將對回復(fù)的生成產(chǎn)生影響。本文將基于HRED 框架的情感對話生成研究以及涉及的問題、任務(wù)、數(shù)據(jù)集、評價指標以及模型的性能進行梳理,如表6 所示。
表6 基于HRED 模型的情感對話生成研究Table 6 Research on generation of emotional dialogue based on HRED model
根據(jù)對現(xiàn)有的基于HRED 框架的情感對話生成研究現(xiàn)狀的整理,可以發(fā)現(xiàn):基于該模型的研究,一方面關(guān)注于上文中的情感背景對于回復(fù)生成的影響,另一方面關(guān)注對話互動者之間的情感變化,因此HRED 框架相對于Seq2Seq 框架的優(yōu)勢在這兩個問題上比較明顯。除此之外,正因為HRED 模型提高了對上文的關(guān)注,用來構(gòu)建多輪情感對話系統(tǒng)也是一個很好的基礎(chǔ)模型。
由于變分自編碼器(VAE)可以將給定輸入的每個潛在特征表示為概率分布(|),這樣的表示方法特別適合表示對話中上下文的內(nèi)部狀態(tài),也可以表示對話上文中的情感狀態(tài)。因此許多研究者將VAE 應(yīng)用到情感對話生成研究中,并且取得了很好的效果。如圖4 所示,VAE 由編碼器與解碼器兩部分組成,VAE 利用神經(jīng)網(wǎng)絡(luò)建立了兩個概率分布模型:一個用于原始輸入數(shù)據(jù)的變分推斷,生成隱變量的變分概率分布,稱為推斷網(wǎng)絡(luò);另一個根據(jù)生成的隱變量變分概率分布,還原生成原始數(shù)據(jù)的近似概率分布,稱為生成網(wǎng)絡(luò)。因此,VAE是一種生成模型。它引入統(tǒng)計思想在自編碼器中加入正則約束項,使得潛在特征滿足概率分布,并從中自動生成數(shù)據(jù)。條件變分自編碼器(conditional variational auto-encoder,CVAE)是在變分自編碼器之上再加一些額外信息為條件的一類模型,模型如圖5 所示。
圖4 VAE 模型結(jié)構(gòu)Fig.4 Structure of VAE model
圖5 CVAE 模型結(jié)構(gòu)Fig.5 Structure of CVAE model
由于CVAE 可以捕捉對話上文中的潛在變量,而情感對話生成中的情感狀態(tài)正好符合這個特性,許多研究者應(yīng)用CVAE 實現(xiàn)情感回復(fù)生成,并且取得了不錯的效果。Gu 等人將CVAE 中的潛在變量分成情感和內(nèi)容兩部分。然后進一步迫使?jié)撛谇榫w策略預(yù)測目標情緒概率分布。通過使用隱式和顯式情感策略,新設(shè)計的解碼器結(jié)合了豐富的控制信息來解碼生成回復(fù)。Xu 等人提出了生成情緒回復(fù)的多任務(wù)雙注意力框架。利用雙重注意力機制結(jié)合CVAE,解碼基于CVAE 的輸出和給定的情感標簽生成情感回復(fù),在保證回復(fù)多樣性的同時控制了回復(fù)的情感傾向。Kong 等人提出了結(jié)合CVAE 與Seq2Seq 模型的情感回復(fù)模型,將情感上下文回復(fù)和采樣的隨機潛在變量連接作為輸入并生成回復(fù)。顯式控制情感回復(fù)的方式,提高了生成內(nèi)容的質(zhì)量。Yao 等人基于CVAE 模型,引入了情緒門控機制和情緒引導(dǎo)機制,幫助模型基于相同的輸入生成多個情緒和語法正確的回復(fù),生成的情感在多樣性方面取得了很好的效果。Peng 等人在CVAE 的基礎(chǔ)上,使用判別器來約束中間潛在變量,使得該變量能夠更好地編碼原始文本的情感特征信息,最終生成包含情感的對話文本。Huo 等人在解碼結(jié)構(gòu)中配置了一個基于CVAE 的情感感知模塊來控制情感句子的生成,并配置一個用于增強主題相關(guān)性的主題感知模塊,該模型不僅能準確地生成期望的情緒回復(fù),而且在話題關(guān)聯(lián)性方面表現(xiàn)良好。Deng 等人提出了一種基于CVAE 的情感回復(fù)生成模型,其中CVAE 中的潛在變量被用于促進對話的多樣性,使用雙重情感框架控制回復(fù)的情感,提高了情感回復(fù)的連貫性?;贑VAE 的情感對話生成研究如表7 所示。
表7 基于CVAE 模型的情感對話生成研究Table 7 Research on generation of emotional dialogue based on CVAE model
通過對現(xiàn)有的應(yīng)用CVAE 模型進行情感對話生成研究的整理,可以發(fā)現(xiàn)CVAE 模型在情感對話生成中有很高的應(yīng)用價值。一方面,它可以很好地解決情感對話上文中難以捕捉的情感狀態(tài)問題,并且可以進行情感引導(dǎo)以及情感控制方面的研究;另一方面,CVAE 將潛在變量表示為概率分布而不是普通的編碼向量,因此將概率分布與情感向量結(jié)合進行解碼,不僅可以生成指定的情感,也可以提高生成的多樣性。
雖然Seq2Seq 模型與HRED 模型在對話生成方面取得了不錯的效果,但是基于RNN 的Seq2Seq 模型與HRED 模型對于長句以及多輪對話的生成效果卻不盡人意。為了解決這個問題,2017 年,Vaswani等人提出一種基于注意力機制的Transformer 模型,該模型引入多頭注意力機制,不僅關(guān)注當前詞,而且更多地關(guān)注整個句子中的詞,從而獲取到上下文的語義,有效解決了長句子文本以及多輪對話效果不佳的問題。
如圖6 所示,Transformer 模型也由編碼器和解碼器兩部分組成,對模型進一步細化后可以發(fā)現(xiàn)模型是由6 層編碼器和6 層解碼器組成的。每層編碼器包含多個子層,其結(jié)構(gòu)都是相同的,且每一層都是由多頭注意力(multi-head attention)和前饋神經(jīng)網(wǎng)絡(luò)層(feed forward neural network,F(xiàn)FN)構(gòu)成。多頭自注意力層由自注意力機制構(gòu)成,其主要目的是使當前節(jié)點不僅關(guān)注當前的詞,而且要對整個句子中的詞進行關(guān)注,從而獲取到句子中的上下文語義。前饋網(wǎng)絡(luò)層的目的是為增加多頭注意力層中輸出的向量的非線性變換。
圖6 Transformer模型結(jié)構(gòu)Fig.6 Structure of Transformer model
對于Transformer 模型的每層解碼器來說,結(jié)構(gòu)也是相同的,與編碼器不同之處在于,解碼器在編碼器結(jié)構(gòu)的基礎(chǔ)上增加了一層交叉多頭注意力機制層,其主要目的是使編碼器的輸出向量與當前解碼器中輸入的向量進行內(nèi)容對齊,這與Seq2Seq 模型原理類似。除此之外,解碼器不再使用編碼器中的多頭注意力層,而使用遮蔽多頭注意力(masked multihead attention)層,其目的為幫助當前節(jié)點獲取到當前需要關(guān)注的重要內(nèi)容,遮蔽的內(nèi)容是真實標簽序列中當前節(jié)點之后的標簽。
Olabiyi 等人提出基于Transformer 的對話生成模型,更好地捕捉對話中的長期依賴,模擬了上下文的聯(lián)合分布,該模型相比其他多輪對話模型,性能有顯著提高,對于長句子生成也有很好的效果。鑒于Transformer 模型在多輪對話以及長句子生成方面的優(yōu)越性,今后以Transformer 模型為基礎(chǔ)的對話生成模型將成為一大熱點。
由于Transformer 能夠關(guān)注全局信息,許多研究者將其引入情感對話生成研究。Sun 等人提出了一種基于貝葉斯深層神經(jīng)網(wǎng)絡(luò)的情感對話生成模型,利用Transformer 中自注意力充分捕捉整句話前向與后向的信息,使模型在解碼過程中得到充分約束,生成高質(zhì)量的文本。并且引入常識知識,生成了情感豐富、主題明確、句子多樣的回復(fù)。Li 等人提出一個新的變分模型來產(chǎn)生恰當?shù)幕貜?fù),可以引發(fā)用戶的特定情緒。該模型將回復(fù)后的下一輪話語整合到后驗網(wǎng)絡(luò)中以豐富語境,并在預(yù)先訓(xùn)練的Transformer 模型的幫助下,將單個潛在變量分解成多個連續(xù)變量來指導(dǎo)回復(fù)生成?;赥ransformer 的情感對話生成研究如表8 所示。
表8 基于Transformer模型的情感對話生成研究Table 8 Research on emotional dialogue generation based on Transformer model
通過對Transformer 應(yīng)用于情感對話生成研究的整理,可以發(fā)現(xiàn)Transformer 改進了注意力機制,解決了RNN 存在的長時間依賴問題,可以關(guān)注于整句話的影響,對于對話中的上下文語境有著更好的關(guān)注。另外,相對于Seq2Seq 模型,Transformer 模型生成語言文本質(zhì)量較高,更適合作為情感對話生成研究的基礎(chǔ)模型。
基于端到端的情感對話生成回復(fù)的質(zhì)量需要合適的評價指標進行評價,主流的評價方式包括自動評價與人工評價。
在自動評價中,研究者采用機器翻譯的方法對模型生成回復(fù)與目標回復(fù)進行比較用于評價模型的質(zhì)量,例如BLEU,但是由于這種方法與人類判斷的相關(guān)性較低,文獻[63]認為該方法不適合評價對話生成任務(wù)。本文面向情感對話生成中存在的回復(fù)生成質(zhì)量、回復(fù)多樣性、語義相關(guān)性以及情感一致性問題,對相關(guān)的自動評價指標進行了梳理。
為了評價模型生成回復(fù)質(zhì)量的好壞,研究者將ROUGE和困惑度(perplexity,PPL)作為衡量情感對話生成模型回復(fù)質(zhì)量的評價標準。
ROUGE 指標是一種通過統(tǒng)計n-gram、詞序列和詞對重疊等單位來衡量生成摘要質(zhì)量的指標,包括ROUGE-N、ROUGE-L 以及ROUGE-W。其中ROUGE-L 計算候選句與目標句之間的最長相同子序列(longest common subsequence,LCS),因此被用于對話生成任務(wù)中。ROUGE-L 計算公式如下所示:
其中,和分別代表候選句和目標句序列,()和()分別代表候選句和目標句長度,代表超參數(shù)常量。
是基于模型自身,衡量語言模型好壞的指標。句子概率越大,語言模型越好,困惑度越小。計算方法主要是根據(jù)每個詞來估計一句話出現(xiàn)的概率,并用句子長度作標準化,公式為:
式中,代表候選句,()是句子長度,(w)是第個詞的概率。第一個詞就是(|),而是START,表示句子的起始,是個占位符。
然而研究者在評價回復(fù)生成質(zhì)量的同時,也需要針對回復(fù)的多樣性展開評價。為了評價回復(fù)的多樣性,Distinct指標已被研究者所接受。其中文獻[63]使用生成回復(fù)中不同的Distinct-1 與Distinct-2 的數(shù)量計算候選回復(fù)中的多樣性成為了評價生成模型回復(fù)多樣性的重要依據(jù)。Distinct的計算公式如下:
其中,()表示回復(fù)中不重復(fù)的數(shù)量,表示回復(fù)中詞語的總數(shù)量。()越大表示生成的多樣性越高。
為了捕捉生成的回復(fù)語句和目標語句之間的語義層面相關(guān)性,文獻[63]提出基于向量嵌入指標:貪婪匹配法(greedy matching)、向量均值法(embedding average)與向量極值法(vector extrema)。它們將回復(fù)映射到向量空間并計算余弦相似度,這幾種方法被廣泛應(yīng)用于對話生成語義相似度計算中。
向量均值的計算方式:通過對句子中所有的詞向量求均值計算句向量的方法,計算句向量的公式如式(11)所示。
向量極值的計算方法:選擇句子中每個詞向量的最大維度和最小維度作為句向量的維度表示,極值計算公式如式(12)所示。
其中,代表一個向量的維度,e是的詞向量的第維。min 函數(shù)指如果最小負值的絕對值大于最大的正值時,取負值。
情感對話生成的關(guān)鍵在于生成帶有情感色彩的回復(fù)語句。當前主要針對回復(fù)生成一致性的情感的評價方式展開研究,衡量回復(fù)生成中情感的準確表達。根據(jù)文獻[44]的工作,研究者設(shè)計了基于情緒的度量標準,情緒a。情緒a 是通過構(gòu)建基于神經(jīng)網(wǎng)絡(luò)的情感分類器衡量預(yù)測的標簽和原始標簽之間的情感一致性。情感一致性(EC)計算公式如下:
其中,代表情感類別的數(shù)量;y代表如果預(yù)測標簽與原始標簽相同則為1,反之為0;代表語句的數(shù)量;代表情感類別索引;e代表目標句指定的情感類別索引。
人工評價涉及人類的判斷來評價情感對話生成模型的性能。按照文獻[36]的工作,首先隨機取樣測試數(shù)據(jù)集中的100 個輸入句子。對于每個輸入句子,隨機化每個模型生成回復(fù)的順序。對于每個回復(fù),需要5 個人工注釋者評估兩方面:內(nèi)容和情緒。他們通過3 級評分(0,1,2)和2 級評分(0,1,2)分別從內(nèi)容層面以及情緒層面評估每個回復(fù)。從內(nèi)容層面評估一個回復(fù)是否連貫和對上下文有意義。從情感層面評估決定了一個回復(fù)是否揭示了期望的情感屬性,例如情感一致性、情感多樣性等,具體分值的含義如表9 所示。當然評分標準并不唯一,文獻[57]則使用分級評估量表對生成的回復(fù)進行評分,其中0=非常糟糕,1=差,2=邊緣,3=不差,4=好,5=驚訝。使用人工評價對本文的模型以及基線模型進行對比,比較模型性能的好壞。
表9 情感對話生成人工評價標準Table 9 Standard of emotional dialogue generation manual evaluation
通過對當前情感對話生成模型評價指標的整理,可以發(fā)現(xiàn):一方面,對話生成中的自動評價指標主要延續(xù)機器翻譯的評價方式,針對候選句與目標句的匹配衡量對話生成回復(fù)質(zhì)量的好壞顯然是不合適的。因此,針對情感對話生成自身的特點,設(shè)計衡量回復(fù)生成多樣性、回復(fù)內(nèi)容邏輯性、情感恰當性等問題的自動評價指標是必要的。另一方面,當前的人工評價方式主要通過人為的方式進行衡量,這樣的方式經(jīng)濟成本高,且不易普及。因此,如何對人工評價方式進行改進,將成為情感對話生成面臨的一大難題。
通過對現(xiàn)有研究的梳理,本文對基于端到端的情感對話生成研究方向進行了展望。
(1)構(gòu)建高質(zhì)量的情感對話數(shù)據(jù)集?,F(xiàn)有的對話數(shù)據(jù)集分別是從社交媒體或者影視資料中獲得,因此存在大量的錯誤以及噪音,適合情感對話生成模型訓(xùn)練的高質(zhì)量情感對話數(shù)據(jù)集相對匱乏。未來,可以參考對偶學(xué)習的方式,使情感對話模型實現(xiàn)自我對話,收集對話內(nèi)容作為情感對話數(shù)據(jù)集。
(2)控制情感對話模型的回復(fù)邏輯。對話生成模型回復(fù)語言的邏輯性一直以來都是困擾研究者的一個重要問題,情感對話模型增加了情感信息使得這一問題尤為突出。數(shù)據(jù)驅(qū)動的情感對話生成模型的回復(fù)質(zhì)量會受到數(shù)據(jù)集質(zhì)量的影響。因此,一方面,引入文本推理技術(shù)對對話邏輯推理展開研究,可以作為未來研究者的研究方向;另一方面,使用知識圖譜的技術(shù)提高對話上下文中的指代,加強主題、情感與知識三者之間的聯(lián)系,生成符合主題邏輯、指代準確且情感豐富的語句,可以更好地模擬人類的交流方式,生成更有意義的語句。
(3)考慮個性化的情感回復(fù)生成。當前已經(jīng)有許多研究者針對角色以及個性化的對話生成開展了研究,但是這些研究更傾向于學(xué)習角色的對話風格,在真實的對話場景中,不同的角色表達情感的方式是不同的。因此未來研究者應(yīng)該面向角色與情感結(jié)合的對話生成建模,引入不同角色的情感表達方式以及表達風格,例如溫文爾雅的角色在表達情感時是含蓄的,而性格直爽的角色表達情感是直接的。這樣的研究可以使對話生成研究更符合人類的表達習慣。
(4)在情感對話中加入情緒引導(dǎo)機制。當前的情感對話生成研究中的情感回復(fù)生成大多數(shù)針對指定情感進行回復(fù)生成,這與真實的人類對話場景存在差異。為了使情感聊天機器人走入人類的日常生活,構(gòu)建能夠隨著用戶情感變化而生成恰當情感回復(fù)的情感撫慰機器人是必不可少的,因此在情感對話生成中構(gòu)建符合心理學(xué)邏輯的情感引導(dǎo)機制是未來可行的一項研究。
隨著深度學(xué)習技術(shù)的發(fā)展,情感對話生成模型已經(jīng)被越來越多的研究者關(guān)注,構(gòu)建符合人類正常表達的情感對話系統(tǒng)是研究者努力的方向。因此,情感對話生成模型不僅僅要實現(xiàn)情感的表達,而且對于生成語言質(zhì)量以及對話邏輯有著更高的要求。本文面向基于端到端的情感對話生成研究開展綜述,首先對現(xiàn)有的研究進行整理并總結(jié)了情感對話生成研究的任務(wù)組成,并對解決的問題進行了定義和總結(jié);其次對現(xiàn)有研究所需的情感對話數(shù)據(jù)集進行了總結(jié);然后針對基于端到端的情感對話生成研究涉及的基礎(chǔ)模型,分別從原理以及研究現(xiàn)狀進行了梳理;最后對當前研究中模型的評價方式進行了總結(jié)。