楊璐嫻,何 慶
(貴州大學(xué)大數(shù)據(jù)與信息工程學(xué)院,貴陽(yáng) 550025)
隨著大數(shù)據(jù)時(shí)代的到來(lái),以互聯(lián)網(wǎng)為基礎(chǔ)的智能化設(shè)備逐漸進(jìn)入人類日常生活中的各個(gè)領(lǐng)域,用戶對(duì)于人機(jī)交互的需求日益增多,解決人機(jī)交互困境成為研究熱點(diǎn)。 同時(shí),互聯(lián)網(wǎng)的發(fā)展極大地提高了人類通信交流的效率,降低了溝通成本,豐富了互聯(lián)網(wǎng)用戶通信方式和溝通渠道。 人類社交方式逐漸多元化,社交平臺(tái)的迅速崛起為人類提供便利,也為人工智能技術(shù)的發(fā)展提供了海量的研究數(shù)據(jù),對(duì)話場(chǎng)景下的情感分析研究應(yīng)運(yùn)而生[1]。
對(duì)話情感分析作為自然語(yǔ)言處理的新研究方向[2],由于其廣泛的應(yīng)用場(chǎng)景而受到研究人員的廣泛關(guān)注,該任務(wù)旨在通過(guò)理解人類在對(duì)話中表達(dá)情緒的方式,結(jié)合對(duì)話內(nèi)容及對(duì)話者信息,識(shí)別對(duì)話中的每一個(gè)語(yǔ)句的情感分類[3],對(duì)提升人機(jī)交互系統(tǒng)的用戶體驗(yàn)具有重要的研究意義,也是人工智能領(lǐng)域的一個(gè)重要研究方向。 對(duì)話情感分析不僅在各種社交媒體上具有極高的應(yīng)用價(jià)值,在輿情分析[4]、虛假信息檢測(cè)[5]、對(duì)話系統(tǒng)[6]和智能客服[7]等領(lǐng)域也得到了廣泛的應(yīng)用。 對(duì)話是人類最基本的交流方式,具有明顯的不連貫性和弱邏輯性,區(qū)別于篇章級(jí)的文本情感分析,對(duì)話文本的信息往往語(yǔ)言不連續(xù)且存在較大的跳躍性。 對(duì)話情感分析與其余的文本情感分析任務(wù)本質(zhì)上的區(qū)別在于信息的交互性。 對(duì)話信息的獲取依賴于對(duì)話語(yǔ)句發(fā)生的時(shí)序性、對(duì)話中的歷史信息,對(duì)于多方多輪次的對(duì)話文本,對(duì)話信息還依賴于對(duì)話者信息及其對(duì)應(yīng)語(yǔ)句發(fā)生的輪次等。 因此,在對(duì)話的交互過(guò)程中,需要建模對(duì)話中的語(yǔ)句上下文語(yǔ)境,改變了情感分析模型的基本建??蚣埽o情感分析任務(wù)帶來(lái)了極大的挑戰(zhàn)[8]。
對(duì)話場(chǎng)景下的語(yǔ)句情感判定具有復(fù)雜性。 對(duì)話示例如圖1 所示,該對(duì)話是在2019年公開的數(shù)據(jù)集MELD[9]中選取的一個(gè)3 方6 輪對(duì)話文本。 對(duì)話者Chandler 的第二句話“真孩子氣”在一般情況下會(huì)被判定為“憤怒”,但是在該場(chǎng)景中這句話實(shí)際上表達(dá)了對(duì)話者“悲傷”的情緒。 由此可見,在不同對(duì)話場(chǎng)景下語(yǔ)句所表達(dá)的情感是復(fù)雜且多樣的,與對(duì)話內(nèi)容的歷史信息、上下文語(yǔ)境、對(duì)話者情感狀態(tài)及情緒變化等信息有極高的關(guān)聯(lián)度。 因此,如何準(zhǔn)確地捕捉對(duì)話過(guò)程中的上下文信息、語(yǔ)句情感信息以及與之相關(guān)聯(lián)的對(duì)話者信息是本文的研究重點(diǎn)。
圖1 對(duì)話示例Fig. 1 Examples of conversation
在目前的對(duì)話情感分析任務(wù)模型中,主流研究模型幾乎都需要對(duì)對(duì)話的上下文依賴信息進(jìn)行建模,之前的工作已經(jīng)提出了許多模型用于對(duì)上下文依賴信息建模,包括記憶網(wǎng)絡(luò)[10]、遞歸神經(jīng)網(wǎng)絡(luò)[11]等模型,這些實(shí)驗(yàn)都取得了令人滿意的效果,但是由于受到網(wǎng)絡(luò)存儲(chǔ)容量限制,導(dǎo)致遠(yuǎn)距離上下文信息丟失,難以有效傳入當(dāng)前對(duì)話中。 此外,人類情緒具有惰性和干擾性兩種特性。 其中,情緒惰性是指在沒(méi)有外界干擾的情況下,對(duì)話者自身的情緒會(huì)長(zhǎng)期保持在同一個(gè)狀態(tài)下;情緒的干擾性是指對(duì)話者保持在一個(gè)情緒狀態(tài)時(shí),由于其他對(duì)話人的話語(yǔ)刺激,激發(fā)了對(duì)話者的情緒變化。 因此,還需要充分考慮對(duì)話者信息以便建模對(duì)話者之間的情緒交互。
針對(duì)上述問(wèn)題,本文提出了一種基于對(duì)話者語(yǔ)句交互圖神經(jīng)網(wǎng)絡(luò)的對(duì)話情感分析模型。
(1)通過(guò)微調(diào)RoBERTa 預(yù)訓(xùn)練語(yǔ)言模型提取語(yǔ)句特征,引入Bi-GRU 建模對(duì)話文本序列上下文特征。
(2)通過(guò)圖神經(jīng)網(wǎng)絡(luò)建模對(duì)話上下文,并引入不同類型的有向邊和對(duì)話者節(jié)點(diǎn)建模對(duì)話者及其語(yǔ)句交互信息。
(3)在MELD 公開數(shù)據(jù)集上進(jìn)行大量實(shí)驗(yàn),驗(yàn)證了本文方法的有效性。
對(duì)話場(chǎng)景下的文本情感分析作為一個(gè)具體問(wèn)題場(chǎng)景,其研究歷史較之其他文本情感分析問(wèn)題的研究較短。 目前,對(duì)話情感分析的方法主要采用基于深度學(xué)習(xí)和基于圖神經(jīng)網(wǎng)絡(luò)的方法。 對(duì)話情感分析任務(wù)在前期側(cè)重于先建模對(duì)話中語(yǔ)句的上下文依賴關(guān)系,Poria 等學(xué)者[12]提出了一種基于LSTM 的上下文信息提取模型,用于視頻模態(tài)的情感識(shí)別任務(wù)。Zahiri 等學(xué)者[13]提出一種用于對(duì)話文本的序列的卷積神經(jīng)網(wǎng)絡(luò)模型。 Hazarika 等學(xué)者[10]引入對(duì)話記憶網(wǎng)絡(luò),將每一位對(duì)話者的歷史語(yǔ)句信息融入記憶網(wǎng)絡(luò),建模對(duì)話者之間的交互關(guān)系。 Majumder 等學(xué)者[14]利用GRU 建模對(duì)話序列信息、對(duì)話者和傾聽者的情緒交互狀態(tài),再引入注意力機(jī)制捕捉長(zhǎng)距離歷史信息。 由于近幾年圖神經(jīng)網(wǎng)絡(luò)方法在建模結(jié)構(gòu)化數(shù)據(jù)中取得的巨大進(jìn)展,將圖神經(jīng)網(wǎng)絡(luò)方法應(yīng)用于對(duì)話場(chǎng)景下的情感分析任務(wù)也逐漸成為研究熱點(diǎn)。 Zhang 等學(xué)者[15]通過(guò)連接語(yǔ)句節(jié)點(diǎn)之間無(wú)向邊和對(duì)話者語(yǔ)句間的無(wú)向邊建模上下文依賴和對(duì)話者情感依賴信息,提出多方對(duì)話中的情感分析方法。Hu 等學(xué)者[16]利用圖卷積神經(jīng)網(wǎng)絡(luò)融合對(duì)話者內(nèi)部信息和多模態(tài)對(duì)話數(shù)據(jù),并取得較好的效果。
綜上,雖然基于深度學(xué)習(xí)方法在對(duì)于對(duì)話語(yǔ)言順序建模上有較好的適應(yīng)能力。 但是,對(duì)于參與者較多、對(duì)話篇幅較長(zhǎng)的多方多輪對(duì)話中,深度學(xué)習(xí)方法的網(wǎng)絡(luò)結(jié)構(gòu)變得復(fù)雜,難以保留遠(yuǎn)距離歷史信息。利用圖神經(jīng)網(wǎng)絡(luò)對(duì)多輪對(duì)話進(jìn)行建模具有更強(qiáng)的可解釋性,可以更好地解決這一問(wèn)題。
一個(gè)完整的對(duì)話由多個(gè)語(yǔ)句組成,在對(duì)話情感分析任務(wù)中,給定的對(duì)話文本U =u1,u2,…,un,其中ui表示對(duì)話U中的第i句話,n表示語(yǔ)句個(gè)數(shù)。 對(duì)于多方對(duì)話文本,每個(gè)語(yǔ)句所對(duì)應(yīng)的說(shuō)話人表示為p(ui) ∈P,P =p1,p2,…,pm,m表示說(shuō)話人個(gè)數(shù)。對(duì)話文本的情感分析任務(wù)目的在于預(yù)測(cè)對(duì)話中每個(gè)獨(dú)立語(yǔ)句ui的情緒標(biāo)簽。 參見圖1 的簡(jiǎn)單對(duì)話示例,對(duì)話中的第6 句話:“真是膽小鬼!”,僅關(guān)注句子本身很難識(shí)別說(shuō)話人真實(shí)的情緒,對(duì)話情感分析依賴于對(duì)話發(fā)生的順序、對(duì)話上下文語(yǔ)境以及對(duì)話者人信息等。 本文模型框架如圖2 所示。
圖2 模型框架Fig. 2 Framework of the model
對(duì)于對(duì)話語(yǔ)句的特征表示,本文通過(guò)微調(diào)RoBERTa 預(yù)訓(xùn)練語(yǔ)言模型將對(duì)話文本序列轉(zhuǎn)換為詞向量形式。 為便于訓(xùn)練和微調(diào),本文將對(duì)話語(yǔ)句ui定義為“[CLS],”作為模型中對(duì)話語(yǔ)句的輸入。 數(shù)學(xué)表達(dá)式如下所示:
對(duì)于對(duì)話者特征表示,本文將訓(xùn)練集中一個(gè)對(duì)話者所說(shuō)的所有語(yǔ)句特征的平均值設(shè)為該對(duì)話者的特征表示。 在進(jìn)行實(shí)驗(yàn)時(shí),若某對(duì)話者只出現(xiàn)在測(cè)試集中,則將測(cè)試集中該對(duì)話者所說(shuō)的所有語(yǔ)句特征平均值設(shè)置為該對(duì)話者特征表示。
對(duì)話的進(jìn)行是連續(xù)且有序的,上下文信息會(huì)根據(jù)對(duì)話順序流動(dòng),所以對(duì)話的語(yǔ)句順序上下文信息是對(duì)話中的重要特征。 GRU 是RNN 的一種變體,相較于RNN,保留了長(zhǎng)期序列信息,并且減少了梯度消失的問(wèn)題,但由于GRU 無(wú)法編碼從后往前的依賴信息,造成對(duì)話信息缺失,因此引入Bi-GRU 來(lái)生成文本的序列上下文特征,其數(shù)學(xué)模型如下:
2.3.1 對(duì)話圖構(gòu)建
本文,將對(duì)話圖定義為G ={Vg,Vs,ε,R},其中Vg ={g1,g2,…,gn} 表示對(duì)話中的語(yǔ)句節(jié)點(diǎn),Vs ={p1,p2,…,pm} 表示對(duì)話者節(jié)點(diǎn),ε表示連接這些節(jié)點(diǎn)和邊的信息集合,R ={r1,r2,r3} 表示邊的關(guān)系類型。 考慮到多方對(duì)話中多名不同對(duì)話者之間的情緒交互影響,本文將邊關(guān)系類型定為3 種:
(1)同一對(duì)話者說(shuō)出的不同語(yǔ)句節(jié)點(diǎn)間的邊為r1;
(2)不同對(duì)話者說(shuō)出的語(yǔ)句節(jié)點(diǎn)之間的邊為r2;
(3)每個(gè)語(yǔ)句節(jié)點(diǎn)與其對(duì)應(yīng)的對(duì)話者節(jié)點(diǎn)之間的邊為r3。
由于對(duì)話的進(jìn)行具有時(shí)序性,對(duì)話中已發(fā)生的語(yǔ)句可以對(duì)對(duì)話者的情緒產(chǎn)生影響,繼而影響即將發(fā)生的語(yǔ)句情感,反之,未發(fā)生的語(yǔ)句卻不能影響已發(fā)生的語(yǔ)句情感。 因此,r1和r2是有向邊,根據(jù)對(duì)話發(fā)生順序模擬對(duì)話中的時(shí)間關(guān)系。r3為無(wú)向邊,用于傳遞整個(gè)對(duì)話中語(yǔ)句與其對(duì)應(yīng)的對(duì)話者信息。
圖3 是根據(jù)圖1 構(gòu)建的對(duì)話者語(yǔ)句交互圖示例。對(duì)話中有6 個(gè)語(yǔ)句{g1,g2,…,g6},3 個(gè)對(duì)話者{p1,p2,p3},其中g(shù)1、g2、g6來(lái)自對(duì)話者p1,g3、g5來(lái)自對(duì)話者p2,g4來(lái)自對(duì)話者p3。 圖3 中的有向虛線、即r1,有向?qū)嵕€、即r2,無(wú)向?qū)嵕€、即r3。
圖3 對(duì)話者語(yǔ)句交互圖示例Fig. 3 Sample of Speaker utterance interaction graph
2.3.2 SUDG 層
SUDG 模型是一個(gè)異構(gòu)有向圖神經(jīng)網(wǎng)絡(luò),有2種不同的節(jié)點(diǎn),因此需要2 種不同的信息傳播方法。對(duì)于語(yǔ)句節(jié)點(diǎn)Vg需要考慮對(duì)話序列上下文信息和對(duì)話者信息,而對(duì)于對(duì)話者節(jié)點(diǎn)Vs只需要考慮其對(duì)應(yīng)的語(yǔ)句。 因此鄰接矩陣A也需要分為不同模塊:
其中,A∈R(n+m)?(n+m);Ag表示語(yǔ)句之間的邊;As表示對(duì)話者節(jié)點(diǎn)與其語(yǔ)句之間的邊;O是0 矩陣。 同時(shí),定義語(yǔ)句節(jié)點(diǎn)的特征矩陣為,對(duì)話者節(jié)點(diǎn)的特征矩陣為。
對(duì)話信息根據(jù)語(yǔ)句順序傳遞,語(yǔ)句節(jié)點(diǎn)要聚合相鄰節(jié)點(diǎn)信息和邊關(guān)系類型信息,而SUDG 構(gòu)建的對(duì)話圖是多關(guān)系圖,語(yǔ)句節(jié)點(diǎn)間的邊關(guān)系類型有r1和r2兩種,因此本文引入基于不同關(guān)系的圖注意力機(jī)制計(jì)算注意力權(quán)重。 對(duì)于節(jié)點(diǎn)Vgi通過(guò)節(jié)點(diǎn)在l層的隱層特征和邊關(guān)系特征計(jì)算得到注意力權(quán)重,數(shù)學(xué)模型如下:
語(yǔ)句節(jié)點(diǎn)在l +1 層的最終表示如式(8)所示:
給定對(duì)話者的所有語(yǔ)句的聚合特征可以通過(guò)鄰接矩陣As計(jì)算:
融合對(duì)話者信息的對(duì)話語(yǔ)句的特征表示如下:
2.3.3 情感分類
本文將所有圖網(wǎng)絡(luò)層的對(duì)話語(yǔ)句隱藏層狀態(tài)拼接作為對(duì)話語(yǔ)句的最終表示,通過(guò)一個(gè)全連接層和softmax層即可預(yù)測(cè)對(duì)話語(yǔ)句的情緒標(biāo)簽,數(shù)學(xué)模型如下:
其中,S表示情緒標(biāo)簽合集。
本文使用標(biāo)準(zhǔn)交叉熵作為損失函數(shù):
本文使用的是2019年公開的英文數(shù)據(jù)集MELD[9]。 MELD 來(lái)自于美劇《老友記》部分內(nèi)容片段,包含1 433 段對(duì)話,超過(guò)13 000 句話,每句話都被標(biāo)注了情緒標(biāo)簽,標(biāo)簽分為中性、憤怒、厭惡、高興、恐懼、悲傷和驚訝7 種情緒分類。 MELD 是一個(gè)包含多名對(duì)話者的多模態(tài)數(shù)據(jù)集,本文只關(guān)注于文本模態(tài)數(shù)據(jù),數(shù)據(jù)集具體內(nèi)容見表1。
表1 數(shù)據(jù)集參數(shù)Tab. 1 Parameters of datasets
在驗(yàn)證實(shí)驗(yàn)中,為了衡量模型對(duì)所有標(biāo)簽的分類精確度和有效性,本文使用宏平均F1分?jǐn)?shù)作為評(píng)價(jià)指標(biāo)。
本文實(shí)驗(yàn)在型號(hào)為NVIDA GTX 3090 的GPU服務(wù)器上進(jìn)行,使用Intel(R) Core(TM) i5-7500 處理器,內(nèi)存大小為8 GB,選用版本號(hào)為Ubuntu 18.04.3 LTS 的Linux 操作系統(tǒng),模型是基于PyTorch 深度學(xué)習(xí)框架搭建。 模型在訓(xùn)練的過(guò)程中采用Adam優(yōu)化器來(lái)優(yōu)化模型參數(shù),通過(guò)驗(yàn)證集調(diào)整超參數(shù),學(xué)習(xí)率為1×10-5,丟失率為0.3,批量大小為32。
本文選用以下模型進(jìn)行對(duì)比分析:
(1)KET[17]:使用一個(gè)外部知識(shí)網(wǎng)絡(luò)增強(qiáng)語(yǔ)句信息,再結(jié)合上下文感知情感圖注意力機(jī)制動(dòng)態(tài)的增強(qiáng)上下文信息,以增強(qiáng)情感分類的性能。
(2)DialogueRNN[14]:使用GRU 建模對(duì)話者狀態(tài)和全局上下文信息,聚合對(duì)話者的情緒狀態(tài),建模對(duì)話者間的關(guān)系,可應(yīng)用于多方對(duì)話場(chǎng)景。
(3)DialogueGCN[18]:使用GCN 增強(qiáng)上下文信息,以句子為節(jié)點(diǎn),對(duì)話圖中基于固定上下文窗口連接不同關(guān)系節(jié)點(diǎn),提出句子和對(duì)話者之間的有8 種關(guān)系類型,同時(shí)考慮歷史信息和未來(lái)信息。
(4)DAG-ERC[19]:通過(guò)有向無(wú)環(huán)圖建模對(duì)話上下文,對(duì)話圖以邊關(guān)系類型建模對(duì)話者與句子關(guān)系,只關(guān)注歷史信息。
(5)RGAT[20]:對(duì)不同對(duì)話者關(guān)系位置編碼建模對(duì)話結(jié)構(gòu),使用圖注意力網(wǎng)絡(luò)更新節(jié)點(diǎn),同時(shí)考慮歷史信息和未來(lái)信息。
(6)ICON[21]:使用記憶網(wǎng)絡(luò)儲(chǔ)存對(duì)話者情感信息和全局狀態(tài)信息,是一個(gè)多模態(tài)情感檢測(cè)框架。
在MELD 數(shù)據(jù)集上的情感分析實(shí)驗(yàn)結(jié)果見表2。
表2 不同模型結(jié)果對(duì)比Tab. 2 Comparison with others model
根據(jù)表2 可知,在MELD 數(shù)據(jù)集上,SUDG 與ICON 模型相比F1值提高了10.11%,提升效果最佳,說(shuō)明SUDG 更適用于文本特征任務(wù)。 與使用RNN 和GCN 的模型相比F1值分別提高了7.73%和6.66%,說(shuō)明在多方多輪對(duì)話語(yǔ)境中,過(guò)于復(fù)雜的模型反而會(huì)因?yàn)橛?jì)算量龐大,導(dǎo)致上下文信息部分丟失,影響分類效果。 與KET 模型和RGAT 模型相比,F(xiàn)1值提高了6.58%和3.85%,說(shuō)明基于圖網(wǎng)絡(luò)的方法能更好地建模對(duì)話上下文信息,高效的傳遞對(duì)話歷史信息。 與DAG-ERC 模型相比,F(xiàn)1值提高了1.11%,說(shuō)明加入語(yǔ)句對(duì)話者信息能豐富對(duì)話中的上下文語(yǔ)境信息,同時(shí)證明了本文在圖網(wǎng)絡(luò)中加入語(yǔ)句對(duì)話者節(jié)點(diǎn)構(gòu)圖策略的有效性。
為了驗(yàn)證各個(gè)組件對(duì)模型的影響,本文進(jìn)行了消融實(shí)驗(yàn),具體內(nèi)容如下:
(1)SUDG/R:移除序列上下文編碼部分和對(duì)話者交互有向圖模型。
(2)SUDG/C:僅移除序列上下文編碼部分,其他層保持不變。
(3)SUDG/H:僅移除對(duì)話者交互有向圖模型,其他層保持不變。
(4)SUDG/S:移除對(duì)話者交互有向圖模型中所有的對(duì)話者節(jié)點(diǎn),引入一個(gè)隨機(jī)初始化的全局節(jié)點(diǎn)代替原始對(duì)話者節(jié)點(diǎn)的位置,同時(shí)全局節(jié)點(diǎn)連接所有語(yǔ)句節(jié)點(diǎn),用以驗(yàn)證融合對(duì)話者與對(duì)應(yīng)語(yǔ)句關(guān)系信息的有效性,其他層保持不變。
消融實(shí)驗(yàn)結(jié)果對(duì)比見表3。 根據(jù)表3 可知,相比于只使用了RoBERTa 語(yǔ)言模型的SUDG /R 而言,SUDG /H 和SUDG /C 的F1值分別提高了5.89%和11.55%,說(shuō)明在多輪對(duì)話中語(yǔ)句情感對(duì)上下文信息依賴性強(qiáng),將對(duì)話上下文信息進(jìn)行順序建模可以大幅度提高模型情感分類效果,并且基于圖神經(jīng)網(wǎng)絡(luò)的方法能更有效地傳遞對(duì)話歷史信息。 相比于將對(duì)話者節(jié)點(diǎn)全部替換為全局節(jié)點(diǎn)的SUDG/S模型,SUDG 的F1值提高了1.60%,說(shuō)明對(duì)話者節(jié)點(diǎn)與其對(duì)應(yīng)語(yǔ)句連接可以有效提升模型對(duì)語(yǔ)句信息的提取,降低引入冗余信息的概率,提高模型情感分類準(zhǔn)確率。 SUDG 整體性能表現(xiàn)最佳,表現(xiàn)出全方位性能的顯著提升,展示不同模型間的協(xié)同互補(bǔ)。
表3 消融實(shí)驗(yàn)結(jié)果對(duì)比Tab. 3 Results of ablation experiments
本文提出一種基于對(duì)話者交互圖神經(jīng)網(wǎng)絡(luò)的對(duì)話情感分析模型(SUDG)。 利用RoBERTa 預(yù)訓(xùn)練語(yǔ)言模型提取文本特征;針對(duì)多輪多方對(duì)話文本中語(yǔ)句情感對(duì)語(yǔ)句序列的高依賴性,結(jié)合Bi-GRU 將對(duì)話語(yǔ)句進(jìn)行序列上下文編碼;通過(guò)圖結(jié)構(gòu)建模對(duì)話上下文依賴關(guān)系,引入對(duì)話者信息節(jié)點(diǎn),連接對(duì)話者節(jié)點(diǎn)及其對(duì)應(yīng)語(yǔ)句,以提高對(duì)話情感分析中的上下文信息理解能力,傳遞遠(yuǎn)距離歷史信息,減少冗余信息的引入,提高模型情感分類準(zhǔn)確率。 實(shí)驗(yàn)結(jié)果表明了SUDG 模型的有效性,在MELD 數(shù)據(jù)集上與其他模型相比,該模型在對(duì)話情感分析中表現(xiàn)出良好的分類效果。 本文關(guān)注了對(duì)話者信息對(duì)語(yǔ)句情感的增強(qiáng)作用,未來(lái)將探索如何引入外部知識(shí)庫(kù)增強(qiáng)語(yǔ)句情感信息。