張千錕,韓 虎,郝 俊
(蘭州交通大學(xué)電子與信息工程學(xué)院,甘肅 蘭州 730070)
隨著互聯(lián)網(wǎng)的飛速發(fā)展,電商平臺和社交媒體聚攏了大量的評論文本數(shù)據(jù),基于文本對人們持有的意見觀點進行挖掘,具有重要的科研價值和社會價值。情感分析是自然語言處理NLP(Natural Language Processing)領(lǐng)域的基本任務(wù)之一,其目的是借用計算機輔助手段,對文本中產(chǎn)品、服務(wù)、個人、組織、話題、事件及其屬性的情緒、觀點、態(tài)度和評論進行分析[1]。
方面級情感分類作為情感分析方法研究的重點關(guān)注問題之一,旨在解析評論文本中多個不同方面的情感極性,與傳統(tǒng)情感分類任務(wù)相比,是在一個更細粒度的層面獲取句子情感傾向[2,3]。例如,在“The voice quality of this phone is amazing,but the price is ridiculous”中,“voice quality”和“price”是2個不同的方面。其中,方面詞“voice quality”表達積極情感,而方面詞“price”表達消極情感。
當(dāng)前對方面級情感分類建模的方法主要有傳統(tǒng)機器學(xué)習(xí)和深度學(xué)習(xí)2種。使用機器學(xué)習(xí)構(gòu)建分類模型主要通過對人工標(biāo)注的數(shù)據(jù)集進行特征提取和學(xué)習(xí)[4],人工定義特征耗時耗力,不易推廣。與之相比,深度學(xué)習(xí)技術(shù)可以自行提取數(shù)據(jù)的內(nèi)在特征,廣泛應(yīng)用于自然語言處理,因此,越來越多的研究人員使用神經(jīng)網(wǎng)絡(luò)構(gòu)建方面級情感分類任務(wù)模型。Dong等[5]將文本輸入遞歸神經(jīng)網(wǎng)絡(luò)RNN(Recursive Neural Network),借助句法結(jié)構(gòu)信息獲取基于特定方面詞的評論語句情感傾向。然而此類模型高度依賴句法分析效果,對表達較口語化的文本分類效果不夠理想(如Twitter數(shù)據(jù))。當(dāng)前研究表明,以循環(huán)神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)構(gòu)建的分類模型在該類問題上取得了較好的效果。Tang等[6]利用長短時記憶LSTM(Long Short-Term Memory)網(wǎng)絡(luò)解析語句針對特定目標(biāo)的情感傾向。Zhang等[7]采用雙向門控循環(huán)單元BiGRU(Bidirectional Gated Recurrent Unit)構(gòu)建依賴特定目標(biāo)的分類模型。上述方法雖然效果較好,但在處理上下文時缺乏有效的針對性,未能基于方面詞獲取上下文中每一個詞的相對重要程度。
注意力機制(Attention Mechanism)可以通過計算得出文本中不同上下文詞相對于方面詞的重要性。Wang等[8]通過注意力機制強化目標(biāo)詞和重要上下文詞之間的聯(lián)系。Tang等[9]在評測某一方面的情感極性時,使用記憶網(wǎng)絡(luò)MemNet(Memory Network)與多個神經(jīng)注意層準(zhǔn)確捕捉每個上下文單詞的重要性。Wang等[10]將方面詞嵌入和上下文嵌入結(jié)合起來,在LSTM隱藏層利用注意力學(xué)習(xí)上下文的權(quán)重值。Ma等[11]利用交互注意力網(wǎng)絡(luò)IAN(Interactive Attention Network)交互學(xué)習(xí)上下文和方面詞2部分內(nèi)容,通過這種設(shè)計,IAN模型能夠很好地獲取方面詞意見特征。雖然這些基于注意力的神經(jīng)網(wǎng)絡(luò)模型善于捕捉方面詞和上下文之間的語法和語義關(guān)系,但是由于評論文本一般較短且口語化,且常常存在一些新詞和多義詞,在理解這類文本時依然存在一定的局限性。例如在“The safari opened so fast that I couldn’t see it clearly”中,傳統(tǒng)方法無法捕獲“safari”是瀏覽器這一信息,進而不能結(jié)合“fast”識別句中表達的“瀏覽器safari運行速度快”這一積極情感。
如何融合外部知識來精確詞義,已成為一個新的研究課題。針對以上問題,Wang等[12]提出融合文本顯式和隱式表示,將文本與知識庫中的概念相關(guān)聯(lián),結(jié)合卷積神經(jīng)網(wǎng)絡(luò)從這種聯(lián)合嵌入中獲取文本特征。Zhao等[13]將外部知識和文本以句子樹的形式輸入到預(yù)訓(xùn)練語言模型中,在同一向量空間得到蘊含知識的文本語義表示。Wang等[14]通過將文本映射為一組外部知識中的相關(guān)概念提高模型性能。Tian等[15]通過在未標(biāo)注的數(shù)據(jù)中挖掘句子中的情感詞、詞的極性和方面-情感詞對,結(jié)合訓(xùn)練任務(wù)將其作為情感知識整合到預(yù)訓(xùn)練語言模型中,得到帶有情感特征的語義表示,取得了較好的分類效果。Liang等[16]結(jié)合分配權(quán)重信息的外部情感知識構(gòu)建圖網(wǎng)絡(luò)模型用于情感分類。Chen等[17]利用注意力機制將高質(zhì)量的概念知識有效融入到文本中用于模型分類。借鑒以上方法,本文提出一種模型,從外部知識庫中檢索方面詞的背景知識,進一步增強文本語義表示,并利用雙注意力機制添加知識篩選功能。首先利用雙向LSTM編碼文本,獲取句子內(nèi)在語義特征。其次利用2個注意力機制計算方面概念集的權(quán)重,得到知識的嵌入表示。最后結(jié)合上下文和知識的向量表示用于分類。本文的主要工作如下:
(1)將知識圖譜引入方面級情感分類任務(wù)中,通過增加外部先驗知識提升模型泛化能力。
(2)利用雙注意力機制與知識圖譜中的先驗知識對方面詞進行語義消歧,提升模型語義解析能力。
(3)在3個該領(lǐng)域廣泛使用的標(biāo)準(zhǔn)數(shù)據(jù)集Laptop、Restaurant、Twitter上對模型性能進行驗證。實驗結(jié)果表明本文模型優(yōu)于當(dāng)前主流的模型。
方面級情感分類旨在獲取文本中給定方面詞信息的情感傾向,為了提高模型的性能,需要獲取針對特定方面詞的上下文表示。Jiang等[3]對一個Twitter情緒分類器的評估結(jié)果表明,情感分析任務(wù)中40%的錯誤來源于忽略了句中的方面詞信息。
注意力機制最早應(yīng)用于圖像處理領(lǐng)域,由于其可以在高層語義捕獲文本中詞的相對重要程度,現(xiàn)已被廣泛應(yīng)用于自然語言處理的研究工作中[18]。
Attention函數(shù)實質(zhì)上是一個由許多Query和Key-Value組成的映射函數(shù)[19]。公式主要有如下3部分:
(1)計算Query和每個Key的相似度分?jǐn)?shù),如式(1)所示:
f(Q,K)=QKT
(1)
(2)使用Softmax函數(shù)對相似度得分歸一化得到相應(yīng)權(quán)重矩陣,如式(2)所示:
X=Softmax(f(Q,K))
(2)
(3)將權(quán)重和相應(yīng)的值Value加權(quán)求和,如式(3)所示:
Attention(Q,K,V)=XV
(3)
其中,Q代表查詢,K-V是文本向量鍵值對。
知識圖譜作為一種重要的外部知識來源,可以為句子提供豐富的背景信息,極大豐富上下文的語義信息[20]。Liang等[21]通過知識來加強句法依賴樹,獲得補充依賴圖,并對補充依賴圖進行方面詞增強處理,生成最終的情感表示用于分類。Bian等[22]結(jié)合多頭注意力機制從外部知識庫篩選知識增強文本語義表示,提高情感分類準(zhǔn)確率。Cao等[23]借助領(lǐng)域知識通過實體詞替換機制,不僅提高了模型的分類性能,而且還加快了模型的訓(xùn)練速度。由此可見將知識圖譜應(yīng)用到自然語言處理中,可以超越文本自身的局限性,向其注入詞向量以外的知識信息[24]。
微軟亞洲研究院發(fā)布的Microsoft Concept Graph知識圖譜利用數(shù)以億計的網(wǎng)頁數(shù)據(jù)和搜索日志模擬人類意識中的常識知識[20]。借助其大量的實體信息和關(guān)系信息將文本詞條映射到不同的語義概念上,在實際應(yīng)用中為計算機提供有助于文本理解的先驗知識,其表現(xiàn)形式為實例、概念、關(guān)系的三元組。相對于傳統(tǒng)的詞向量,這種概念化是機器和人都可以理解的,已應(yīng)用到大量的現(xiàn)實任務(wù)中。本文利用其進行語義消歧。
由于在評論文本中,大量用戶的情感表達采用意義轉(zhuǎn)折或暗喻等方式,文本表達方式不規(guī)則,常規(guī)詞包含信息較少。為了避免造成方面詞的語義歧義,影響分類精度,本文借助知識圖譜獲取方面詞的概念集,結(jié)合雙注意力機制通過外部知識精準(zhǔn)獲取方面詞詞義,明確文本特征,從而提高模型性能。
本文提出的基于雙注意力融合知識的方面級情感分類模型DATTK(Dual ATTention Know-ledge)在結(jié)構(gòu)上主要由評論文本編碼和方面詞概念知識編碼2部分組成,整體結(jié)構(gòu)如圖1所示。
Figure 1 Structure of DATTK model
給定一條長度為n的評論文本R=(w1,…,ws,ws+1,…,ws+m,ws+m+1,…,wn),其中(ws+1,…,ws+m)表示評論中某一方面詞,通過建模得到基于方面詞的上下文表示。
分布式表示可以表達文本的語義特征,為便于對非結(jié)構(gòu)化文本進行處理,本文將評論文本映射為低維實值向量形式,并將其作為模型的輸入。對于評論R中的每個詞wi∈R,通過詞嵌入得到向量xi∈Ru,即x={x1,…,xs,xs+1,…,xs+m,xs+m+1,…,xn},其中,u表示詞向量的維度,i(1≤i≤n)表示單詞的索引。
將評論文本視作單詞序列,詞向量作為模型的輸入缺乏對序列內(nèi)部隱藏信息的表示,為了獲取評論句法層面的有效表達,將淺層特征轉(zhuǎn)換為深層特征。本文利用BiLSTM網(wǎng)絡(luò)得到文本特征表示,如式(4)和式(5)所示:
(4)
(5)
自注意力機制通過對評論中的每一個詞和其他所有詞進行權(quán)重計算,學(xué)習(xí)句子內(nèi)部的詞依賴關(guān)系。將每個時刻的隱藏狀態(tài)ht輸入自注意權(quán)重計算模塊,如式(6)所示:
(6)
本文借助Concept Graph對方面詞概念化,得到其概念集C={c1,c2,…,cs}(ck是第k個概念的向量表示,1≤k≤s,s表示概念集中概念個數(shù)),精確方面詞詞義內(nèi)涵。外部知識庫信息繁雜多樣,過多的知識融入可能讓句子偏離其正確語義,為了解決知識噪聲(Knowledge Noise)的問題,本文采用雙重注意力機制的設(shè)計,提取文本重要的概念信息。
利用評論文本特征q和概念集C進行注意力計算,測量第k個概念與評論文本的相似度,如式(8)所示:
(7)
(8)
其中,αk為評論文本特征向量q對概念集中第k個概念的關(guān)注度,關(guān)注度越高表示概念信息對文本語義越重要;σ′(·)表示對輸入向量中的每個元素利用tanh進行激活。W1為權(quán)重矩陣;w1為權(quán)重向量;b1為偏置。
為了在概念集上衡量每個概念的相對重要程度,面向概念集采用自注意力計算每個概念的相對權(quán)重,如式(9)和式(10)所示:
(9)
(10)
其中,βk表示第k個概念對整個概念集的重要程度。這是一種相對特征選擇,通過賦予更大的權(quán)重值突出概念的重要性,W2為權(quán)重矩陣,w2為權(quán)重向量,b2為偏置。
利用式(11)和式(12)將2個注意力權(quán)重值結(jié)合起來,得到最終的概念權(quán)重:
b′k=γαk+(1-γ)βk
(11)
(12)
其中,γ∈[0,1]是調(diào)整αk和βk權(quán)值重要性的參數(shù)。
利用概念權(quán)重bk對其進行加權(quán)求和計算,得到方面詞的概念向量r,如式(13)所示:
(13)
將前面的評論文本特征向量q和r拼接為一個向量v作為最終的分類特征表示,如式(14)所示:
v=[q;r]
(14)
得到最終的特征表示v后,將其輸入到一個全連接層,利用Softmax函數(shù)的輸出進行分類,如式(15)所示:
p=Softmax(Wv+b)
(15)
其中,W是Softmax對應(yīng)的權(quán)重矩陣,b是偏置向量。
以交叉熵損失函數(shù)作為模型訓(xùn)練的優(yōu)化目標(biāo)函數(shù),如式(16)所示:
(16)
其中,yl表示第l類樣本的真實情感極性,c表示訓(xùn)練樣本的類別數(shù),pl表示模型預(yù)測的第l類樣本的情感極性,θ表示模型中的可訓(xùn)練參數(shù),λ表示L2正則化系數(shù)。
為驗證模型的有效性,本文在5個基準(zhǔn)數(shù)據(jù)集(Twitter,Lap14,Rest14,Rest15,Rest16)上進行實驗評估。上述數(shù)據(jù)集來自于Twitter[5]和SemEval(SemEval14[25],SemEval15[26],SemEval16[2]),所有樣本均被標(biāo)注為積極、消極和中性。數(shù)據(jù)集來自不同領(lǐng)域,從而可以更好地驗證本文模型的泛化性。具體信息如表1所示。
Table 1 Datasets statistics
本文實驗所使用的平臺相關(guān)配置信息如表2所示。
Table 2 Experimental platform setting
本文采用GloVe(Global Vectors for word representation) 預(yù)訓(xùn)練的詞向量對評論文本中的詞進行初始化,對于權(quán)重參數(shù)和未出現(xiàn)過的新詞,使用均勻分布U(-0.1,0.1)隨機初始化,學(xué)習(xí)步長設(shè)置為0.001。具體參數(shù)設(shè)置如表3所示。
Table 3 Setting of parameters
本文使用準(zhǔn)確率Acc(Accuracy)和F1值作為評價指標(biāo)。
準(zhǔn)確率Acc:分類正確的樣本數(shù)除以樣本總數(shù),如式(17)所示:
(17)
其中,K表示模型分類預(yù)測正確的樣本數(shù),N表示所有的評論樣本總數(shù)。
F1作為對模型綜合衡量的指標(biāo),如式(18)所示:
(18)
其中,精度Precision和召回率Recall分別表示查準(zhǔn)的概率和查全的概率。
本文使用以下模型作為對比模型:
(1)LSTM:利用LSTM編碼上下文信息,將其最后一層隱藏向量作為文本特征表示輸入到分類器中。
(2)TD-LSTM(Target-Dependent LSTM)[6]:利用2個LSTM分別對加入方面詞的左上下文和右上下文建模,將2個輸出連接作為最終表示,用于分類。
(3)ATAE-LSTM(ATtention-based LSTM with Aspect Embedding)[10]:將方面嵌入附加到詞向量和上下文隱藏表示中,利用注意力機制捕捉句子中的重要部分。
(4)Mem-Net(Memory Network)[9]:使用深度記憶網(wǎng)絡(luò)與注意力機制對方面詞和上下文詞進行多次注意力計算。
(5)IAN[11]:使用2個注意力交互學(xué)習(xí)上下文和目標(biāo)的權(quán)重,生成上下文和目標(biāo)的表示。
(6)AOA(Attention-Over-Attention neural network)[27]:以聯(lián)合的方式為上下文和方面詞建模,并明確捕捉上下文和方面詞之間的語義交互,共同學(xué)習(xí)上下文和方面詞表示。
(7)ASCNN(Aspect-Specific Convolutional Neural Network)[28]:利用雙層卷積神經(jīng)網(wǎng)絡(luò)聚合上下文的語義信息,并結(jié)合注意力機制進行情感分類。
本文在Twitter、Lap14、Rest14、Rest15和Rest16數(shù)據(jù)集上進行對比實驗,實驗結(jié)果如表4所示,其中DATTK-D為去除知識圖譜的DATTK模型。觀察發(fā)現(xiàn),本文提出的DATTK模型在不同的數(shù)據(jù)集上均取得了比較好的性能,與對比模型中效果最好的ASCNN模型相比在Twitter、Lap14、Rest15和Rest16數(shù)據(jù)集上的Acc值分別提升了1.49%,1.83%,2.17%和0.27%,在Twitter、Lap14、Rest15和Rest16數(shù)據(jù)集上的F1值均有所提高,僅在Rest14數(shù)據(jù)集上存在較差值,進一步驗證了本文所提模型的優(yōu)越性。
Table 4 Comparison of experimental results of different models
對比所有基線模型,LSTM模型性能最差,這是因為LSTM對句子整體建模,沒有考慮方面詞的重要性。因此,當(dāng)考慮到方面詞信息時,TD-LSTM模型與LSTM模型相比,在Twitter、Lap14和Rest14 這3個數(shù)據(jù)集上的分類性能都有明顯的提升。ATAE-LSTM模型利用注意力機制更好地選擇上下文信息,其實驗效果明顯優(yōu)于TD-LSTM模型的。Mem-Net模型采用注意力機制并通過深度網(wǎng)絡(luò)對文本進行多次特征抽象,獲取優(yōu)異的特征。IAN模型考慮到方面詞和上下文的交互性,性能提升較明顯,以上模型均證明了注意力機制在提取特征時的重要作用。
本文模型在Lap14和Rest15數(shù)據(jù)集上的提升效果最顯著。這是由于這2個數(shù)據(jù)集中評論文本相對較短,且數(shù)據(jù)集中樣本數(shù)量相對較少,缺乏足夠的上下文信息,在沒有先驗知識做補充的情況下基于深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練效果較差。故考慮將外部先驗知識作為顯性特征納入模型中和評論文本共同參與訓(xùn)練,利用外部領(lǐng)域知識來補償有限的訓(xùn)練數(shù)據(jù),不僅緩解了基于深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型對大規(guī)模訓(xùn)練數(shù)據(jù)的高度依賴問題,而且強化了方面詞的語義表示,使得模型根據(jù)現(xiàn)有知識具備了更強大的推理分析能力,更有利于判別評論文本針對方面詞的情感極性。
從表4可以看出,大部分情況下DATTK模型分類效果是最好的,但是在Twitter數(shù)據(jù)集上Acc和F1值的提升相對較少。這主要是因為該數(shù)據(jù)集中是用戶的推文和評論,本身已經(jīng)具備一定的上下文信息,預(yù)訓(xùn)練的詞向量已經(jīng)蘊含了有效的特征信息,不再需要多余知識的補充。本文提出的模型使用雙注意力機制對輸入的概念集進行編碼,這是因為方面詞概念集中有可能存在與文本語義無關(guān)的概念,過多外部知識的注入可能使句子偏離其正確語義,通過計算短文本與其概念集中的概念的注意力權(quán)重,賦予與短文本相關(guān)度高的概念較大的權(quán)值,通過這種方案可以一定程度上解決模型中輸入的噪聲問題,使重要的且與評論文本相關(guān)的概念獲取更高的權(quán)重,因此DATTK模型有一定的優(yōu)越性。
此外,本文通過去除知識圖譜進一步驗證先驗背景知識的重要性,如表4中DATTK-D的實驗結(jié)果所示,去除知識圖譜的模型在5個數(shù)據(jù)集上的Acc和F1值均不及DATTK模型的,因此借助知識圖譜對方面詞進行語義消歧,可以顯著提升模型的分類效果。
為驗證方面詞概念集雙注意力對知識篩選有用,本節(jié)通過更改參數(shù)γ比較2種注意力機制的相對重要性。將γ從0變到1,以0.25為間隔,實驗結(jié)果如表5所示。可以看出數(shù)據(jù)集不同,相對最優(yōu)性能的參數(shù)也不同。一般情況下,當(dāng)γ=0.5時效果最佳;當(dāng)γ為0或1時,效果最差。當(dāng)γ=1時,僅使用了上下文對概念的注意力,忽略了概念集中每個概念的相對重要性;當(dāng)γ=0時,僅使用了概念集自注意力,忽略了上下文與方面詞概念的語義相似性,這種情況可能會給與上下文無關(guān)的概念分配較大的權(quán)值,導(dǎo)致評論文本語義發(fā)生偏差。
Table 5 Comparison of experimental results of different γ
本文提出的基于雙注意力融合知識的方面級情感分類模型,首先借助雙向長短時記憶網(wǎng)絡(luò)獲取評論文本的特征信息,結(jié)合自注意力機制增強上下文之間的語義聯(lián)系;然后從知識庫中獲取方面詞概念集,利用雙注意力機制提取重要概念信息;最后將融入了先驗知識的文本表示輸入到全連接層獲取預(yù)測結(jié)果。實驗結(jié)果表明,本文模型在5個數(shù)據(jù)集上的分類性能都有一定的提升,表明了方面詞外部知識的重要性。在后續(xù)的工作中,除了概念信息,也可以考慮將屬性信息納入到模型中,并且可以考慮引入攜帶情感信息的知識圖譜來提升模型的情感分析性能。