蘇錦鈿 歐陽志凡 余珊珊
1(華南理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 廣州 510640)2(廣東藥科大學(xué)醫(yī)藥信息工程學(xué)院 廣州 510006)
句子的屬性級別(aspect-level)情感分類[1],也稱細(xì)粒度情感分類或特定目標(biāo)情感分類[2],是近年來自然語言處理(natural language processing, NLP)領(lǐng)域中情感分析任務(wù)的一個熱點(diǎn),主要任務(wù)是研究如何在給定一個句子和一個目標(biāo)屬性的前提下判定句子關(guān)于該屬性的情感極性.早期工作主要側(cè)重于如何將句子的各種語法特征(如詞性或句法結(jié)構(gòu))或外部知識(如情感詞典或規(guī)則)引入到傳統(tǒng)的機(jī)器學(xué)習(xí)方法中,如文獻(xiàn)[3-5].近幾年,由于深度學(xué)習(xí)方法在自動學(xué)習(xí)文本特征方面具有明顯的優(yōu)勢,可以避免依賴人工設(shè)計(jì)特征,因此在句子屬性情感分類中開始得到應(yīng)用.一些學(xué)者陸續(xù)提出各種基于神經(jīng)網(wǎng)絡(luò)的分類模型,如遞歸神經(jīng)網(wǎng)絡(luò)(recursive neural network)、卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)或循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural Network, RNN)等,并在多個數(shù)據(jù)集上取得突出的成績.例如Dong等人[6]結(jié)合句子的依存樹結(jié)構(gòu)和特定目標(biāo)的位置提出基于自適應(yīng)遞歸神經(jīng)網(wǎng)絡(luò)的情感分類方法;Tang等人[7]在長短期記憶網(wǎng)絡(luò)(long short-term memory network, LSTM)的基礎(chǔ)上提出特定目標(biāo)依賴的情感分類方法TD-LSTM(target dependent LSTM);Zhang等人[8]將句子劃分為左上下文、目標(biāo)和右上下文3個部分,然后利用雙向GRU(bidirectional gated recurrent unit, BGRU)學(xué)習(xí)屬性的情感特征表示;Nguyen等人[9]在Dong等人[6]的工作基礎(chǔ)上指出句法信息對屬性情感分類的有效性,提出利用短語和句法關(guān)系將句子的依存樹轉(zhuǎn)換為屬性相關(guān)的短語依存二叉樹,同時結(jié)合多種語義組合函數(shù)的遞歸神經(jīng)網(wǎng)絡(luò)為該依存二叉樹建模并判斷屬性情感極性;Ruder等人[10]指出不同句子間通過互相提供上下文信息可以幫助模型更好地判斷評論文本中多個屬性的情感傾向,從而可將其轉(zhuǎn)換為一個句子級別的序列標(biāo)注任務(wù),并利用一個層次化LSTM網(wǎng)絡(luò)進(jìn)行屬性情感分類判別.這些工作較好地利用了句子的語法特征和屬性的位置信息等,但在刻畫屬性和上下文之間的關(guān)系時往往需要根據(jù)屬性的位置對句子的句法樹和依存樹結(jié)構(gòu)進(jìn)行轉(zhuǎn)換,容易破壞句子中原本的序列信息.
近2年,為了更好地刻畫不同屬性的上下文信息并體現(xiàn)句子中不同單詞對情感極性的影響,一些學(xué)者開始將注意力機(jī)制引入到屬性情感分類任務(wù)中.例如Wang等人[11]提出基于注意力和屬性詞向量的LSTM(attention based LSTM with aspect embedding, ATAE-LSTM)模型,主要以屬性詞的詞向量為注意力目標(biāo),將屬性特征表示和句子經(jīng)過LSTM建模后的隱藏狀態(tài)矩陣連接,并利用一個前饋隱藏層求出每個時間步隱藏狀態(tài)的注意力權(quán)重,從而構(gòu)造屬性相關(guān)的情感特征表示.Wang等人[12]在Tang[7]和Wang[11]的工作基礎(chǔ)上將句子中各單詞對屬性詞的依賴信息引入到注意力權(quán)重的學(xué)習(xí)中,Tay等人[13]則將注意力權(quán)重的計(jì)算方式由前饋隱藏層轉(zhuǎn)換為circular correlation和circular convo-lution.Tang等人[14]還將記憶網(wǎng)絡(luò)(memory network, MemNet)與多層注意力機(jī)制相結(jié)合,通過利用多層注意力機(jī)制生成屬性和上下文的特征表示.隨后,Chen等人[15]指出MemNet中的屬性和上下文特征表示本質(zhì)是詞向量的線性組合,并提出循環(huán)注意力記憶(recurrent attention memory, RAM)模型.RAM的主要思路是利用一個堆疊的雙向LSTM生成外部記憶矩陣,然后根據(jù)句子中單詞和屬性詞間的距離信息為每個單詞產(chǎn)生的記憶片段分配不同的位置權(quán)重,最后利用GRU網(wǎng)絡(luò)及多層注意力機(jī)制構(gòu)造屬性的情感特征表示.Ma等人[16]提出交互注意力網(wǎng)絡(luò)(interactive attention networks, IAN),主要是利用LSTM分別對句子和屬性建模,然后通過一個交互式注意力機(jī)制分別選擇句子和屬性中的重要信息,最后合并結(jié)果作為情感特征并預(yù)測屬性的情感極性.梁斌等人[2]則在多注意力CNN的基礎(chǔ)上結(jié)合詞向量注意力、詞性注意力和位置注意力等多種機(jī)制學(xué)習(xí)句子的深層次情感信息,最后在SemEval 2014的Latop和Restaurant數(shù)據(jù)集上取得68.04%和79.17%的準(zhǔn)確率.
總地來說,基于注意力的屬性級別情感分類研究已經(jīng)取得了較好的效果,但仍存在2點(diǎn)不足:1)忽略屬性詞的上下文信息.現(xiàn)有研究在根據(jù)屬性詞計(jì)算注意力權(quán)重時往往簡單地將屬性的詞向量平均值或線性組合作為其特征表示,沒有考慮屬性詞中的短語及其修飾詞的詞序及上下文信息.2)沒有考慮單詞的位置信息及單詞間的依賴關(guān)系信息.部分研究雖然采用相對距離刻畫單詞與屬性詞之間的位置信息,但沒有考慮單詞間的語法依賴關(guān)系,且容易出現(xiàn)因表達(dá)方式的問題而導(dǎo)致遠(yuǎn)離屬性的相關(guān)情感詞的權(quán)重被線性降低,從而影響模型對注意力權(quán)重的學(xué)習(xí).作者在前期工作[17]中雖然通過屬性依存子樹引入語法距離,但沒有進(jìn)一步考慮單詞間的相對距離信息.
本文在上述工作的基礎(chǔ)上利用句子的依存樹抽取包含屬性及其修飾信息的屬性子句,并結(jié)合單詞與屬性詞之間的相對距離及語法距離,提出一種基于注意力的句子屬性情感分類模型DTDA,最后通過公開的語料庫進(jìn)行驗(yàn)證和分析.
在句子的屬性情感分類任務(wù)中,一個句子通常包含多個不同的屬性,并且對應(yīng)著不同的情感極性.例如,句子“This French food tastes very well,but the restaurant has poor service.”中包含2個不同的屬性“French food”和“service”,對應(yīng)的情感極性分別為積極性的(Pos)和消極的(Neg),即(French food, Pos)和(service, Neg),如圖1所示:
Fig. 1 An example of aspect-level sentiment classification圖1 屬性級別情感分類例子
與普遍的句子情感分類不同,屬性情感分類的判別不僅依賴于句子的上下文信息,還依賴于屬性的特征信息[1].同一個句子的不同屬性可能具有完全相反的情感極性.因此,如何準(zhǔn)確地刻畫屬性及與句子上下文的關(guān)系是屬性情感分類研究中一個非常關(guān)鍵的問題.現(xiàn)有的許多相關(guān)研究主要利用預(yù)訓(xùn)練詞向量給出屬性中各個單詞的表示,然后通過求平均值、求和或其他線性組合的方式得到屬性的特征表示.這種表示方式一方面容易丟失短語中單詞的序列信息,另一方面由于目前常用的預(yù)訓(xùn)練詞向量主要由word2vec或Glove等模型根據(jù)一定窗口內(nèi)的單詞共現(xiàn)信息訓(xùn)練而成,因此導(dǎo)致出現(xiàn)在相近上下文信息中的屬性也具有相近的詞向量,難以形成有效的差異化表示.人們在句子中表達(dá)屬性的情感時往往添加一些形容詞及副詞等修飾成分,例如“poor”或“badly”等.這些修飾詞很大程度上影響了句子中屬性的情感極性,即修飾詞與屬性詞間存在一定的依賴關(guān)系.因此,可利用句子的依存樹進(jìn)一步分析句子中各單詞間的關(guān)系.以圖1中的句子為例,其依存樹如圖2所示:
Fig. 2 Dependency tree structure for sentence圖2 句子的依存樹結(jié)構(gòu)
由圖2可知,句子S包含2個屬性:(a1,“French food”)和(a2,“service”).屬性a1為短語,且存在詞性為限定詞的修飾詞“this”.屬性a2為單詞,且存在詞性為形容詞的修飾詞“poor”.顯然,屬性的修飾詞一般依存于屬性詞,并與屬性一起構(gòu)成以屬性詞中某個單詞為根節(jié)點(diǎn)的依存子樹.因此利用句子的依存樹結(jié)構(gòu)可抽取屬性的依存子樹(dependency subtree),從而得到包含屬性及其修飾信息的屬性子句(aspect clause)[17],如圖2中的Sa1=“This French food”和Sa2=“poor service”.
相對于簡單基于詞向量的平均值或線性組的屬性特征表示來說,屬性子句不僅包含屬性詞本身,還包含屬性的修飾信息以及它們之間的位置順序信息.
一般來說,句子中屬性相關(guān)的情感描述詞往往與該屬性的位置非常接近.梁斌等在文獻(xiàn)[2]中指出屬性情感分類中單詞與屬性詞間的位置往往隱含重要的信息,離目標(biāo)詞更近的詞對目標(biāo)詞的影響更大.因此,可將屬性與句子中各個單詞間的相對距離作為一種重要的信息引入到屬性情感分類模型中.以圖1中的句子為例,單詞與屬性詞間的相對距離如圖3所示:
文獻(xiàn)[15]同樣也利用相對距離信息刻畫單詞與屬性間的關(guān)系,目的是為了更好地生成屬性相關(guān)的句子特征表示.對于每一個包含k個單詞wi(1≤i≤k)的句子S=(w1,w2,…,a,…,wk),針對每一個屬性a可得到相應(yīng)的相對距離向量CS,a=(c1,c2,…,cn).
雖然相對距離能夠刻畫單詞與屬性詞間的位置關(guān)系,但使得句子中各單詞的權(quán)重以屬性詞為中心,并向左右兩邊線性降低.由于句子的情感表達(dá)往往是一個比較復(fù)雜的語法結(jié)構(gòu),包含對比和否定等,因此有些情況下相對距離難以全面客觀地體現(xiàn)句子中各個單詞對屬性情感極性判定的影響.例如,在句子“Although the food is very good, the service in this restaurant is so dreadful”中屬性詞“service”與情感詞“good”的距離要比“dreadful”更近,但顯然“dreadful”才是屬性“service”的正確情感表達(dá),其權(quán)重應(yīng)該要比“good”更大.
Fig. 4 Syntax distance of dependency tree for aspect a1圖4 屬性a1的依存樹語法距離
下面將單詞和屬性間的距離定義為兩者在句子依存樹中的路徑長度,即語法距離.在句子的依存樹中,單詞間通過依存關(guān)系進(jìn)行連接,因此越是相關(guān)的單詞其語法距離越小,而跟它們在句子中的實(shí)際位置無關(guān),即語法距離能夠更好地反映單詞與屬性間的相關(guān)性.以圖1為例,屬性a1=“French food”和a2=“service”的依存樹語法距離分別如圖4和圖5所示.
Fig. 5 Syntax distance of dependency tree for aspect a2圖5 句子中屬性a2的依存樹語法距離
在基于依存樹的語法距離計(jì)算過程中,離屬性越近的單詞具有越高的權(quán)重.若屬性為短語,則以該短語中最后一個單詞作為代表計(jì)算與句子中各個單詞的語法距離.具體算法描述如下:
算法1.語法距離計(jì)算(SynDistanceCalculation).
輸入:目標(biāo)單詞wi及屬性詞a;
輸出:語法距離di,a.
計(jì)算過程:
num1=0,cur=wi;
whilecur≠cur.head*若不是依存樹根節(jié)點(diǎn)*
num1=num1+1,cur=cur.head;
end while
num2=0,cur=a;
whilecur≠cur.head
num2=num2+1,cur=cur.head;
end while
di,a=0;
ifnum1>num2
foriinrange(num1-num2)
wi=wi.head,di,a=di,a+1;
end for
else
foriinrange(num2-num1)
a=a.head,di,a=di,a+1;
end for
end if
num2=min(num1,num2)*取最小值*
foriinrange(num2)
iftoken1≠token2
di,a=di,a+2;
else
break
end if
end for
returndi,a.
對每一個S及屬性a,由算法1可得到相應(yīng)的語法距離向量DS,a=(d1,a,d2,a,…,dn,a),其中di,a∈Rn為單詞wi和屬性a的語法距離.則句子S中各單詞wi的權(quán)重值li,a為
(1)
其中,dmax為DS,a中最大值.
由式(1)中可知:位置權(quán)重li∈[0.5,1]一方面保證句子中遠(yuǎn)離屬性的單詞的最小權(quán)重在一定范圍內(nèi),另一方面使得與屬性距離更近的單詞有著更高的權(quán)重,從而防止模型在預(yù)測屬性的情感極性時被與該屬性無關(guān)的強(qiáng)烈情感詞誤導(dǎo).
根據(jù)每一個屬性a可計(jì)算得到一個與句子S長度相同的基于語法距離的權(quán)重向量LS,a=(l1,a,l2,a,…,ln,a),其中每一個元素li,a∈R(1≤i≤|S|)為句子中對應(yīng)位置的單詞wi在預(yù)測特定屬性a時的位置權(quán)重.
假設(shè)句子S=(w1,w2,…,ai,…,aj,…,wk)為一個包含k個單詞的序列,wt表示S中第t個單詞,ai和aj表示不同的目標(biāo)屬性詞,y=(y1,y2,…,ym)為目標(biāo)情感極性類別.句子屬性情感分類任務(wù)的目標(biāo)就是對給定的S及a(如ai或aj),判定S關(guān)于a的情感極性,即計(jì)算S和a在y中各極性類別上的似然概率分布:
f:(S,a)→y=(y1,y2,…,ym).
(2)
結(jié)合依存樹及距離信息提出一種基于注意力的句子屬性情感分類模型DTDA(dependency tree and distance attention),模型結(jié)構(gòu)如圖6所示:
Fig. 6 Structure of DTDA model圖6 DTDA模型的結(jié)構(gòu)
DTDA共包含4層:
1) 輸入層.主要負(fù)責(zé)對句子S進(jìn)行一些預(yù)處理,如長度補(bǔ)齊、依存關(guān)系分析、計(jì)算相對距離及語法距離等,并根據(jù)屬性及句子的依存樹抽取相應(yīng)的屬性依存子句.在此基礎(chǔ)上,利用預(yù)訓(xùn)練詞向量表將句子S及屬性子句Sa中的各個單詞映射成為低維、連續(xù)和實(shí)數(shù)的向量表示.
2) 編碼層.利用雙向GRU層分別對句子S和屬性子句Sa進(jìn)行建模,并結(jié)合語法距離生成相應(yīng)的句子上下文特征表示和屬性的特征表示.
3) 注意力層.根據(jù)句子的上下文特征和屬性特征,利用注意力機(jī)制為句子中的單詞分配合適的注意力權(quán)重,針對每一個屬性生成特定的情感特征表示.
4) 輸出層.針對各個屬性的特定情感特征利用Softmax層預(yù)測相應(yīng)的情感極性并輸出.
輸入層主要是對句子S=(w1,w2,…,wk)進(jìn)行預(yù)處理,并將其轉(zhuǎn)成為基于詞向量的表示.具體包括:
1) 屬性的依存子樹抽取.根據(jù)1.1節(jié)所述對句子S進(jìn)行依存關(guān)系分析,然后抽取屬性a的依存子樹Sa,并線性化得到一個連續(xù)單詞序列:
Sa=(ws+1,ws+2,…,ws+r), (3) 顯然,Sa為S的某個子序列,即Sa∈S.下面統(tǒng)稱該序列或?qū)傩缘囊来鏄錇閷傩宰泳?,并用Sa表示. 2) 長度預(yù)處理.為了便于模型的處理,根據(jù)句子和屬性子句的長度分別進(jìn)行相應(yīng)的補(bǔ)齊或截?cái)嗵幚?以句子S為例,假設(shè)句子長度閾值為n(n通常取訓(xùn)練語料庫中的最大句子長度或某一具體值),對于長度超過n的句子,只截取前n個詞;對于長度少于n的句子,用特定標(biāo)志(如PAD)進(jìn)行補(bǔ)齊.例如,對句子S=(w1,w2,…,wk)的長度預(yù)處理操作如下: (4) 同理,對屬性子句Sa進(jìn)行相應(yīng)的長度預(yù)處理.后面若無特別說明,S=(w1,w2,…,wn)和Sa=(ws+1,ws+2,…,ws+r)均表示已進(jìn)行長度預(yù)處理,其中r為Sa的長度閾值. 3) 詞向量表示.分別將預(yù)處理后的S和Sa中的每一個詞wi(1≤i≤n或s+1≤i≤s+r)映射為一個連續(xù)且?guī)дZ義信息的低維稠密實(shí)數(shù)向量. (5) (6) 即句子S的特征表示XS包含了單詞的語義信息及位置信息. 編碼層的主要任務(wù)是利用BGRU分別學(xué)習(xí)句子及屬性子句的上下文信息,并得到相應(yīng)的特征表示.BGRU的結(jié)構(gòu)如圖7所示: Fig. 7 Structure of BGRU圖7 BGRU的結(jié)構(gòu) (7) (8) (9) 分別利用2個獨(dú)立的BGRU對句子S和屬性子句Sa進(jìn)行編碼,并將包含所有時間步輸出的隱藏狀態(tài)矩陣HS和HS,a分別記為 HS=BGRU(XS), (10) HS,a=BGRU(XS,a), (11) 其中,HS=(h1,h2,…,hn)∈Rn×2de為句子XS經(jīng)BGRU編碼后的上下文特征表示,HS,a=(hs+1,hs+2,…,hs+r)∈Rr×2de為屬性子句Sa經(jīng)BGRU編碼后的特征表示. 為了進(jìn)一步區(qū)分句子上下文信息對不同屬性的影響,并降低句子中靠近屬性詞的無關(guān)單詞對目標(biāo)極性的影響,下面引入屬性的語法距離對句子的上下文進(jìn)行加權(quán),從而構(gòu)造屬性相關(guān)的上下文特征. 對于句子S及屬性a,由1.2節(jié)可得到語法距離向量DS,a和位置權(quán)重向量LS,a.將LS,a與HS相乘得到一個根據(jù)屬性定制的隱藏狀態(tài)矩陣ES,a=(e1,e2,…,ei,ei+1,…,en)∈Rn×2de,其中ei=li,a×hi∈R2de.與HS相比,利用屬性相關(guān)的位置權(quán)重LS,a進(jìn)行加權(quán)后的ES,a進(jìn)一步包含了單詞和屬性a間的語法距離位置信息. 注意力層的任務(wù)是根據(jù)屬性和句子的上下文信息,利用注意力機(jī)制為句子中的每一個單詞分配合適的注意力權(quán)重,并生成屬性相關(guān)的情感特征表示. 具體來說,對于屬性的特征表示HS,a和隱藏狀態(tài)矩陣ES,a,注意力計(jì)算為 Q=relu(HS,aW1+b1), (12) K=relu(ES,aW2+b2), (13) (14) 屬性和句子間的注意力權(quán)重由屬性子句中所有單詞共同決定,因此需合并屬性子句中各個單詞與句子所有單詞的注意力權(quán)值,并構(gòu)成最終的注意力權(quán)值向量gS,a=(g1,a,g2,a,…,gn,a)∈Rn.下面與文獻(xiàn)[17]類似,定義2種不同的合并方式:求和sum與取平均值mean. (15) 利用softmax函數(shù)對向量gS,a進(jìn)行歸一化,可得到最終的注意力向量qS,a=(q1,a,q2,a,…,qn,a)∈Rn,其中, (16) 由注意力向量qS,a計(jì)算屬性相關(guān)的情感特征rS,a: V=HS+XSW3, (17) rS,a=qS,aV, (18) Fig. 8 Computation process of aspect-related sentiment feature圖8 屬性相關(guān)情感特征計(jì)算過程 其中,W3∈Rd×2de為用于進(jìn)行線性變換的二維權(quán)重矩陣,將XS中的維度d變換為2de.V∈Rn×2de可看成是融合了單詞的詞向量語義信息、相對距離信息及句子的上下文信息.rS,a∈R2de表示屬性a相關(guān)的情感特征,即結(jié)合注意力機(jī)制融合了單詞的語義信息、屬性相關(guān)的句子上下文信息、相對距離及語法距離信息.rS,a的計(jì)算過程如圖8所示: (19) h*=relu(W4rS,a+W5rS+b3), (20) 其中,W4∈Rdr×2de和W5∈Rdr×2de為權(quán)值矩陣,b3∈Rdr為偏置值向量. Fig. 9 Computation process of output layer圖9 輸出層的計(jì)算過程 h*∈Rdr為句子最終的特征表示,并通過softmax函數(shù)計(jì)算h*在y中各個極性類別的概率分布: pS,a=softmax(W6h*+b4), (21) 其中,W6∈Rm×dr和b4∈Rm分別為softmax的權(quán)值矩陣和偏置值向量.pS,a=(p1,a,p2,a,…,pm,a)為模型在y中各個極性類別上預(yù)測值的歸一化結(jié)果. 最后,取該m維向量中的最大值max(pS,a)所對應(yīng)的標(biāo)簽作為模型的最終預(yù)測結(jié)果,即: p=max(pS,a). (22) 假設(shè)p為模型對輸入S和a的預(yù)測結(jié)果標(biāo)簽值,yS,a是一個正確情感類別的元素為1而其他類別的元素為0的one-hot向量.DTDA采用交叉熵(cross entropy)作為優(yōu)化的損失函數(shù),同時為避免模型在訓(xùn)練中出現(xiàn)過擬合(overfitting),采用L2范數(shù)正則化 (23) 模型通過迭代求解損失值和梯度下降來優(yōu)化模型,使得損失函數(shù)的值最小. 對DTDA的評估采用準(zhǔn)確率(Accuracy)、精確率P(Precision)和宏平均F1值(macro averageF1,MF1)等評價指標(biāo),其中MF1是指所有類別的F1值平均.對單個類別,設(shè)TP是正確預(yù)測的樣本,F(xiàn)P是其他類別被判定為當(dāng)前類別的樣本,F(xiàn)N是當(dāng)前類別被錯誤判定為其他類別的樣本,則精確率P,召回率(Recall)和F1值計(jì)算公式為 (24) (25) (26) 準(zhǔn)確率Accuracy和MF1分別定義為 (27) (28) 模型采用Adam(adaptive moment estimation)[18]優(yōu)化器,并設(shè)其學(xué)習(xí)率為0.001,學(xué)習(xí)率衰減為0.000 4.為防止過擬合,將dropout[19]正則化策略應(yīng)用于在BGRU層,dropout的值設(shè)置0.5.此外,訓(xùn)練過程中對BGRU層的輸出隱藏狀態(tài)矩陣進(jìn)行批規(guī)范化(batch normalization)[20]. 為驗(yàn)證DSDA的有效性,采用2014年國際語義評測SemEval任務(wù)4[1]中2個著名的公開數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)對比: 1) Laptop.針對筆記本電腦的文本評論數(shù)據(jù)集. 2) Restaurant.針對餐館的文本評論數(shù)據(jù)集. 屬性的情感極性主要包含:積極的(Pos)、中性的(Neu)和消極的(Neg),并有少量情感極性為沖突的(Conflict).為避免干擾,參照文獻(xiàn)[14]的做法去掉極性為沖突的屬性.最終各情感極性對應(yīng)的句子數(shù)量分布如表1所示. 為了更充分地對比各模型的效果,參照文獻(xiàn)[9]和[17],根據(jù)句子中屬性的數(shù)量和情感極性類別將數(shù)據(jù)集劃分為3種不同判定難度的子集S1,S2和S3,如表2所示. 1) S1.同一個句子中只包含有1個屬性. 2) S2.同一個句子包含多個屬性,且均具有相同的情感極性. 3) S3.同一個句子中包含2個或者2個以上的屬性,且具有不同的情感極性. 表1 Laptop和Restaurant數(shù)據(jù)集統(tǒng)計(jì)Table 1 Statistic of Laptop and Restaurant Datasets 表2 2個數(shù)據(jù)集的子集劃分結(jié)果統(tǒng)計(jì)Table 2 Division Statistics About Subsets of Two Datasets DSDA模型在Laptop和Restaurant上均采用相同的超參數(shù)設(shè)置,如表3所示,并取訓(xùn)練集中的12%的數(shù)據(jù)進(jìn)行驗(yàn)證. 表3 DSDA模型的超參數(shù)設(shè)置Table 3 Hyper Parameter Setting for DSDA Model 為便于比較,采用公開的300維Glove詞向量[21].同時,針對Laptop采用電子產(chǎn)品評論數(shù)據(jù)集Amazon electronics[22]作為詞向量的訓(xùn)練語料,針對Restaurant采用Yelp開放數(shù)據(jù)集(https://www.yelp.com/dataset)作為詞向量的訓(xùn)練語料.其中前者共包含約782萬條評論,單詞總量為7.7億.后者共包含約470萬條評論,單詞總量為6.4億.具體訓(xùn)練參數(shù)如表4所示: 表4 詞向量訓(xùn)練參數(shù)設(shè)置Table 4 Parameter Setting for Word Vector Training 本實(shí)驗(yàn)的主要目的是在公開的Glove詞向量的基礎(chǔ)上對DSDA與當(dāng)前部分主流方法進(jìn)行對比,特別是部分基于注意力和記憶網(wǎng)絡(luò)的state-of-the-art方法.此外,還選取基于屬性位置信息的TD-LSTM模型以及筆者前期的工作DSAN[17]一起作為比較的基準(zhǔn)方法.各基準(zhǔn)方法對應(yīng)的模型簡介如下: 1) TD-LSTM[7].結(jié)合句子中屬性的位置將句子分為左右2部分,然后分別利用前向LSTM和后向LSTM進(jìn)行建模,最后將LSTM最后一個時間步的隱藏狀態(tài)串聯(lián)作為句子特征,并預(yù)測情感極性. 2) MemNet[14].基于記憶網(wǎng)絡(luò)MemNet及多層注意力機(jī)制的情感極性分類方法. 3) RAM[15].基于堆疊雙向LSTM的外部記憶矩陣和GRU網(wǎng)絡(luò)的循環(huán)注意力機(jī)制,并通過非線性組合構(gòu)成屬性相關(guān)的句子情感特征表示. 4) ATAE-LSTM[11].將屬性的特征表示和單詞的詞向量串聯(lián)作為LSTM的輸入,在此基礎(chǔ)上利用一個簡單的注意力機(jī)制進(jìn)行學(xué)習(xí)并構(gòu)造句子的表示. 5) IAN[16].通過LSTM對句子和屬性分別建模,然后采用交互式注意力分別學(xué)習(xí)句子和屬性中的重要特征,并將結(jié)果串聯(lián)用于預(yù)測情感極性. 6) DSAN[17].利用依存樹得到屬性與句子中各單詞的句法距離,并結(jié)合注意力機(jī)制生成屬性相關(guān)的句子特征表示. 為了便于與前期工作DSAN進(jìn)行對比,DTDA同樣采用sum和mean兩個注意力合并方式,并分別記為DTDA-sum和DTDA-mean.各模型在2種公開的300維Glove詞向量Glove 1.9M和Glove 2.2M上的實(shí)驗(yàn)結(jié)果如表5所示.Glove 1.9M使用的詞典大小為1.9M,單詞非大小寫敏感.Glove 2.2 M使用的詞典大小為2.2 M,單詞大小寫敏感.TD-LSTM,MemNet和RAM的數(shù)據(jù)來自文獻(xiàn)[15],ATAE-LSTM和IAN的數(shù)據(jù)來自文獻(xiàn)[16],而DSAN的數(shù)據(jù)來自文獻(xiàn)[17].表中各列最好的結(jié)果用黑體表示. 表5 各模型的實(shí)驗(yàn)結(jié)果比較Table 5 Experiment Result Comparison for Various Models 從表5可知: 1) DTDA在Laptop和Restaurant上均取得與RAM及DSAN相當(dāng)?shù)慕Y(jié)果,并超過其他4種方法.RAM是當(dāng)前已知的最好屬性級別情感分類方法.與RAM相比,DTDA的2種合并方式在Restaurant上均取得更好的結(jié)果,但在Laptop上DTDA的表現(xiàn)略低于RAM,主要的原因是RAM采用多層注意力,而DTDA只采用單層注意力.而且相對于Restaurant來說,Laptop中的大部分句子較長,而多層注意力機(jī)制能夠更好地學(xué)習(xí)到長距離的關(guān)系.從模型的結(jié)構(gòu)來看,RAM以屬性詞的詞向量作為其特征表示,然后利用GRU通過多層注意力逐層提取句子的不同特征,并將各層的結(jié)果進(jìn)行非線性組合.DTDA和DSAN均利用依存樹和GRU生成屬性的上下文特征,并融合單詞與屬性的距離信息,因此能夠生成更加準(zhǔn)確的句子特征表示.雖然RAM,DSAN和DTDA均采用了距離信息,但RAM基于相對距離,DSAN采用語法距離,而DTDA進(jìn)一步將兩者結(jié)合.從實(shí)驗(yàn)的結(jié)果來看,DTDA均比DSAN有一定的提升,說明將更加全面的距離信息能夠更好地刻畫單詞與屬性間的關(guān)系. 2) 在第1組實(shí)驗(yàn)中,DTDA-sum和DTDA-mean在2個數(shù)據(jù)集上的結(jié)果均超過ATAE-LSTM,IAN和DSAN.從屬性的特征構(gòu)造來看,ATAE-LSTM以屬性的詞向量作為屬性特征表示,IAN利用LSTM對屬性建模,而DTDA和DSAN均使用BGRU對屬性和屬性的修飾信息進(jìn)行建模.實(shí)驗(yàn)結(jié)果一方面說明屬性表征表示的重要性,另一方面也說明結(jié)合距離信息及注意力機(jī)制能更好地構(gòu)造屬性相關(guān)的情感特征信息,并最終提升模型的效果. 3) DTDA-sum和DTDA-mean在2個數(shù)據(jù)集中的表現(xiàn)均優(yōu)于TD-LSTM和MemNet.TD-LSTM利用LSTM對句子中屬性的左右部分分別建模,容易造成上下文信息不完整.MemNet簡單地以屬性的詞向量作為特征表示,雖然利用了多層注意力逐層線性累加結(jié)果,沒有考慮句子的上下文信息,而且比較依賴于詞向量的質(zhì)量. 本實(shí)驗(yàn)的主要目的是根據(jù)領(lǐng)域相關(guān)的預(yù)訓(xùn)練詞向量對DTDA和6種基準(zhǔn)方法進(jìn)行對比,并分析它們在S1,S2和S3上的結(jié)果.由文獻(xiàn)[17]可知,S1,S2和S3上的情感極性判定難度依次遞增.模型在S1和S2上的分類精確率很大程度上反映了模型對上下文信息的利用情況,而在S3上的分類精確率則更好地即體現(xiàn)模型對屬性和上下文的刻畫程度. 表6給出各模型在2個數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,表7為各模型在S1,S2和S3上的準(zhǔn)確率結(jié)果.其中各個基準(zhǔn)方法的數(shù)據(jù)來自于文獻(xiàn)[15-17]. 表6 各模型在Word2vec-skipgram詞向量上的結(jié)果Table 6 Results for Models on Word2vec-skipgramWord Vectors 從表6可知: 1) 與表5中相比,使用基于相近領(lǐng)域語料訓(xùn)練所得的詞向量后,MemNet,ATAE-LSTM,DSAN和DTDA在Laptop和Restaurant上的效果均有較好的提升.TD-LSTM和IAN在Restaurant上與表5相比也有一定的提升.但RAM因原文獻(xiàn)[15]中沒有提供詳細(xì)的超參數(shù),因此本文的實(shí)驗(yàn)結(jié)果不如原文. 2) 各個模型使用Word2vec-skipgram詞向量后,DTDA-sum取得最好結(jié)果.相對于表5,DTDA-sum和DTDA-mean在2個數(shù)據(jù)集上的P和MF1均有一定的提升,而MemNet在Laptop和Restaurant上的精確率P均有2%以上的提升.這說明采用相近的語料進(jìn)行詞向量預(yù)訓(xùn)練能更好地學(xué)習(xí)到相關(guān)的領(lǐng)域知識和提升模型效果.而且,DTDA比DSAN在2個數(shù)據(jù)集均有略微的提升,這說明DTDA中更加全面的距離信息有助于提升模型的效果. 表7 各模型在S1,S2和S3上的準(zhǔn)確率比較Table 7 Accuracy Comparison for Various Models onS1, S2 and S3 從表7可知: 1) 所有模型在判定難度最高的S3上的準(zhǔn)確率表現(xiàn)均低于S1和S2,在S2上的表現(xiàn)最好,在S1上的表現(xiàn)次之.主要原因一方面是因?yàn)镾3所包含的訓(xùn)練數(shù)據(jù)最少,導(dǎo)致模型缺乏充分的訓(xùn)練,而且其判定難度最大.而S2的訓(xùn)練數(shù)據(jù)最多,因此雖然判定難度略高于S1,但總體表現(xiàn)最好. 2) 各模型在S1,S2和S3上的準(zhǔn)確率表現(xiàn)各有優(yōu)劣.TD-LSTM在2個數(shù)據(jù)集的S1和S2上的表現(xiàn)較差,也不如其他幾種基準(zhǔn)方法,主要原因是因?yàn)榫渥拥那蟹謱?dǎo)致上下文信息不完整.但TD-LSTM在S3上的表現(xiàn)不錯,主要原因是因?yàn)閷渥泳植啃畔⒌年P(guān)注降低了整體對單個屬性的情感極性影響.RAM,ATAE-LSTM和IAN在3個子集上的表現(xiàn)各有優(yōu)劣,但是在S3上的表現(xiàn)不如TD-LSTM,主要原因是因?yàn)槠鋵傩蕴卣鞅硎痉椒ú煌?MemNet在3個子集上的表現(xiàn)較好,主要是因?yàn)樵~向量中包含了相近領(lǐng)域的知識,因此在線性組合過程中較好地得到知識的遷移. 3) DTDA在3個子集上均表現(xiàn)良好.相比于其他方法,DTDA在S1和S2上的提升最大,但在S3上不如DSAN.DSAN-sum在S3上取得最好的表現(xiàn),超過了DTDA-sum及其他方法,我們認(rèn)為主要是因?yàn)閟um方式降低了句子整體情感信息對單個屬性的情感極性的影響,而DTDA由于融合了相對距離信息,造成訓(xùn)練參數(shù)更多,因此隨著S3判定難度的增加及訓(xùn)練數(shù)據(jù)的減少,DTDA-sum的效果反而不如DSAN-sum. 總體上DTDA均取得較好的表現(xiàn),并且在S1和S2上均略高于DSAN,這說明通過屬性子句所得到的屬性特征表示能夠使注意力機(jī)制學(xué)習(xí)到更加合適的權(quán)重,并且結(jié)合距離信息能夠更好地區(qū)別出句子中不同單詞對不同屬性的情感極性的影響. 本實(shí)驗(yàn)主要分析依存子樹對模型效果的影響,共包含5個模型: 1) W-AN.取屬性中所有單詞的詞向量平均值作為屬性的特征表示. 2) A-AN-sum.使用BGRU對屬性建模,并將其隱藏狀態(tài)矩陣作為屬性的特征表示,不包含屬性的修飾信息,采用sum合并句子的注意力值. 3) DSAN-sum.使用BGRU對屬性子句建模,并同樣采用sum方式. 4) DTDA-sum-rel.表示使用BGRU對屬性子句進(jìn)行建模,并采用相對距離和sum方式. 5) DTDA-sum.表示在DTDA-sum-R的基礎(chǔ)上采用語法距離和sum方式. 所有模型均使用表6中的預(yù)訓(xùn)練詞向量,表8和表9分別為上述5種模型在2個數(shù)據(jù)集及各子集S1,S2和S3上的結(jié)果.W-AN,A-AN-sum和DSAN-sum的結(jié)果均來自于文獻(xiàn)[17]. 從表8中可知,隨著W-AN,A-AN-sum,DSAN-sum和DTDA-sum中所包含的信息越來越豐富,模型的效果也依次得到提升,其中DTDA-sum取得最好的效果.從DTDA-sum-rel和DSAN-sum的比較來看,單純?nèi)诤舷鄬嚯x反而降低了模型的效果,我們認(rèn)為主要原因是因?yàn)檫@2個語料集中存在許多長句子,且句子結(jié)構(gòu)并不是非常規(guī)范,而相對距離強(qiáng)化了與屬性距離更近的單詞的影響力,因此在一定程度上反而造成了干擾.從DTDA-sum和DTDA-sum-rel的結(jié)果可知,結(jié)合語法距離能夠降低離與屬性較近的無關(guān)單詞的影響,從而提升模型的效果. 表8 不同屬性特征表示方式的結(jié)果Table 8 Results for Different Aspect Feature Representations 表9 不同屬性特征表示方式在S1,S2和S3上的準(zhǔn)確率結(jié)果Table 9 Accuracy Results for Different Aspect FeatureRepresentations on S1, S2 and S3 從表9可知,在屬性情感判定難度最大的子集S3上DTDA取得與DSAN-sum相當(dāng)或更好的準(zhǔn)確率效果,并在S1和S2均超過DSAN-sum,這證明了更加全面的距離信息有助于生成更加準(zhǔn)確的句子特征表示.在實(shí)驗(yàn)過程中,我們發(fā)現(xiàn)在注意力計(jì)算過程中采用向量mask對PAD進(jìn)行屏蔽后,并沒有提升模型的效果,但可加快模型的訓(xùn)練. 本實(shí)驗(yàn)主要驗(yàn)證2種距離信息對DTDA的影響.實(shí)驗(yàn)中使用Glovec 2.2M和Word2vec-skipgram詞向量,并分別對比DTDA-sum和DTDA-mean使用和不使用距離信息時的表現(xiàn),實(shí)驗(yàn)結(jié)果如表10和表11所示,其中base表示未使用距離信息,rel表示只使用相對距離信息. 表10 距離信息在Laptop和Restaurant上的實(shí)驗(yàn)結(jié)果Table 10 Experiment Results for Distance Information on Laptop and Restaurant 表11 距離信息在S1,S2和S3上的準(zhǔn)確率結(jié)果Table 11 Accuracy Results for Distance Information on S1, S2 and S3 從表10和表11中可知,DTDA-sum和DTDA-mean同時使用相對距離及語法距離時均比不使用距離時的效果有全面的提升,這證明了相對距離及語法距離的有效性.從DTDA 在Laptop和Restaurant的子集S3上的表現(xiàn)看,可發(fā)現(xiàn)距離信息在大部分情況都有效. 圖10和圖11分別給出DTDA在Laptop和Restaurant的子集S3,以及在Laptop的子集S1和S2上不使用距離信息(base)和使用2種距離信息(both)的準(zhǔn)確率對比,詞向量均為Word2vec-skipgram. 從圖10可知,距離信息有效地提升了DTDA在S3上的表現(xiàn).從圖11可知,距離信息有助于提升DTDA在Laptop S1上的效果,但卻降低了在S2上的效果.我們在文獻(xiàn)[17]中也證明了這一點(diǎn).主要的原因可能是因?yàn)榛谙嘟I(lǐng)域語料訓(xùn)練所得的詞向量本身包含了的領(lǐng)域知識,因此距離信息反而作用不明顯,甚至?xí)δP驮斐筛蓴_.S2中的屬性情感受句子的整體情感極性影響較大,距離信息容易強(qiáng)化與屬性距離較近的單詞的影響力.綜合DTDA及DSDAtt的結(jié)果可知,距離信息均較適合于詞向量質(zhì)量相對較差的情況. Fig. 10 Accuracy comparisons of distance information on S3圖10 距離信息在S3上的準(zhǔn)確率對比 Fig. 12 Attention distribution for DTDA-sum on “food” and “service”圖12 DTDA-sum對“food”和“service”的注意力分布 Fig. 13 Attention distribution for DTDA-mean on “food” and “service”圖13 DTDA-mean對屬性“food”和“service”的注意力可視化 本實(shí)驗(yàn)的主要目的是通過可視化分析注意力機(jī)制的有效性.以Restaurant中的句子“Great food but the service was dreadful!”為例,屬性“food”的情感極性為Pos,“service”的情感極性為Neg.圖12和圖13分別給出DTDA-sum和DTDA-mean對這2個屬性的不同注意力權(quán)重分配結(jié)果. 從圖12和圖13可以看出: 1) 對于屬性“food”,在DTDA-sum中“Great”和“dreadful”都獲得較大的注意力權(quán)重,但相對來說“Great”上的注意力權(quán)重更大.對于屬性“service”,在DTDA-sum中“dreadful”得到53%的注意力權(quán)重,明顯超過其他單詞.DTDA-sum對屬性“food”和“service”的預(yù)測結(jié)果均為正確. 2) 對于屬性“food”和“service”,在DTDA-mean中注意力權(quán)重分布相對更為均勻.例如,對于“food”,“Great”的注意力權(quán)重只比“dreadful”略高一些,因此最終預(yù)測情感為Pos的概率只比Neg的概率略高.同樣,對于“service”也存在類似情況. 總體來看,雖然DTDA對于該句子的預(yù)測結(jié)果均為正確,但顯然在sum方式中模型更關(guān)注局部信息,而在mean方式中模型則更關(guān)注全局信息. 句子的屬性情感分類是近年自然語言處理領(lǐng)域的一個研究熱點(diǎn).本文針對目前相關(guān)研究中沒有考慮屬性的上下文信息及單詞與屬性間的距離信息,結(jié)合依存樹及距離信息提出一種基于注意力機(jī)制的句子屬性情感分類模型DTDA,通過利用依存樹得到更加完整的屬性子句信息,并結(jié)合相對距離和語法距離進(jìn)一步生成包含語義及距離信息的句子特征信息,從而更好地幫助模型進(jìn)一步學(xué)習(xí)注意力權(quán)重,并提升分類的效果.DTDA在SemEval2014的2個基準(zhǔn)數(shù)據(jù)集Laptop和Restaurant上均獲得接近當(dāng)前最好的效果.當(dāng)使用相關(guān)領(lǐng)域語料訓(xùn)練的詞向量后,DTDA在Laptop上的準(zhǔn)確率77.01%,在Restaurant上的準(zhǔn)確率為81.68%. 下一步將繼續(xù)完善本文的工作,一方面將依存子樹的屬性特征表示與多注意力機(jī)制相結(jié)合,另一方面探討更加有效的屬性位置信息編碼方式.
0≤s2.4 編碼層
2.5 注意力層
2.6 輸出層
3 模型訓(xùn)練
4 實(shí)驗(yàn)及分析
4.1 實(shí)驗(yàn)準(zhǔn)備
4.2 實(shí)驗(yàn)1:與相關(guān)工作的比較
4.3 實(shí)驗(yàn)2:判定難度對比
4.4 實(shí)驗(yàn)3:依存子樹作用分析
4.5 實(shí)驗(yàn)4:距離信息分析
4.6 實(shí)驗(yàn)5:注意力權(quán)重可視化
5 結(jié)束語