林鴻輝,劉建華,鄭智雄,胡任遠,羅逸軒
1.福建工程學院 計算機科學與數(shù)學學院(原信息科學與工程學院),福州 350118
2.福建省大數(shù)據(jù)挖掘與應用技術重點實驗室,福州 350118
情感分類(sentiment classification)與對話行為識別(dialog act recognition)是兩個相聯(lián)的任務。情感分類任務是將每條語句添加上標簽,表示出說話者的隱藏意圖;對話行為識別任務同樣是對語句添加標簽,來表示出說話者的顯示意圖。具體地來說,情感分類任務是將一系列的語句(u1,u2,…,uN)添加上與之對應的情感標簽(y1s,y2s,…,yNs),其中N代表對話中的語句數(shù)量。同樣地,對話行為分析任務也是對一系列語句預測的分類任務,有對話行為標簽(y1d,y2d,…,yNd)。
在對話系統(tǒng)中,有兩個關鍵的因素影響著情感分類與對話行為識別兩個任務,一是跨任務的交互信息,二是語句的上下文信息[1]。例如,圖1展示的對話取自于Mastodon公開數(shù)據(jù)集中的一段對話,其中虛線表示的箭頭為跨任務交互信息,實線箭頭表示為上下文信息。說話者A的對話行為是陳述,而情感為積極。現(xiàn)在,假若要對說話者B所說的語句情感預測,由于說話者A與B正在進行對話,而說話者B的對話行為是贊同,那么說話者B的情感有更大的概率也同為積極情感。這意味著上下文信息與跨任務交互信息對預測標簽來說都是至關重要的。所以,將情感分類任務與對話行為識別任務聯(lián)合訓練是非常必要的。
圖1 Mastodon數(shù)據(jù)集中的對話示例Fig.1 Sample conversations in Mastodon dataset
近年來,研究者們利用跨任務交互信息與上下文信息協(xié)同,提出了不同模型方法,其主要有三種模型,如圖2所示的。第一種模型只利用了跨任務交互信息的模型,如圖2(a)所示。例如,Cerisara等人[2]為了利用跨任務交互信息,提出了JointDAS模型聯(lián)合訓練情感分類任務以及對話行為識別任務,該模型的輸入為詞嵌入序列,該模型共有兩層,第一層使用BiLSTM生成包含上下文信息向量;第二層為標準RNN,并將RNN的輸出分別傳遞到兩個多層感知機中,一個用于對話行為識別另一個用于情感分類,但該模型只利用了跨任務交互信息而沒有利用對話上下文信息,只利用跨任務交互信息而沒有利用文本上下文信息的方法無法讓模型學習到對話語句之間的關聯(lián),導致模型無法充分學習文本信息。第二種模型只利用上下文信息的模型,如圖2(b)圖所示。例如,Kim等人[3]提出的模型利用先前的行為信息去預測接下來的行為標簽,也就是只利用了上下文的信息而沒有利用跨任務交互信息去構建模型,這樣的做法等于將兩個相關聯(lián)的任務分別建模,同樣也無法充分利用對話文本信息。Qin等人在2020年提出DCRNet[4]模型,該模型利用了Co-Attention機制建立了關系池對兩種任務的交互信息采集并且該模型取得了當時最先進的性能,但是該模型忽略了文本上下文信息。近期,Qin等人提出了Co-GAT[1]模型,該模型利用圖注意力網絡[5]很好地利用了跨任務信息以及對話上下文信息對語句標簽完成預測,并且取得了很好的效果,但是該模型在對對話文本編碼時只是簡單地將同一說話者所說出的語句連接,從而產生N個對話者數(shù)量的連通分量輸入到圖注意力網絡中,然后再將圖注意力網絡的輸出復制成兩個相同的信息向量向前傳遞,這樣簡單的復制生成兩種任務的信息向量并不能使后續(xù)的模型充分利用編碼信息,本文后續(xù)的實驗中也證明這點。
圖2 聯(lián)合對話行為識別與情感分類任務的方法Fig.2 Strategies of joint dialogue behavior recognition task and emotion classification task
本文提出一種新的模型跨任務協(xié)同圖注意力網絡(MGAT)去編碼跨任務信息以及上下文信息,使模型框架在編碼時就能從不同任務中學習到交互信息,并且使兩種任務的信息向量相互影響,使后續(xù)模型更好地利用所產生的信息向量。
為了能夠在一個模型里同時對輸入文本上下文信息和不同任務交互信息建模,2020年Qin等人提出了協(xié)同交互式圖注意力網絡模型[1(]co-interactive graph attention network,Co-GAT),該模型分為三個模塊,其結構如圖3。第一模塊為編碼層,如圖3左邊模塊,其利用圖注意力網絡對文本編碼,產生向量,為中間提供初始信息。第二模塊為模型的核心模塊,是基于圖注意力網絡的協(xié)同交互層,如圖3的中間模塊,其提出了兩種邊連接方式,用于構建輸入的圖結構。一種連接為跨語句連接,具體為目標語句會與其他相同任務的語句信息連接;另外一種為跨任務連接,也就是目標語句會與不同任務的語句信息連接;兩種連接實現(xiàn)將兩種任務聯(lián)合建模并且同步更新。第三模塊為解碼層,如圖3右邊模塊,包含兩個獨立的解碼器,其分別對應情感分類任務與對話行為識別任務。協(xié)同交互式圖注意力網絡模型在實驗中取得了很好的效果,證明了圖注意力網在對多任務聯(lián)合建模上十分有效。
圖3 協(xié)同交互式圖注意力網絡Fig.3 Co-interactive graph attention network
但是該模型左邊模塊的編碼器存在弊端,即無法采集輸入文本序列的跨任務交互信息。針對該問題,本文提出了對話行為識別以及情感分類聯(lián)合訓練模型,改進圖3模型的第一個模塊,并且取得了很好的效果。
本章提出一種多任務圖注意力網絡(MGAT),該網絡抽取兩個相關任務之間的關聯(lián)信息與文本上下文信息,并利用該網絡構建分層對話注意力編碼層,該編碼層替換了圖3模塊的第一個模塊,即對話交互注意力編碼層,如圖4所示。相較于Co-GAT[1]中提出的分層對話注意編碼器,本文提出的方法解決了對文本編碼時忽略了跨任務交互信息的弊端,使模型更好地學習初始文本中的跨任務信息。并且對圖3中的第二與第三個模塊進行改進。新模型命名為多任務協(xié)同圖注意力網絡(multitask synergic graph attention network,MSGAT)。
圖4 分層對話交互注意力編碼層Fig.4 Hierarchical interactive encoder
在開始對本文提出的分層對話交互注意力編碼器描述之前先介紹多任務圖注意力網絡。本文提出多任務圖注意力網絡(MGAT),該網絡被應用在分層對話交互注意力編碼器中,如圖4所示,MGAT具體結構形式如圖5,其中虛線與實線代表兩個不同任務。該網絡能夠更好地實現(xiàn)跨任務之間的關聯(lián)信息以及文本的上下文信息學習。該網絡借鑒了圖注意力網絡的思想,并且整合了多任務之間跨任務交互信息以及節(jié)點之間的關聯(lián)信息,計算出不同任務各自的特征信息,繼而再計算不同任務之間的交互信息,該信息體現(xiàn)出兩種任務之間的隱含關聯(lián),使多種任務相互影響從而提高性能。
圖5 多任務圖注意力網絡Fig.5 Multi-task graph attention network
多任務圖注意力網絡的輸入為初始節(jié)點特征H={h1,h2,…,hN},輸出交互節(jié)點信息為A′={a1,a2,…,aN},S′={s1,s2,…,sN}。其具體計算過程及其公式如下:
其中,j代表與i相鄰的節(jié)點,k∈Ni,Ni表示所有與目標節(jié)點相鄰節(jié)點的集合,注意力值xij與yij代表兩個不同任務中鄰接節(jié)點對目標節(jié)點信息的重要程度,使用softmax函數(shù)對兩個不同的注意力值分別歸一化,得到圖注意力分數(shù)節(jié)點i與節(jié)點j之間的注意力分數(shù)aij與sij,使用該分數(shù)描述鄰接節(jié)點與中心節(jié)點的關聯(lián)程度,公式如下:
其中,hi代表目標節(jié)點的特征信息,||代表拼接操作,hj代表目標節(jié)點鄰接節(jié)點特征信息,β與W為可訓練參數(shù)。繼而使用兩個注意力分數(shù)分別對兩個不同任務的目標節(jié)點初始特征向量更新,公式如下:
為穩(wěn)定化模型的學習過程,采用各自獨立的多頭注意力機制對目標節(jié)點向量更新,如下:
其中,K代表多頭注意力機制的堆疊次數(shù),σ(·)表示非線性激活函數(shù),Wk代表第k個注意力機制下的可訓練參數(shù)。為了使模型學習到跨任務的交互信息,使用交互注意力機制[6],分別將a′i與s′i分別映射為與Transformer類似的queries(Qa,Qs),key(Ka,Ks),values(Va,Va),繼而獲得跨任務交互信息,公式如下:
其中,dk為矩陣Q、K的維度,Ca、Cs為MGAT最終輸出,該向量包含了節(jié)點與節(jié)點之間的信息以及跨任務交互信息以方便交給下游模型處理。
分層對話交互注意力編碼器是模型的第一個模塊,該模塊結構如圖4所示,其作用是挖掘對話中情感分類和對話行為識別兩種任務的隱性共享信息,利用這些信息使兩種任務信息相互影響。對話文本信息的采集使用雙向長短期記憶人工神經網絡[7(]BiLSTM),可以捕捉單詞之間的關系信息。本文采用語句級的BiLSTM對文本信息采集:對于給定的輸入對話文本信息C=(u1,u2,…,uN),其包含N條語句,第t條語句ut=(w1,w2,…,wn)包含n個單詞,BiLSTM讀取從前向后以及從后向前的單詞信息,獲取單詞上下文語義信息,產生向量信息H={h1t,ht2,…,htn},然后編碼器通過最大池化操作,將語句向量壓縮成et,最后語句級向量信息E=(e1,e2,…,eN)作為輸出向后傳遞,具體公式如下:
其中,表示從左往右獲得的語義信息,表示從右往左獲得的語義信息。
在接收到語句級信息向量后,將向量E作為輸入傳遞到多任同圖注意力網絡(MGAT)中,該網絡的作用是挖掘對話信息,它可以使模型更好地理解對話者的情感以及行為意圖,并且使兩種信息相互影響,繼而更充分挖掘情感分類與對話行為識別兩種任務之間的聯(lián)系。對于多任務圖注意力網絡的輸入的圖結構有如下定義:
頂點定義:在對話中的每一條語句都分別看作為圖的一個頂點。每個頂點都代表著一句話的初始特征向量ei,i∈[1,2,…,N],N對話中語句數(shù)量,因此節(jié)點特征向量表示為E=(e1,e2,…,eN)。
邊定義:為了使多任務圖注意力網絡更好地學習到對話上下文信息,本文將同一對話者所說的語句信息用邊連接,即任意一個從同一對話者說出的語句,該語句所代表的信息節(jié)點ei都存在邊連接另一句該說話者說出的語句信息節(jié)點ej,并且每個節(jié)點都存在自連接的邊。定義一個鄰接矩陣A,若第i條語句與第j條語句是同一說話者發(fā)出,那么Aii=1,并且每個節(jié)點有著一條與自己相連的邊Aii=1,否則Aij=0,緊接著模型將對話圖信息輸入進多任務圖注意力網絡中,最終輸出有如下公式:
其中,S代表學習了跨任務信息以及對話上下文信息的情感分類信息向量。類似地,D代表經過交互跨任務學習的行為識別信息向量,分別記作S=(s1,s2,…,sN),D=(d1,d2,…,dN)。
然后將兩個向量S與D往第二模塊協(xié)同交互層傳遞,即圖3的中間模塊。最后使用兩個獨立解碼器分別對情感分類以及對話行為識別任務聯(lián)合訓練,即圖3的右邊模塊。最后,MSGAT模型利用反向傳播訓練權重。
圖3中的第二個模塊利用圖注意力網絡獲取包含跨任務信息與跨語句信息的向量,對話行為識別更新公式如下:
其中Ni表示節(jié)點i的所有鄰接節(jié)點的集合,包含了上下文信息節(jié)點與不同任務信息節(jié)點。與前者類似,情感分類向量更新公式如下:
該方法將跨語句連接與跨任務連接直接合并,缺失對兩種連接方式的權重。針對該問題本文做出改進,將該層命名為強化協(xié)同信息層。
由于訓練數(shù)據(jù)不存在長距離依賴問題,應用兩個獨立的BiRNN[8]到分層對話交互注意力編碼器產出的向量,增強對話語句序列的上下文關聯(lián)性,同時放大不同任務信息的區(qū)別增加任務的特異性,得到D0=[d10,d20,…,dN0],S0=[s10,s02,…,s0N],公式如下:
為了加強模型產出向量的表達能力,本文對圖3第二個模塊進行了改進,對輸入的圖結構有如下定義:
頂點定義:圖中有2N個節(jié)點,其中N個節(jié)點為對話行為識別任務信息,另外N個節(jié)點為情感分類任務節(jié)信息。公式(19)、(20)的結果D0與S0對應對話行為識別任務與情感分類任務的初始節(jié)點。
邊定義:圖結構中的頂點之間存在兩種連接方式。
跨語句連接:將上下文信息節(jié)點連接。如果節(jié)點j與節(jié)點i是相同任務的信息節(jié)點,則在兩個節(jié)點之間構建跨語句連接,定義一個鄰接矩陣A,則有Aij=1。
跨任務連接:將不同任務的信息節(jié)點連接。如果節(jié)點j與節(jié)點i是來自不同任務的信息節(jié)點,則建立跨任務連接,鄰接矩陣A有Aij=1。
對于兩種不同的連接方式,本文提出區(qū)分兩種不同連接的權重,使模型在訓練中適應這兩種連接各自的重要程度。對話行為識別向量更新公式如下:
并且使用殘差連接抑制訓練時網絡退化與梯度消失問題,公式如下:
在模型最后將對話行為識別任務與情感分類任務聯(lián)合訓練,并且對兩個不同任務設置超參數(shù),公式如下:
其中,L1與L2表示兩個不同任務的交叉熵損失函數(shù),α、β為超參數(shù),使模型在訓練時可以精調兩種任務的損失函數(shù)的占比。
為了對模型驗證,本實驗分別對兩個公開對話數(shù)據(jù)集Mastodon和Dailydialog做預測實驗。Dailydialog數(shù)據(jù)集有11 118段對話用于訓練,1 000段對話為驗證集,1 000段對話為測試集。Mastodon數(shù)據(jù)集的訓練集為243段對話,測試集為267段對話。
實驗使用Adam[9]優(yōu)化參數(shù),選擇在訓練時的驗證集中最好模型對測試集的評估。所有實驗都在GeForce 3070上運行。為抑制過擬合,本文采用Hinton等人[10]提出的Dropout策略,在模型每次迭代過程中隨機地丟棄隱藏層中的部分神經元。表1為具體實驗參數(shù)。
表1 實驗參數(shù)Table 1 Experiment parameter
本實驗包括兩個分類任務,兩個任務都是多標簽分類任務,本文的實驗采用正確率P(%)、召回率R(%)以及F1分數(shù)(%)評價模型的預測效果。計算公式如下:
其中,TP代表真陽性,預測為正,標簽實際也為正;FP代表假陽性,預測為正,標簽實際為負;FN代表假陰性,預測為負,標簽實際為正。F1值越大表明模型在分類任務中預測的精確度越高,模型的性能越好。
本模型在Mastodon和Dailydialog公開數(shù)據(jù)集上測試,并且分別與對話行為識別模型HEC、CRF-ASN、CASA與對話情感分類模型DialogueRNN、DialogueGCN以及聯(lián)合模型JointDAS、IIIM、Co-GAT模型對比,此外,本文在實驗中設置了其他任務的聯(lián)合模型進行對比。結果如表2所示。
表2的第一部分為對話行為識別單任務模型的實驗結果,第二部分為情感分類單任務模型的實驗結果,第三部分為聯(lián)合模型的實驗結果,第四部分為聯(lián)合槽位填充與意圖檢測任務的聯(lián)合模型。其中,HEC[11]模型使用了一個分層Bi-LSTM-CRF去解決對話行為識別問題,該模型捕捉了詞語之間與語句之間的依賴關系。CRF-ASN[12]使用了用于對話行為識別的crf-attentive,該模型動態(tài)地將語句切分,從而獲取對話上下文信息。CASA[13]這項工作中利用了上下文自注意力機制為對話行為識別任務建模。DialogueRNN[14]模型提出了一種基于RNN的神經網絡結構,用于挖掘對話中的情感信息,并利用該信息解決對話情感分類問題。DialogueGCN[15]模型提出了一種對話圖卷積網絡去捕捉所有對話語句之間的依賴關系,用這種方式為對話情感分類問題建模。JointDAS[2]模型使用了一種多任務模型聯(lián)合情感分類以及對話行為識別任務。IIIM是一種集成的神經網絡模型,同時訓練情感分類以及對話行為識別兩種任務。DCR-Net使用了一種關系層為跨任務交互信息以及語句上下文信息單獨地建模。Co-GAT[1]模型使用了圖注意力網絡為跨任務交互信息以及上下文信息聯(lián)合的建模,并且在當時達到了最先進的性能。從表中的結果可以看出:(1)本文提出的模型性能優(yōu)于單獨建模情感分類模型與對話行為識別模型。這表明,利用跨任務交互信息聯(lián)合建模是有效的,它可以更好地挖掘出在對話中的隱性信息從而讓模型更充分地學習,并達到比單獨建模的模型更好的效果。(2)與其他聯(lián)合模型相比,本文提出的模型有很大的改進,并且取得最先進的性能。在Mastodon數(shù)據(jù)集上,本文的模型在情感分類與對話行為識別的F1分數(shù)上分別比Co-GAT高出了2.0%和1.3%,在Dailydialog數(shù)據(jù)集上也呈現(xiàn)出了同樣的趨勢。這說明了多任務協(xié)同圖注意力網絡對隱藏交互信息挖掘的有效性。最后,本文在實驗中引入了Co-Interactive Transformer[16]、AGIF[17]以及GL-GIN[18]模型進行對比,為了契合數(shù)據(jù)集對模型進行微調,其中Co-Interactive Transformer模型通過建立相關任務之間的雙向連接考慮交叉影響,而不是采用普通的Transformer中的自注意力機制,并且提出一種協(xié)同交互模塊實現(xiàn)任務間的特性傳遞。AGIF模型提出了一種交互層,該層可以提取其中一個任務的信息集成到另一個任務中,從而建立強相關性。GL-GIN模型是一種快速非自回歸模型,該模型建立一種關系槽緩解兩種任務信息不協(xié)調問題,并且訓練速度十分可觀。但是由于這些聯(lián)合模型對于初始執(zhí)行任務的不同,模型設計并沒有充分利用好對話上下文信息與跨任務交互信息等原因,所以在對話行為識別與情感分類任務聯(lián)合訓練上并不能達到很好的水平。從圖6到圖9對比中可以看出,本文提出的模型收斂速度達到良好水平,驗證了本文提出方法的有效性。
圖6 Mastodon數(shù)據(jù)集上四種模型情感分類F1分數(shù)變化Fig.6 Four models score change of sentiment classification on Mastodon dataset
圖9 Dailydialog數(shù)據(jù)集上四種模型對話行為分析F1分數(shù)變化Fig.9 Four models score change of dialog act recognition on Dailydialog dataset
表2 在Mastodon與Dailydialog數(shù)據(jù)集上的對比實驗結果Table 2 Results of comparative experiment on Mastodon and Dailydialog data sets 單位:%
圖7 Mastodon數(shù)據(jù)集上四種模型對話行為分析F1分數(shù)變化Fig.7 Four models score change of dialog act recognition on Mastodon dataset
圖8 Dailydialog數(shù)據(jù)集上四種模型情感分類F1分數(shù)變化Fig.8 Four models score change of sentiment classification on Dailydialog dataset
盡管本文提出的模型取得了很好的效果,但依然需要了解在協(xié)同圖注意力網絡中的各個部件對最終性能有多大程度的影響,因此本文對模型中的各個部件消融。實驗的效果如表3所示。
表3 在Mastodon與Dailydialog數(shù)據(jù)集上行進消融實驗結果Table 3 Results of ablation experiments on Mastodon and Dailydialog data sets 單位:%
在消融跨任務連接實驗中,將跨任務連接從模型中刪除。因此,在這時的模型只考慮了上下文信息而忽略了跨任務交互信息,從表中可知,在Mastodon和Dailydialog數(shù)據(jù)集中情感分類的F1分數(shù)下降了3.1%與1.9%;而對話行為識別的F1分數(shù)分別下降了2.1%與1.3%。本文將出現(xiàn)這一現(xiàn)象的原因歸咎于跨任務信息的缺失,導致模型性能降低。
在消融跨語句連接實驗中,與消融跨任務連接實驗類似,刪除了跨語句連接,從表中可以看出,這時模型的性能出現(xiàn)了明顯的下降。結果驗證了上下文信息的有效性,該信息可以減少文本歧義從而提高模型性能。
接著,在只使用MGAT模型的實驗中,情感分類與對話行為識別的F1分數(shù)也出現(xiàn)了不同程度的降低,這是因為跨任務信息與上下文信息相互的影響力被削弱。同時采用Co-Attention機制替換強化協(xié)同信息層,性能同樣也出現(xiàn)了不同程度的削弱,這兩個實驗也證明了Qin等人提出的利用圖神經網絡為兩種信息建模是有效的。值得注意的是,在實驗中只使用MGAT的性能已經超過Co-GAT,證實了本文提出的MGAT模型在多任務中的有效性。
最后,消融MSGAT的核心模塊,模型的性能出現(xiàn)了大幅的降低,出現(xiàn)這種現(xiàn)象的原因是模型被削弱了跨任務信息與上下文信息的交互,也證明了多任務圖注意力網絡的有效性。
為了探索聯(lián)合BERT[19]預訓練模型產生的效果,本文設置了BERT與MSGAT的組合實驗。本文將分層對話交互注意力編碼器中的BiLSTM替換為BERT,模型的其他組件保持不變。本文在Mastodon數(shù)據(jù)集上實驗,實驗中分別與DCR-Net和Co-GAT與BERT組合以及不組合BERT的MSGAT對比,結果如圖10。從結果中可以看出BERT預訓練模型與MSGAT組合可以得到非常好的效果,模型的性能得到了卓越的提升,并且提出的MSGAT與BERT組合相較于其他對比模型的性能,領先進一步拉開,再次證明了本文提出模型的有效性。
圖10 模型與BERT組合實驗Fig.10 Combination experiment with BERT
設置了模塊堆疊實驗,分別在Mastodon數(shù)據(jù)集上對多任務圖注意力網絡與強化協(xié)同信息層中的圖注意力網絡進行疊加,結果如圖11、圖12所示。從圖中可以看出,當模型疊加兩層時性能最好,這是因為堆疊模型可以更好地模擬兩個任務的交互,當堆疊層數(shù)超過2時,模型性能開始下降,本文將原因歸咎于隨著網絡深度的增加出現(xiàn)過擬合以及梯度消失等問題[20]。
圖11 堆疊不同層數(shù)MGAT時模型性能Fig.11 Model performance at different layers of MGAT
圖12 堆疊不同層數(shù)GAT時模型性能Fig.12 Model performance at different layers of GAT
本文針對多個相關聯(lián)的任務提出了多任務圖注意力網絡(MGAT),并以該網絡為核心搭建了多任務協(xié)同圖注意力網絡(MSGAT)。為解決情感分類與對話行為識別任務,該模型構建了跨語句連接以及多任務連接網絡,使模型充分學習語句上下文信息以及跨任務交互信息。實驗中證明了,該模型具有比以往的模型更好的效果,并且在與BERT預訓練模型組合實驗中,本文提出的模型與BERT組合得到的提升比其他模型與BERT組合的提升更顯著,這說明了BERT預訓練模型與MSGAT是互相補充的。