王雨,袁玉波,過(guò)弋,3,張嘉杰
(1.華東理工大學(xué) 信息科學(xué)與工程學(xué)院,上海 200237;2.上海大數(shù)據(jù)與互聯(lián)網(wǎng)受眾工程技術(shù)研究中心,上海 200072;3.大數(shù)據(jù)流通與交易技術(shù)國(guó)家工程實(shí)驗(yàn)室(上海數(shù)據(jù)交易所),上海 200436)
近年來(lái),隨著人工智能和社交媒體大數(shù)據(jù)的快速發(fā)展,情緒(emotion)分析已經(jīng)在社交輿情分析、用戶畫(huà)像以及推薦系統(tǒng)等多個(gè)領(lǐng)域廣泛應(yīng)用。情感(sentiment)是人類固有的一種基本的內(nèi)在狀態(tài),在人類交流中幫助傳達(dá)和理解實(shí)際信息,因此情感理解對(duì)于情緒分析十分重要。
在社交媒體大數(shù)據(jù)開(kāi)發(fā)應(yīng)用領(lǐng)域的網(wǎng)絡(luò)對(duì)話文本中,說(shuō)話人的情緒識(shí)別(Emotion Recognition in Conversation,ERC)作為自然語(yǔ)言處理(Natural Language Processing,NLP)的新課題越來(lái)越受重視,因?yàn)樗哂袕腡witter、微博、微信等平臺(tái)上大量公開(kāi)可用的交互式數(shù)據(jù)中挖掘輿情的能力。此外,對(duì)話情緒識(shí)別在醫(yī)療保健系統(tǒng)、智能教育、視覺(jué)問(wèn)答等方面具有應(yīng)用潛力。近幾年,電商智能客服、閑聊機(jī)器人等對(duì)話系統(tǒng)的應(yīng)用越來(lái)越廣泛,但是它們往往缺乏帶有情感的交流,不能很好地識(shí)別用戶在對(duì)話中的情緒和情感,因此有必要研究對(duì)話中蘊(yùn)含的情感信息。
對(duì)話情緒識(shí)別本質(zhì)上是分類任務(wù),旨在對(duì)一段對(duì)話中的話語(yǔ)進(jìn)行情緒分類。與傳統(tǒng)的文本分類任務(wù)不同,對(duì)話文本存在信息的交互以及說(shuō)話人情感的影響,說(shuō)話人的情緒變化不僅受自己情緒狀態(tài)的影響,還受到對(duì)方說(shuō)話人的情緒狀態(tài)的影響,說(shuō)話人之間的依賴和自我依賴之間總是存在重要的相互作用。因此需要綜合考慮對(duì)話上下文、說(shuō)話人、說(shuō)話人的個(gè)性、意圖、對(duì)彼此的態(tài)度等,分析這些因素可以得到豐富的會(huì)話信息。
情感和情緒都是人類主觀的感受,因此它們的理解是相似的,并且經(jīng)?;Q使用。之前的相關(guān)研究大多將其視為兩個(gè)獨(dú)立的問(wèn)題,情感分類多為情感正負(fù)極性的判斷,而情緒識(shí)別多為更細(xì)粒度的情緒識(shí)別。文獻(xiàn)[1-2]表明情感和情緒密切相關(guān),大多數(shù)情緒狀態(tài)都有明顯的積極或消極的區(qū)別。如“憤怒”“恐懼”“悲傷”等,屬于消極的情緒,而“高興”和“驚訝”反映了積極的情緒。因此話語(yǔ)的情感知識(shí)(或情緒)可以幫助對(duì)其相鄰話語(yǔ)分類,例如關(guān)于憤怒情緒的信息可以幫助預(yù)測(cè)負(fù)面情感,反之亦然。
本文的主要工作如下:1)將對(duì)話主題信息和行為信息融入對(duì)話文本,通過(guò)微調(diào)預(yù)訓(xùn)練語(yǔ)言模型RoBERTa[3]提取重構(gòu)的句子特征。2)通過(guò)圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network,GNN)建模對(duì)話上下文,并引入情感分類輔助情緒識(shí)別任務(wù),將情感分類損失作為懲罰項(xiàng)設(shè)計(jì)了新的損失函數(shù),動(dòng)態(tài)調(diào)節(jié)權(quán)值。3)在DailyDialog 公開(kāi)數(shù)據(jù)集[4]上進(jìn)行大量實(shí)驗(yàn),驗(yàn)證了本文方法的有效性。
早期的情緒識(shí)別工作主要依賴于支持向量機(jī)(Support Vector Machine,SVM)[5]、規(guī)則匹配等。隨著深度學(xué)習(xí)的發(fā)展,目前的情緒識(shí)別工作主要依賴于神經(jīng)網(wǎng)絡(luò),如卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[6]、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[7]等。由于社交媒體平臺(tái)上開(kāi)源會(huì)話數(shù)據(jù)集的增加,ERC 引起了越來(lái)越多的研究興趣。
Hazarika等[8]提出了 會(huì)話記 憶網(wǎng)絡(luò)(Conversational Memory Network,CMN)為二元會(huì)話的參與者模擬人類交互,并利用說(shuō)話人相關(guān)的記憶進(jìn)行情緒識(shí)別。Hazarika等[9]擴(kuò)展CMN,提出另一種用于模擬人類交互的記憶網(wǎng)絡(luò),稱為交互式會(huì)話記憶網(wǎng)絡(luò)(Interactive Conversational Memory Network,ICON),將所有歷史話語(yǔ)包含在對(duì)話參與者的上下文窗口內(nèi),作為整體對(duì)話記憶。Majumder等[10]提出了一個(gè)基于RNN 的基準(zhǔn)模型,使用三個(gè)門循環(huán)單元(Gated Recurrent Unit,GRU)跟蹤單個(gè)說(shuō)話人在對(duì)話中的狀態(tài)、情緒狀態(tài)和全局語(yǔ)境。另一方面,作為語(yǔ)境信息的一種考慮方式,Shen等[11]利用增強(qiáng)的記憶模塊存儲(chǔ)更長(zhǎng)的歷史上下文,并利用對(duì)話感知的自我注意以捕獲有用的內(nèi)部說(shuō)話人依賴關(guān)系。此外,融入外部知識(shí)以及情感知識(shí)也是目前研究者探索的方向。Zhong等[12]通過(guò)多層自注意力機(jī)制理解上下文,同時(shí),通過(guò)上下文感知的情感圖注意機(jī)制將外部常識(shí)利用起來(lái)。Bhat等[13]通過(guò)在對(duì)話中添加情感詞、主題詞匯來(lái)為句子添加基于上下文的情感特征,通過(guò)微調(diào)預(yù)訓(xùn)練語(yǔ)言模型RoBERTa獲得了不錯(cuò)的結(jié)果。
除了使用RNN 等序列結(jié)構(gòu)處理對(duì)話中的話語(yǔ)序列,還有許多研究者通過(guò)圖卷積網(wǎng)絡(luò)(Graph Convolutional Network,GCN)結(jié)構(gòu)建 模對(duì)話。Ghosal等[14]提出DialogueGCN(Dialogue Graph Convolutional Network)模型,利用GCN 模擬對(duì)話中的交互,并考慮未來(lái)的窗口話語(yǔ)。Ishiwatari等[15]針對(duì)DialogueGCN 沒(méi)有考慮順序信息的問(wèn)題,在圖網(wǎng)絡(luò)中加入關(guān)系位置編碼以捕獲說(shuō)話人的依賴性和話語(yǔ)的順序。彭韜等[16]將文本的句法依存關(guān)系引入模型,通過(guò)GCN 提取句法結(jié)構(gòu)信息,并與文本情感分析模型相結(jié)合。Shen等[17]提出用有向無(wú)環(huán)圖(Directed Acyclic Graph,DAG)對(duì)話語(yǔ)進(jìn)行建圖,結(jié)合話語(yǔ)順序結(jié)構(gòu)設(shè)計(jì)了DAG-ERC(Directed Acyclic Graph-Emotion Recognition in Conversation)模型。
也有研究使用情感和其他任務(wù)的聯(lián)合學(xué)習(xí)方法,利用多個(gè)任務(wù)之間的相關(guān)性提升分類性能。Qin等[18]提出深度協(xié)同交互關(guān)系網(wǎng)絡(luò)(Deep Co-interactive Relation Network,DCR-Net),引入?yún)f(xié)同交互關(guān)系層建模對(duì)話行為識(shí)別(Dialog Act Recognition,DAR)和對(duì)話情感分類任務(wù)之間的交互。
基于上述相關(guān)研究,考慮到對(duì)話文本通常較短,存在表達(dá)能力有限等問(wèn)題,而且對(duì)話主題和意圖有助于建模說(shuō)話人之間的影響,本文在話語(yǔ)特征提取階段融入對(duì)話主題和意圖信息從而提取更豐富的話語(yǔ)特征表示,然后基于GNN 建模對(duì)話結(jié)構(gòu)和說(shuō)話人信息,避免RNN 模型存在的長(zhǎng)距離依賴問(wèn)題。另一方面,本文針對(duì)對(duì)話情感和情緒存在一定關(guān)聯(lián)的特點(diǎn),通過(guò)基于雙向長(zhǎng)短時(shí)記憶(Bi-directional Long Short-Term Memory,Bi-LSTM)模型的情感分類任務(wù)輔助情緒識(shí)別任務(wù),從而提高模型情緒識(shí)別性能。
對(duì)話情緒識(shí)別的問(wèn)題定義如下:
假設(shè)在一段對(duì)話中有M個(gè)說(shuō)話人,用符號(hào)表示為P={p1,p2,…,pM},有N個(gè)句子的對(duì)話U={u1,u2,…,uN},其中:第i個(gè)說(shuō)話人的話語(yǔ)ui={wi1,wi2,…,wini},ni為第i個(gè)句子中詞的數(shù)量。對(duì)話情緒識(shí)別的問(wèn)題表示如下:
即在給定的模型空間H中,求得一個(gè)最優(yōu)的識(shí)別模型F*,在已知情緒標(biāo)簽的數(shù)據(jù)集合U上,使模型的識(shí)別結(jié)果和已知標(biāo)簽的差異極小。
下面分析說(shuō)明情感和情緒之間的內(nèi)在關(guān)系以及對(duì)話結(jié)構(gòu)對(duì)它們的影響。
表1 是一段由A、B 兩個(gè)人參與的對(duì)話示例。A 表現(xiàn)出“驚訝”的情緒,情感傾向是積極的。而隨著對(duì)話輪次進(jìn)行,A 的情緒逐漸變?yōu)椤爸行浴薄吧鷼狻保鄳?yīng)的情感傾向也變?yōu)橄麡O,而B(niǎo) 隨著A 的情緒變化也發(fā)生了變化,并且情感傾向的變化相似。這說(shuō)明對(duì)話中說(shuō)話人的情感和情緒之間存在一定的關(guān)聯(lián)性,一個(gè)話語(yǔ)的情感(或情緒)經(jīng)常與其他語(yǔ)境話語(yǔ)相互依賴,即情感(或情緒)可以對(duì)相鄰話語(yǔ)進(jìn)行分類。
表1 對(duì)話示例Tab.1 Example dialogues
在對(duì)話中特別是兩人對(duì)話中,說(shuō)話人之間表達(dá)的情感是動(dòng)態(tài)變化的并且會(huì)相互影響,通常體現(xiàn)在說(shuō)話人的自我影響和說(shuō)話人之間的影響。自我影響或情感慣性是指說(shuō)話人在談話中對(duì)自己的情感影響。參與者對(duì)話由于自身的情緒慣性,很可能會(huì)堅(jiān)持自己的情緒狀態(tài)。而說(shuō)話人之間的影響指對(duì)方在說(shuō)話人身上產(chǎn)生的情感影響。這種影響與這樣一個(gè)事實(shí)密切相關(guān),即在對(duì)話過(guò)程中,說(shuō)話人傾向于模仿他們面對(duì)的人來(lái)建立融洽的關(guān)系。
情感的表達(dá)方式、話語(yǔ)的意義也會(huì)隨對(duì)話的主題變化而變化。通常,圍繞特定主題的對(duì)話存在不同的語(yǔ)言表達(dá)方式,不僅影響話語(yǔ)的意義,還影響特定的情感因素的表達(dá)。對(duì)話行為或者對(duì)話意圖指在一段對(duì)話中說(shuō)話人說(shuō)的某句話的動(dòng)機(jī)。對(duì)話意圖的不同使說(shuō)話人在對(duì)話中表達(dá)的情感也會(huì)不同,并且兩者也存在一定關(guān)聯(lián)。通過(guò)識(shí)別說(shuō)話人的意圖能幫助檢測(cè)話語(yǔ)中隱含的情感。此外,對(duì)話通常包含許多較短的文本,表達(dá)的信息可能有限。所以本文融合對(duì)話主題和意圖信息以豐富句子的語(yǔ)義特征。
對(duì)話情緒識(shí)別的難點(diǎn)在于不同說(shuō)話人之間的情感相互影響,并且依賴上下文信息。本文通過(guò)分析發(fā)現(xiàn)對(duì)話中說(shuō)話人的情緒變化和情感傾向變化趨勢(shì)相似,存在一定關(guān)聯(lián);對(duì)于同一個(gè)說(shuō)話人,其情感傾向起伏不會(huì)很大?;诖?,本文基于GNN 并考慮說(shuō)話人信息來(lái)建模對(duì)話結(jié)構(gòu),探索通過(guò)粗粒度的情感分類任務(wù)來(lái)輔助細(xì)粒度的情緒識(shí)別性能,并融入主題和意圖信息增強(qiáng)文本特征。
本文提出的SBGN(Sentiment Boosting Graph Neural network)模型如式(2)所示:
即在模型中,融入了主題(s)和意圖(a)數(shù)據(jù),通過(guò)對(duì)話情感分類結(jié)果優(yōu)化提升情緒識(shí)別的結(jié)果。SBGN 模型定義為情感增強(qiáng)的對(duì)話情緒識(shí)別模型,技術(shù)架構(gòu)如圖1 所示。
圖1 模型框架Fig.1 Model framework
SBGN 模型主要包括三個(gè)部分:
1)主題特征增強(qiáng)的話語(yǔ)編碼。說(shuō)話人級(jí)別的上下文編碼器將對(duì)話主題和行為信息與原始話語(yǔ)拼接,通過(guò)微調(diào)預(yù)訓(xùn)練模型RoBERTa 作為自編碼器得到情感增強(qiáng)的話語(yǔ)特征。
2)情緒與情感對(duì)稱學(xué)習(xí)。在情緒識(shí)別模型中,通過(guò)堆疊L層的圖網(wǎng)絡(luò)編碼對(duì)話上下文和說(shuō)話人信息得到輸出向量,拼接L層的隱層向量以及原始特征,然后通過(guò)前饋神經(jīng)網(wǎng)絡(luò)(Feed-Forward Neural network,F(xiàn)FN),最后經(jīng)過(guò)Softmax 層得到話語(yǔ)屬于每一類情緒標(biāo)簽的概率。在情感分類模型中,首先將增強(qiáng)特征輸給Bi-LSTM 模型,之后應(yīng)用線性變換,并通過(guò)Softmax 層得到情感標(biāo)簽結(jié)果。兩個(gè)任務(wù)共享底層特征,分別經(jīng)過(guò)不同的模型結(jié)構(gòu)進(jìn)一步編碼得到不同任務(wù)下的話語(yǔ)表征,最后進(jìn)行聯(lián)合優(yōu)化,在形式上形成“對(duì)稱”的兩部分。
3)情感與情緒的融合優(yōu)化。SBGN 模型通過(guò)調(diào)節(jié)損失調(diào)節(jié)因子平衡情感和情緒識(shí)別任務(wù)。
考慮到RoBERTa 強(qiáng)大的特征提取能力,本文通過(guò)微調(diào)RoBERTa 提取話語(yǔ)級(jí)的句子特征,在后續(xù)模型訓(xùn)練中凍結(jié)其參數(shù)。本文將對(duì)話主題和意圖作為數(shù)據(jù)增強(qiáng)映射到話語(yǔ)級(jí)別進(jìn)行特征重構(gòu)。結(jié)合DailyDialog 數(shù)據(jù)集標(biāo)注信息,本文選擇的對(duì)話主題包括{日常生活,學(xué)校生活,文化和教育,態(tài)度和情感,關(guān)系,旅游,健康,工作,政策/政治,經(jīng)濟(jì)}10 個(gè)類別,對(duì)話意圖 包括{通知(Inform),疑問(wèn)(Questions),建議(Directives),接受/拒絕(Commissive)}四個(gè)方面。
具體的,對(duì)話語(yǔ)ui,拼接其對(duì)應(yīng)的主題數(shù)據(jù)ti和意圖數(shù)據(jù)ai得到=ti⊕ai⊕ui={ti,ai,wi1,wi2,…,wini}。重構(gòu)以后數(shù)據(jù)的輸 入形式 為[CLS]ti,ai,wi1,wi2,…,wini[SEP],其中:[CLS]是用于分類的特殊符號(hào),[SEP]是令牌分隔符。
在下游微調(diào)分類任務(wù),將模型最后一層[CLS]的嵌入表示gi作為話語(yǔ)的特征表示,如式(3)所示:
在ERC 任務(wù)中,除了建模對(duì)話結(jié)構(gòu),如何有效地模擬說(shuō)話人的互動(dòng)也是一個(gè)難點(diǎn),除了需要捕捉當(dāng)前說(shuō)話人的自我影響之外,還需要考慮其他參與者狀態(tài)對(duì)他的影響。本文通過(guò)圖網(wǎng)絡(luò)建模會(huì)話信息流,并在建圖過(guò)程中模擬說(shuō)話人之間的交互進(jìn)行情緒識(shí)別。下面介紹圖網(wǎng)絡(luò)的構(gòu)建與學(xué)習(xí)過(guò)程。
3.2.1 對(duì)話圖構(gòu)建
本文將對(duì)話圖定義為G={V,ε,R,Ω},其中:V表示節(jié)點(diǎn)的集合;ε表示連接這些節(jié)點(diǎn)和邊的集合;Ω和R分別表示邊的權(quán)重和關(guān)系類型。下面介紹對(duì)話圖的構(gòu)建方法。
節(jié)點(diǎn):對(duì)話中的每一個(gè)話語(yǔ)作為節(jié)點(diǎn)vi∈V,第一層節(jié)點(diǎn)向量由前述提取話語(yǔ)特征gi初始化,堆疊L層圖網(wǎng)絡(luò)后節(jié)點(diǎn)表示更新為。
邊:考慮說(shuō)話人的自我影響和對(duì)話參與者的影響,本文構(gòu)建了兩種關(guān)系類型的邊。
1)自我影響。當(dāng)前說(shuō)話人的話語(yǔ)節(jié)點(diǎn)vi與他自身前一個(gè)直接話語(yǔ)節(jié)點(diǎn)之間連邊,即:?(j,i,rji)∈R。
2)說(shuō)話人之間的影響。當(dāng)前說(shuō)話人的話語(yǔ)節(jié)點(diǎn)vi與其他說(shuō)話人的直接話語(yǔ)節(jié)點(diǎn)相連,即:?(k,i,rki)∈R。
因此關(guān)系集合R={0,1},1 表示兩個(gè)連接的語(yǔ)句來(lái)自同一個(gè)說(shuō)話人,0 表示來(lái)自其他說(shuō)話人。
圖2 是構(gòu)建的對(duì)話圖的一個(gè)示例。對(duì)話中有5 句話{u1,u2,…,u5},u1、u3、u5由說(shuō)話人A 說(shuō)出,u2和u4來(lái)自說(shuō)話人B。對(duì)于節(jié)點(diǎn)v3,與它來(lái)自同一個(gè)說(shuō)話人的最近話語(yǔ)為v1,來(lái)自不同說(shuō)話人的最近話語(yǔ)為v2。由構(gòu)建邊的約束可知,節(jié)點(diǎn)v1和v2之間的邊e12∈ε表示不同說(shuō)話人之間的影響,節(jié)點(diǎn)v2和v3之間的邊e23∈ε表示自我影響。圖2 中說(shuō)話人之間的影響和自我影響分別用實(shí)線和虛線表示。
圖2 對(duì)話圖示例Fig.2 Sample dialogue diagram
邊權(quán)重:通過(guò)注意機(jī)制計(jì)算當(dāng)前節(jié)點(diǎn)與鄰居節(jié)點(diǎn)之間的權(quán)重。具體的,對(duì)于第l層的節(jié)點(diǎn)vi,通過(guò)它在l-1 層的隱狀態(tài)與l層的鄰居節(jié)點(diǎn)的隱狀態(tài)計(jì)算得到注意權(quán)重,如式(4)所示:
其中:Vi表示vi的鄰居節(jié)點(diǎn)集合;是可訓(xùn)練的權(quán)重參數(shù)矩陣;‖表示拼接操作。
3.2.2 圖表示學(xué)習(xí)
本文采用與文獻(xiàn)[16]中類似的方式聚合和更新節(jié)點(diǎn)信息,按照序列順序聚合每個(gè)節(jié)點(diǎn)的信息,并在同一層更新節(jié)點(diǎn)的狀態(tài),在傳播步驟中利用了GRU 的門控機(jī)制。由于構(gòu)建的對(duì)話圖是多關(guān)系圖,所以本文結(jié)合不同的關(guān)系類型并基于注意機(jī)制,對(duì)節(jié)點(diǎn)vi聚合鄰居節(jié)點(diǎn)信息,即隱含地考慮了不同的說(shuō)話人信息。第l層的節(jié)點(diǎn)聚合方式如式(5)所示:
其中:Vi為vi的鄰居節(jié)點(diǎn)集合表示不同關(guān)系的可訓(xùn)練參數(shù)。得到聚合信息后,通過(guò)GRU 集成來(lái)自其他節(jié)點(diǎn)和前一層的信息,得到當(dāng)前層每個(gè)節(jié)點(diǎn)更新的隱藏狀態(tài)向量在GRU 中,重置門r決定是否忽略先前的隱藏狀態(tài),更新門z決定是否更新隱藏狀態(tài)與新的隱藏狀態(tài)。計(jì)算過(guò)程如下:
其中:Wr、Wz、Wh、Ur、Uz、Uh是可訓(xùn)練的參數(shù)矩陣是經(jīng)過(guò)GRU 更新后的向量;σ是Sigmoid 激活函數(shù);⊙是哈達(dá)瑪積。
為了更好地學(xué)習(xí)上下文信息,本文使用另一個(gè)GRU 利用前一層的節(jié)點(diǎn)隱藏狀態(tài)控制當(dāng)前聚合信息的傳播。將與在GRU 的位置互換,計(jì)算得到上下文信息
將兩者相加作為節(jié)點(diǎn)在第l層最終表示
情感分類任務(wù)旨在通過(guò)判斷句子的情感極性輔助情緒識(shí)別。因此本文忽略情感分類模型中對(duì)說(shuō)話人的建模,簡(jiǎn)單地將其視為對(duì)話中話語(yǔ)的情感傾向分類,并通過(guò)不同情感分類網(wǎng)絡(luò)對(duì)比效果。首先,為了使特征更加適用于任務(wù),本文將提取的句子特征進(jìn)行線性變換,然后利用Bi-LSTM 模型編碼,得到一系列隱藏句子向量。即在每個(gè)時(shí)間步輸入對(duì)話中的一個(gè)話語(yǔ),將正向和反向最后一個(gè)隱藏向量拼接作為話語(yǔ)的最終表征si,然后進(jìn)行后續(xù)分類。
此外,在具體實(shí)驗(yàn)中,本文還對(duì)比了不同情感分類模型的效果,用多層感知機(jī)(Multi-Layer Perceptron,MLP)代替Bi-LSTM,然后通過(guò)Softmax 層進(jìn)行分類。
對(duì)于情緒分類任務(wù),本文將所有圖網(wǎng)絡(luò)層句子ui的隱藏狀態(tài)拼接作為話語(yǔ)的最終表示Hi,然后經(jīng)過(guò)一個(gè)全連接網(wǎng)絡(luò)和Softmax 層預(yù)測(cè)情緒標(biāo)簽。
對(duì)于情感分類任務(wù),將得到的話語(yǔ)向量經(jīng)過(guò)Dropout 層和Softmax 層進(jìn)行情感分類:
其中:Se和Ss分別表示情緒和情感標(biāo)簽集合。
由于模型分為細(xì)粒度的情緒分類和粗粒度的情感傾向分類兩個(gè)子任務(wù),所以需要同時(shí)優(yōu)化兩個(gè)任務(wù)的損失函數(shù),又由于兩個(gè)子任務(wù)都是多分類任務(wù),所以本文選用交叉熵作為損失函數(shù)。在實(shí)驗(yàn)中,將情緒識(shí)別視作主任務(wù),而情感分類作為輔助任務(wù),對(duì)整個(gè)模型進(jìn)行多目標(biāo)聯(lián)合訓(xùn)練。即將情感分類的損失作為懲罰構(gòu)建新的損失函數(shù),通過(guò)學(xué)習(xí)動(dòng)態(tài)尋找最優(yōu)的權(quán)重系數(shù)。損失函數(shù)定義如下:
其中:N表示對(duì)話總數(shù);Ni表示每個(gè)對(duì)話中的話語(yǔ)數(shù)目;λ為調(diào)節(jié)因子;γ1和γ2分別是情緒識(shí)別和情感分類的損失函數(shù)。最終的損失函數(shù)為兩者加權(quán)和。
本文使用的是公開(kāi)的DailyDialog 英文數(shù)據(jù)集,這是一個(gè)多輪的日常對(duì)話數(shù)據(jù)集,包含了人類的日常交流數(shù)據(jù),并標(biāo)注了對(duì)話主題和對(duì)話行為。情緒標(biāo)簽有7 類:中性、快樂(lè)、驚訝、悲傷、憤怒、厭惡和恐懼。對(duì)于情感標(biāo)簽,將“快樂(lè)”和“驚訝”標(biāo)注為“積極”,“中性”標(biāo)注為“無(wú)情感”,其他標(biāo)注為“消極”。本文對(duì)原始數(shù)據(jù)集采用標(biāo)準(zhǔn)分割方式,使用11 118 個(gè)對(duì)話進(jìn)行訓(xùn)練,1 000 個(gè)對(duì)話進(jìn)行驗(yàn)證,1 000 個(gè)對(duì)話進(jìn)行測(cè)試。訓(xùn)練集、驗(yàn)證集和測(cè)試集分別有87 170、8 069、7 740 個(gè)句子,每個(gè)對(duì)話大概有8 輪。
由于數(shù)據(jù)情緒類別不均衡,本文選擇不包括多數(shù)類(中性)的微平均F1(Micro-F1)作為情緒識(shí)別評(píng)價(jià)指標(biāo),宏平均F1(Macro-F1)作為情感分類的評(píng)價(jià)指標(biāo),根據(jù)真正性TP(True positives)、真負(fù)性TN(True Negatives)、假正性FP(False Positives)、假負(fù)性FN(False Negatives)計(jì)算:
其中:IF1是精確率P(Precision)與召回率R(Recall)的調(diào)和平均值;K為類別數(shù)。
通過(guò)驗(yàn)證集調(diào)整模型超參數(shù),包括學(xué)習(xí)率、批量大小、圖網(wǎng)絡(luò)層數(shù)、損失調(diào)節(jié)因子等。在RoBERTa 特征提取中,特征維度為1 024;對(duì)于情緒分類模型,GNN 隱藏層維度為300,層數(shù)為3,學(xué)習(xí)率為2× 10-5,丟棄率為0.3;對(duì)于情感分類模型,Bi-LSTM 模型為兩層,隱藏層維度為512,丟棄率為0.5,學(xué)習(xí)率為2× 10-5;MLP 隱藏層維度為256,丟棄率為0.2,學(xué)習(xí)率相同。對(duì)于損失調(diào)節(jié)因子,設(shè)置其取值范圍為[0.1,1],每次實(shí)驗(yàn)增加0.1,模型批量大小為64。本文實(shí)驗(yàn)使用Pytorch 框架,每個(gè)訓(xùn)練和測(cè)試過(guò)程都運(yùn)行在單個(gè)RTX 2080 Ti 上。
SBGN_Bi-LSTM 為本文提出的沒(méi)有經(jīng)過(guò)特征重構(gòu)的模型,通過(guò)圖網(wǎng)絡(luò)建模對(duì)話上下文,情感分類模塊選擇Bi-LSTM 模型,調(diào)整損失調(diào)節(jié)因子聯(lián)合優(yōu)化,取其中的最優(yōu)結(jié)果作為模型結(jié)果;SBGN_MLP 與SBGN_Bi-LSTM 模型的方法相同,情感分類模塊為MLP,調(diào)整損失調(diào)節(jié)因子聯(lián)合優(yōu)化并選擇最優(yōu)結(jié)果。
通過(guò)實(shí)驗(yàn)對(duì)比,SBGN_Bi-LSTM 的微平均F1 和宏平均F1為59.45%、67.50%;SBGN_MLP 的微平均F1 和宏平均F1 為59.22%、67.53%。因此選擇Bi-LSTM 作為SBGN 模型的情感分類模塊。
本文選用以下方法進(jìn)行對(duì)比分析。
1)MLP:利用MLP 作為分類器,情感分類和情緒識(shí)別分別訓(xùn)練一個(gè)模型。
2)DialogueGCN:以句子作為節(jié)點(diǎn)構(gòu)建對(duì)話圖,考慮說(shuō)話人之間的依賴和自我依賴,在對(duì)話圖中基于固定上下文窗口連接不同關(guān)系節(jié)點(diǎn),考慮過(guò)去信息的同時(shí)還考慮了未來(lái)信息,模型通過(guò)GCN 更新節(jié)點(diǎn)表示。
3)RGAT(Relation Graph Attention Network)[14]:以句子作為節(jié)點(diǎn),對(duì)不同說(shuō)話人基于關(guān)系位置編碼建模對(duì)話結(jié)構(gòu),基于圖注意網(wǎng)絡(luò)(Graph Attention Network,GAT)更新節(jié)點(diǎn),同時(shí)考慮過(guò)去和未來(lái)信息。
4)DAG-ERC:以句子作為節(jié)點(diǎn),通過(guò)有向無(wú)環(huán)圖建模對(duì)話上下文,結(jié)合注意力機(jī)制和不同說(shuō)話人收集信息更新句子節(jié)點(diǎn),只考慮歷史節(jié)點(diǎn)。
5)Bi-LSTM:預(yù)訓(xùn)練語(yǔ)言模型提取特征之后通過(guò)Bi-LSTM 層,然后通過(guò)線性層分類,情感分類和情緒識(shí)別分別訓(xùn)練一個(gè)模型。
6)Joint MLP(Joint Multi-Layer Perceptron):?jiǎn)螌覯LP 作為分類器,情緒和情感模型采用本文的權(quán)重調(diào)節(jié)方式聯(lián)合訓(xùn)練。
7)Joint LSTM(Joint Long Short-Term Memory Network):情緒和情感聯(lián)合訓(xùn)練模型,堆疊兩層單向LSTM,情感和情緒模型采用本文的權(quán)重調(diào)節(jié)方式聯(lián)合訓(xùn)練。
8)Joint Bi-LSTM(Joint Bidirectional Long Short-Term Memory network):情緒和情感聯(lián)合訓(xùn)練模型,堆疊兩層Bi-LSTM,情感和情緒模型采用本文權(quán)重調(diào)節(jié)方式聯(lián)合訓(xùn)練。
9)SBGN:本文提出的經(jīng)過(guò)特征重構(gòu)的模型,其中情緒識(shí)別任務(wù)選擇Bi-LSTM,調(diào)整損失調(diào)節(jié)因子聯(lián)合優(yōu)化,取最優(yōu)結(jié)果作為最終結(jié)果。
對(duì)比實(shí)驗(yàn)結(jié)果如表2 所示。微平均F1 和宏平均F1 分別為5 次實(shí)驗(yàn)取平均后情緒識(shí)別和情感分類的結(jié)果,調(diào)節(jié)因子選擇取平均后微平均F1 最好的值。
表2 與基準(zhǔn)模型的比較 單位:%Tab.2 Comparison with baseline models unit:%
由表2 可以看出:
1)相較于MLP、Bi-LSTM 模型,本文提出的SBGN 模型在情感分類結(jié)果上均有提升,說(shuō)明基于圖網(wǎng)絡(luò)的方法能夠更好地建模對(duì)話中的說(shuō)話人信息和上下文信息,有效傳遞對(duì)話歷史信息,對(duì)話中的情緒識(shí)別需要綜合考慮上下文信息和說(shuō)話人之間的依賴性。
2)聯(lián)合優(yōu)化模型Joint MLP、Joint LSTM、Joint Bi-LSTM 相較于兩個(gè)單任務(wù)模型MLP 和Bi-LSTM 效果均有所提升,說(shuō)明情感分類在一定程度上能夠輔助細(xì)粒度情緒識(shí)別任務(wù),反之情緒識(shí)別也能提高情感分類的效果,兩個(gè)任務(wù)正相關(guān),同時(shí)也證明了本文通過(guò)加權(quán)調(diào)節(jié)懲罰因子方法的有效性。
3)相較于基于GCN、GAT 等的模型,SBGN 模型的性能有一定提升。特別是在特征增強(qiáng)之后微平均F1 值提升較大,說(shuō)明主題信息和對(duì)話行為信息能夠彌補(bǔ)短文本表達(dá)信息有限的問(wèn)題,豐富文本表示。
4)相較于DialogueGCN 模型與目前較先進(jìn)的DAG-ERC模型,SBGN 的微平均F1 提高16.62 與14.81 個(gè)百分點(diǎn)。
5)情感分類整體的指標(biāo)高于情緒識(shí)別,這可能是由于情感分類的分類粒度比較粗、分類任務(wù)相對(duì)簡(jiǎn)單,模型更容易學(xué)習(xí),通過(guò)一些基礎(chǔ)的模型就可以達(dá)到較好的效果。
在以上的模型中,SBGN 模型獲得了最優(yōu)結(jié)果,說(shuō)明本文通過(guò)情感傾向分類任務(wù)輔助情緒識(shí)別的設(shè)想是正確的。通常一句話會(huì)有一個(gè)確定的整體情感傾向,而不同的情感傾向?qū)?yīng)不同的情緒類別,因此將兩者結(jié)合起來(lái)是一個(gè)值得探索的方向。未來(lái)本文將試圖通過(guò)注意機(jī)制等方式將兩個(gè)任務(wù)聯(lián)合建模。另一方面,融入對(duì)話主題信息和對(duì)話行為信息之后模型效果提升明顯,說(shuō)明對(duì)話主題和對(duì)話行為是對(duì)話情緒識(shí)別等任務(wù)中不可忽略的特征,也說(shuō)明豐富的背景信息能夠幫助分類。此外,實(shí)驗(yàn)結(jié)果也表明本文通過(guò)有向圖結(jié)構(gòu)建模對(duì)話圖符合實(shí)際的對(duì)話流,這種圖結(jié)構(gòu)可以在單個(gè)層中重復(fù)收集每個(gè)話語(yǔ)的前置信息,從而使包含較少層次的模型就能獲得遠(yuǎn)距離的歷史信息,并能處理不同說(shuō)話人之間的依賴。
本文考慮了幾種不同模型的組合,通過(guò)對(duì)比情緒分類最優(yōu)調(diào)節(jié)因子下的微平均F1 驗(yàn)證本文特征重構(gòu)以及聯(lián)合優(yōu)化方法的有效性。實(shí)驗(yàn)結(jié)果如表3 所示,設(shè)計(jì)了8 組實(shí)驗(yàn),對(duì)比各模型特征重構(gòu)前的基礎(chǔ)特征與重構(gòu)后的增強(qiáng)特征的差異。LSTM 模型是單向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò),與Bi-LSTM 方法類似;DAG-ERC 的重構(gòu)特征結(jié)果為按照作者提供代碼復(fù)現(xiàn)所得。
表3 不同特征下的結(jié)果對(duì)比 單位:%Tab.3 Comparison of results under different features unit:%
分析表3 可以看出:
1)與沒(méi)有進(jìn)行特征重構(gòu)的模型的基礎(chǔ)特征結(jié)果相比,所有重構(gòu)后的模型的性能都獲得明顯提升。因?yàn)镈ailyDialog數(shù)據(jù)集中的文本大多較短,平均每句話長(zhǎng)度為14.6 個(gè)詞,所以通過(guò)嵌入外部信息一定程度上能夠豐富句子的表達(dá),提取更多文本特征。這也說(shuō)明對(duì)話中的情緒與對(duì)話中的主題和對(duì)話意圖存在一定的關(guān)聯(lián)性。這一定程度上說(shuō)明用與對(duì)話相關(guān)的信息擴(kuò)充特性可以帶來(lái)明顯的性能改進(jìn),不一定需要建模更復(fù)雜的模型。
2)聯(lián)合優(yōu)化模型在進(jìn)行特征重構(gòu)后依然優(yōu)于單任務(wù)模型,說(shuō)明情感和情緒相互關(guān)聯(lián),通過(guò)情感分類能夠幫助提升情緒識(shí)別性能。而對(duì)于對(duì)話中的情感分類,MLP 模型與LSTM 模型特別是Bi-LSTM 效果差別不大,總體上Bi-LSTM模型略優(yōu)。
另外,通過(guò)RoBERTa 提取特征之后,通過(guò)全連接網(wǎng)絡(luò)這樣的簡(jiǎn)單網(wǎng)絡(luò)編碼進(jìn)行句子分類的效果與Bi-LSTM 效果區(qū)別不大,也側(cè)面說(shuō)明了預(yù)訓(xùn)練語(yǔ)言模型強(qiáng)大的特征提取能力,只需要簡(jiǎn)單的線性變換和全連接網(wǎng)絡(luò)即可得到很好的分類結(jié)果。
此外,本文對(duì)比了兩種模型在不同損失調(diào)節(jié)因子下的結(jié)果,如圖3 所示。圖3(a)為沒(méi)有重構(gòu)特征時(shí)的SBGN_MLP 和SBGN_Bi-LSTM 模型情緒分類的Micro-F1 值;圖3(b)展示了嵌入主題和意圖信息之后對(duì)應(yīng)的Micro-F1 結(jié)果。
分析圖3(a)可以看到,SBGN_MLP 模型性能隨著損失調(diào)節(jié)因子改變有所上升,但是變化不大,說(shuō)明MLP 網(wǎng)絡(luò)比較簡(jiǎn)單,性能趨于穩(wěn)定。而SBGN_Bi-LSTM 模型變化幅度較大,除了存在一定的隨機(jī)性之外,與模型結(jié)構(gòu)也存在一定關(guān)系,Bi-LSTM 能更好地建模對(duì)話中的序列關(guān)系,性能提升明顯。另外,本文推測(cè)也與對(duì)話數(shù)據(jù)有關(guān),模型容易受數(shù)據(jù)質(zhì)量影響。當(dāng)SBGN_Bi-LSTM 模型在損失調(diào)節(jié)因子λ=0.5 時(shí)獲得了最優(yōu)結(jié)果,SBGN_MLP 模型在λ=0.9 時(shí)獲得最佳結(jié)果。這可能是由于MLP 模型需要更多的情感分類“知識(shí)”來(lái)輔助情緒識(shí)別。相比之下,Bi-LSTM 模型更加復(fù)雜,在少量外部信息的情況下即可獲得較好的結(jié)果,權(quán)重過(guò)大反而會(huì)損失模型性能。
從圖3(b)可以看出,當(dāng)輸入增強(qiáng)后的特征時(shí),SBGN_MLP 模型的最優(yōu)調(diào)節(jié)因子變小,SBGN_Bi-LSTM 模型也有所減小,兩者的最優(yōu)結(jié)果相差不大。說(shuō)明通過(guò)特征重構(gòu)嵌入主題信息和意圖信息能豐富句子特征,在較少外部信息輔助時(shí),情緒識(shí)別模型可獲得更好的分類結(jié)果;也說(shuō)明當(dāng)提取的特征比較豐富時(shí),通過(guò)較簡(jiǎn)單的模型也能獲得比較好的結(jié)果。這也啟發(fā)我們盡可能地提取文本的特征,借助外部知識(shí)庫(kù)豐富文本信息也是一個(gè)值得探索的方向。
圖3 損失調(diào)節(jié)因子對(duì)比Fig.3 Comparison of loss adjustment factor
本文對(duì)比了SBGN、SBGN_MLP、SBGN_Bi-LSTM 與DAG模型的計(jì)算時(shí)間消耗情況,如表4 所示所有模型選擇最優(yōu)調(diào)節(jié)因子下,5 次實(shí)驗(yàn)的平均1 個(gè)epoch 的結(jié)果??梢钥闯?,聯(lián)合優(yōu)化模型的運(yùn)行時(shí)間都高于單一的DAG-ERC 模型,并且主要與圖網(wǎng)絡(luò)有關(guān)。因?yàn)槟P蛷?fù)雜度主要與圖網(wǎng)絡(luò)層數(shù)L和對(duì)話長(zhǎng)度N有關(guān),通常網(wǎng)絡(luò)層數(shù)越深、對(duì)話規(guī)模越大,復(fù)雜度越高。而B(niǎo)i-LSTM 比MLP 復(fù)雜,所以SBGN_Bi-LSTM 模型的運(yùn)行時(shí)間高于SBGN_MLP 模型。由于特征已經(jīng)固定,輸入維度一致,所以重構(gòu)特征前后模型運(yùn)行時(shí)間基本一致。雖然本文提出的聯(lián)合模型SBGN 時(shí)間消耗略高,但是F1 指標(biāo)更優(yōu)。后續(xù)將探索如何在保證算法有效的同時(shí)提高效率。
表4 不同模型的運(yùn)行時(shí)間比較 單位:sTab.4 Comparison of running time among different models unit:s
本文提出了一種情感增強(qiáng)的圖網(wǎng)絡(luò)對(duì)話情緒分析模型(SBGN),通過(guò)圖結(jié)構(gòu)建模對(duì)話上下文和說(shuō)話人的依賴關(guān)系,并與情感傾向分類聯(lián)合優(yōu)化。針對(duì)文本較短問(wèn)題以及對(duì)話數(shù)據(jù)特點(diǎn),本文在特征提取階段融入對(duì)話主題和對(duì)話意圖信息豐富短文本表示。實(shí)驗(yàn)結(jié)果表明,SBGN 模型取得了較好的性能。此外,還可以得出幾個(gè)結(jié)論:首先,基于對(duì)話上下文和說(shuō)話人依賴的對(duì)話圖結(jié)構(gòu)能有效建模對(duì)話信息流,從較遠(yuǎn)的話語(yǔ)中獲取更多的信息;其次,情感和情緒是密切相關(guān)的,通過(guò)情感分類所獲得的信息能幫助情緒識(shí)別;最后,對(duì)話主題信息和意圖信息能夠輔助情緒識(shí)別,緩解短文本表達(dá)能力有限的問(wèn)題。未來(lái),我們將探索如何在模型中更好地建模對(duì)話情感與情緒之間的交互,如應(yīng)用注意力機(jī)制等,并考慮引入外部知識(shí)庫(kù)、情感詞典等輔助分類。