彭祝亮,劉博文,范程岸,王 杰,肖 明,,廖澤恩
(1.廣東工業(yè)大學(xué) 自動化學(xué)院 廣東省物聯(lián)網(wǎng)信息技術(shù)重點(diǎn)實(shí)驗室,廣州 510006; 2.廣州大學(xué) 廣東省現(xiàn)代視聽信息工程技術(shù)研究中心,廣州 510006)
在網(wǎng)絡(luò)上發(fā)表意見和表達(dá)情感的現(xiàn)象已經(jīng)非常普遍。對社交網(wǎng)絡(luò)文本信息中蘊(yùn)涵的觀點(diǎn)和情感進(jìn)行分析,挖掘其情感傾向,有助于更高效正確地作出決策[1-2]?;诜矫娴那楦蟹治?Aspect-Based Sentiment Analysis,ABSA)是目前挖掘社交網(wǎng)絡(luò)文本信息的重要方法,可進(jìn)行細(xì)粒度的情感分析,比普通情感分析方法更優(yōu)越。
近年來,基于深度學(xué)習(xí)的方法在自然語言處理領(lǐng)域具有許多成功案例[3]。文獻(xiàn)[4]提出了基于特定方面的關(guān)系分類模型,文獻(xiàn)[5]提出了基于特定目標(biāo)的句子對建模模型,文獻(xiàn)[6]提出了基于方面情感分析的深度分層網(wǎng)絡(luò)模型。在訓(xùn)練過程中,這些方法可以提取出特定方面的特征信息,但在通常情況下每次僅能處理一個特定方面。
然而,基于方面情感分析需要對句子中不同方面的情感極性進(jìn)行判斷,不僅需要利用句子的上下文信息,還需要利用特定方面的情感信息[7]。例如,句子“great food but the service was dreadful”,在“food”方面是積極情感,而在“service”方面則是消極情感。因此,在同一個句子中,針對不同的方面會有不同的情感極性,甚至是相反的情感極性。此外,如果一個句子包含多個不同的方面,現(xiàn)有方法需要多次重復(fù)輸入,在結(jié)合了注意力機(jī)制的模型中,由于不同的方面共用一套注意力參數(shù),因此在情感極性模糊或含有隱含情感等情況下,難以對特定方面的隱藏情感特征進(jìn)行有效關(guān)注。
針對上述問題,本文提出一種基于雙向長短記憶(Bidirectional Long Short-Term Memory,BLSTM)和方面注意力模塊的方面情感分析方法。利用雙向LSTM對輸入樣本進(jìn)行編碼,然后使用多個方面注意力模塊進(jìn)行解碼。每次輸入句子時,對句子中不同方面同時進(jìn)行情感極性分類,以解決傳統(tǒng)方法每次只能處理一個特定方面的問題。此外,每個方面注意力模塊各自具有對應(yīng)的方面信息,并且相互獨(dú)立地進(jìn)行注意力參數(shù)的學(xué)習(xí)和調(diào)整,使模型在情感極性表達(dá)不清晰的情況下能充分挖掘特定方面的隱藏特征。
機(jī)器學(xué)習(xí)方法已廣泛應(yīng)用于基于方面的情感分析任務(wù)[8-9],但需要對文本進(jìn)行大規(guī)模預(yù)處理,并實(shí)施復(fù)雜的特征工程。而深度學(xué)習(xí)方法也能夠應(yīng)用于文本分類等多種自然語言處理任務(wù),效果優(yōu)于機(jī)器學(xué)習(xí)方法,并且極大地減輕了模型對人工規(guī)則與特征工程的依賴,因此成為解決方面情感分析問題的主流方法。
深度學(xué)習(xí)與方面信息或注意力機(jī)制結(jié)合后,能夠在方面情感分類任務(wù)上取得更好的分類性能,并且無需依賴句法分析等外部知識。如文獻(xiàn)[10]提出一種基于門控機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)GCAE模型,應(yīng)用方面信息,對不同方面進(jìn)行特定向量化處理,并將方面信息與文本上下文的關(guān)聯(lián)程度作為文本的特征表示,從而提升了處理速度與分類效果。文獻(xiàn)[11]使用一種基于多注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)來解決方面情感分析問題,該網(wǎng)絡(luò)結(jié)合了3種注意力機(jī)制,使模型能通過多種渠道獲取文本有關(guān)特定方面的情感特征,判別出對應(yīng)的情感極性。此外,文獻(xiàn)[12]提出了一種基于注意力機(jī)制的長短記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)模型,在輸入層和LSTM隱藏層上加入了方面信息,并在LSTM隱藏層上使用注意力機(jī)制以高度關(guān)注有關(guān)特定方面的特征信息,從而在方面情感分析任務(wù)中得到較好的情感分類效果。然而,這些模型每次只能處理一個方面,并且不同方面共用一套注意力參數(shù),因此不能有效提取特定方面的隱藏特征。
傳統(tǒng)方法普遍使用LSTM網(wǎng)絡(luò)來提取文本的上下文信息,因為LSTM網(wǎng)絡(luò)是對循環(huán)神經(jīng)網(wǎng)絡(luò)模型(Recurrent Neural Network,RNN)的改進(jìn)[13],能解決RNN模型的長依賴問題,但LSTM網(wǎng)絡(luò)只能保存序列前面的信息,方向較為單一。BLSTM網(wǎng)絡(luò)[14]是LSTM網(wǎng)絡(luò)的進(jìn)一步優(yōu)化,不僅可以保存序列前面的信息,也可以獲取序列后面的信息,從整體上能夠有效提取文本的上下文信息。圖1展示了一個沿著時間展開的BLSTM網(wǎng)絡(luò),其中每個時間步t的輸入為xt。在BLSTM網(wǎng)絡(luò)中,把前向LSTM和后向LSTM的隱藏層輸出拼接起來作為網(wǎng)絡(luò)的最后輸出ht。
圖1 BLSTM網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of bidirectional LSTM network
對于普通情感分析,文獻(xiàn)[15]建立了一種RNN-Capsule網(wǎng)絡(luò)模型,該模型在每個情感分類上都使用不同且獨(dú)立的Capsule網(wǎng)絡(luò),目的是使每個Capsule網(wǎng)絡(luò)都能捕捉到該分類的重要特征,同時進(jìn)行情感分類判斷。該文獻(xiàn)提出的Capsule網(wǎng)絡(luò)類型與文獻(xiàn)[20]中的Capsule網(wǎng)絡(luò)結(jié)構(gòu)不同。
受文獻(xiàn)[12,15]啟發(fā),本文建立一種基于BLSTM和方面注意力模塊的網(wǎng)絡(luò)模型用于方面情感分析任務(wù)。相比文獻(xiàn)[15],本文模型并未直接進(jìn)行分類,而是同時處理模型中多個不同方面,通過使用多個方面注意力模塊,使句子中的不同方面能同時輸入模型中。另外,與文獻(xiàn)[12]模型相比,本文模型的每個方面注意力模塊具有獨(dú)立的方面信息和注意力參數(shù),能夠提取特定方面的隱藏特征,從而對不同方面的情感極性進(jìn)行更有效的識別。
本文提出的BLSTM-AAM網(wǎng)絡(luò)模型整體框架是一個編碼解碼結(jié)構(gòu),如圖2所示。編碼部分由輸入層和BLSTM層組成,解碼部分由多個方面注意力模塊組成。該情感分類方法的處理步驟如下:
1)輸入層:對輸入樣本進(jìn)行去停用詞、去特殊字符等預(yù)處理,然后進(jìn)行詞嵌入,得到每個詞的詞向量表示。
2)BLSTM層:將輸入層輸出的詞向量作為BLSTM網(wǎng)絡(luò)的序列化輸入,使模型分別從2個方向上提取文本的語義特征,獲得每個時間步上的隱藏層狀態(tài)和句子的整體表示。
3)方面注意力模塊:將BLSTM層輸出的隱藏層狀態(tài)與方面信息相結(jié)合,并進(jìn)行注意力操作,獲取有關(guān)特定方面的文本表示。
4)輸出層:有關(guān)特定方面的文本表示經(jīng)過全連接層和softmax函數(shù)后,得到最終分類結(jié)果。
圖2 BLSTM-AAM模型結(jié)構(gòu)Fig.2 Structure of the BLSTM-AAM model
(1)
圖2中的解碼部分由多個方面注意力模塊組成,其中模塊數(shù)量N與數(shù)據(jù)集的方面總個數(shù)相同,即一個方面注意力模塊對應(yīng)一個特定的方面。當(dāng)輸入句子包含有多個方面時,編碼得到的輸出H將被分別送入對應(yīng)的方面注意力模塊中。在每個方面注意力模塊中各有一個對應(yīng)的方面信息,即方面向量va,i。在訓(xùn)練時每個方面注意力模塊各自獨(dú)立地執(zhí)行注意力計算,因此方面注意力模塊會提取有關(guān)該方面的隱藏特征。方面注意力模塊結(jié)構(gòu)如圖3所示,具體可分為3個部分:注意力部分,概率部分與重構(gòu)部分。
圖3 方面注意力模塊結(jié)構(gòu)Fig.3 Structure of aspect attention module
2.3.1 注意力部分
注意力部分主要對輸入矩陣H進(jìn)行注意力操作,使模型在特征提取時,能特別關(guān)注特定方面的特征信息,得到有關(guān)特定方面的文本表示。首先將方面向量va,i與輸入矩陣H中的每個隱狀態(tài)進(jìn)行拼接,再進(jìn)行注意力計算,最后通過加權(quán)平均,獲得有關(guān)特定方面的文本表示vc,i。計算方法如下:
et,i=tanh(Wa,i[ht;va,i]+ba,i)
(2)
(3)
(4)
2.3.2 概率部分
概率部分主要計算每個分類的概率。將有關(guān)特定方面的文本表示vc,i送入全連接層,通過softmax函數(shù)輸出待分類樣本在每個情感分類上的概率,如下式所示:
pi=softmax(Wp,ivc,i+bp,i)
(5)
2.3.3 重構(gòu)部分
重構(gòu)部分主要對有關(guān)特定方面的文本表示vc,i進(jìn)行重構(gòu),目的是構(gòu)造出包含文本全局信息、特定方面信息和情感分類信息的文本表示,該文本表示可以看作是句子整體表示vs在特定方面的某一情感分類下的新表示。具體方法是使用概率部分生成的分類概率對vc,i進(jìn)行重構(gòu),產(chǎn)生多個重構(gòu)文本表示ri=[ri,1,ri,2,…,ri,C],計算過程如下:
ri,j=pi,jvc,i
(6)
BLSTM-AMM網(wǎng)絡(luò)模型的訓(xùn)練是在Ubuntu16.04系統(tǒng)下進(jìn)行的,使用的CPU為Intel Core i7-9700k 3.6 GHz,內(nèi)存大小為16 GB,GPU為NVIDIA GeForce GTX1080Ti,編程語言為Python3.6,開發(fā)工具為Pycharm,深度學(xué)習(xí)框架為Pytorch0.4.0。本文使用反向傳播算法來訓(xùn)練模型,并通過最小化式(7)所示的損失函數(shù)來優(yōu)化模型。該損失函數(shù)由2個折頁損失函數(shù)組成,第1個折頁損失函數(shù)J(θ)的目的是在每個方面注意力模塊輸出中,最大化實(shí)際情感類別的概率,同時最小化其他類別的概率。第2個折頁損失函數(shù)U(θ)的目的是在每個方面注意力模塊輸出中,使實(shí)際情感類別的重構(gòu)文本表示與句子的整體表示vs相似,同時使其他重構(gòu)文本表示與句子的整體表示vs不相似。計算方法如下:
L(θ)=J(θ)+U(θ)
(7)
(8)
(9)
其中,k為第k個樣本,yk,i為第k個樣本在第i個方面的實(shí)際情感類別。
為了驗證本文的網(wǎng)絡(luò)模型,采用SemEval2014任務(wù)4、SemEval2015任務(wù)12和SemEval2016任務(wù)5數(shù)據(jù)中的restaurants領(lǐng)域數(shù)據(jù)集進(jìn)行實(shí)驗。將這三部分?jǐn)?shù)據(jù)整理合并后稱為Restaurant-Merge數(shù)據(jù)集。該數(shù)據(jù)集分為訓(xùn)練集和測試集,訓(xùn)練集有3 611個樣本,測試集有1 630個樣本。數(shù)據(jù)中每個句子涉及一個或多個不同方面,方面情感分類任務(wù)需要對不同的方面判斷其情感極性。在Restaurant-Merge數(shù)據(jù)集中,共有5個方面和3種情感極性。實(shí)驗數(shù)據(jù)統(tǒng)計如表1所示。
表1 實(shí)驗數(shù)據(jù)統(tǒng)計Table 1 Statistics of experimental data
在實(shí)驗中,詞向量采用word2vec技術(shù)[16]進(jìn)行初始化,其中每個詞向量為300維。對于未登錄詞和方面向量,采用均勻分布U(-0.25,0.25)進(jìn)行隨機(jī)初始化。訓(xùn)練過程采用文獻(xiàn)[17]提出的Adam更新規(guī)則。此外為了防止過擬合,在訓(xùn)練過程中使用了dropout機(jī)制。其他參數(shù)如表2所示。
表2 參數(shù)設(shè)置Table 2 Parameter setting
將本文提出的BLSTM-AAM模型和經(jīng)典情感分析模型在Restaurant-Merge數(shù)據(jù)集上進(jìn)行對比實(shí)驗,以驗證該方法的有效性。對比模型具體如下:
1)SVM:文獻(xiàn)[8]提出的基于情感特征的SVM模型,在方面情感分析任務(wù)上的分類效果優(yōu)于之前提出的方法。
2)LSTM:基于文獻(xiàn)[18]提出的LSTM網(wǎng)絡(luò)模型,可以保留句中詞語的時序關(guān)系,獲取詞語間一定的語法和語義信息。
3)Bi-LSTM:文獻(xiàn)[19]提出的BLSTM網(wǎng)絡(luò)模型,能同時捕捉詞語的前后時序關(guān)系,獲得詞語間的前后依賴關(guān)系。
4)AE-LSTM:文獻(xiàn)[12]提出的加入了方面信息的LSTM網(wǎng)絡(luò)模型,在訓(xùn)練過程中針對特定方面進(jìn)行學(xué)習(xí)和調(diào)參。
5)ATAE-LSTM:文獻(xiàn)[12]提出的融合了方面信息和注意力機(jī)制的LSTM網(wǎng)絡(luò)模型,在訓(xùn)練過程中高度關(guān)注特定方面,能有效識別情感極性。
6)BLSTM-AAM:本文提出的網(wǎng)絡(luò)模型,能對多個方面同時進(jìn)行情感分類,并充分提取特定方面的隱藏特征。
將6個網(wǎng)絡(luò)模型在Restaurant-Merge數(shù)據(jù)集上分別進(jìn)行二分類和三分類對比實(shí)驗,驗證本文方法的有效性。實(shí)驗中采用精確率、查全率和F1作為實(shí)驗指標(biāo)。實(shí)驗結(jié)果如表3和表4所示。
表3 不同模型在數(shù)據(jù)集上的二分類結(jié)果Table 3 Binary classification results of differentmodels on the dataset %
表4 含有不同方面的典型句子舉例Table 4 Examples of sentences with different aspects
由表3結(jié)果可知,沒有加入任何特征的LSTM模型,在數(shù)據(jù)集上積極與消極的平均F1值比基于特征的SVM模型提升了1.82%,說明深度學(xué)習(xí)方法在特征提取和學(xué)習(xí)方面比傳統(tǒng)機(jī)器學(xué)習(xí)方法更有優(yōu)勢。對比LSTM模型和Bi-LSTM模型可以看出,在精確率相差不大的情況下,Bi-LSTM模型在消極分類下的查全率比LSTM模型提升了3.19個百分點(diǎn),說明雙向循環(huán)神經(jīng)網(wǎng)絡(luò)比單向循環(huán)神經(jīng)網(wǎng)絡(luò)更能捕捉消極情感的信息。對比LSTM、AE-LSTM和ATAE-LSTM這3個模型可得,加入方面信息或使用注意力機(jī)制,能有效判斷不同方面的情感極性,因為模型在訓(xùn)練過程中能高度關(guān)注特定方面的特征。最后,對比本文提出的BLSTM-AAM模型和ATAE-LSTM模型可以看出,BLSTM-AAM模型的積極與消極分類F1值比后者分別提升了0.75個與2.24個百分點(diǎn),這表明使用多個方面注意力模塊能充分提取特定方面的隱藏特征,從而提升情感分類效果,驗證了本文模型的有效性。
在實(shí)驗中,本文截取了幾個含有不同方面的典型句子,分析LSTM、Bi-LSTM、AE-LSTM、ATAE-LSTM和BLSTM-AAM這5個模型的分類結(jié)果。分類結(jié)果如表4所示。由表4分類結(jié)果可知,句子1中不同方面的情感極性相同,5種模型對此都能進(jìn)行正確分類。句子2和句子3中不同方面的情感極性不同,基礎(chǔ)模型LSTM和Bi-LSTM不能對此進(jìn)行正確分類,而AE-LSTM、ATAE-LSTM和BLSTM-AAM這3個模型能很好地識別出不同方面的情感。這是因為基礎(chǔ)模型在同一個句子中不能分別關(guān)注不同方面的特征,使不同方面出現(xiàn)相同的情感極性,導(dǎo)致錯誤的結(jié)果。而加入方面信息或注意力機(jī)制的模型能夠分別關(guān)注不同方面的特征,從而得到正確的結(jié)果。
為了在方面情感分析任務(wù)中進(jìn)一步比較本文的BLSTM-AAM模型和其他網(wǎng)絡(luò)模型的分類效果,下文實(shí)驗加入Restaurant-Merge數(shù)據(jù)集中的中性情感樣本,進(jìn)行三分類對比實(shí)驗。其中,中性情感樣本通常是由情感極性表達(dá)不清晰的句子組成。實(shí)驗結(jié)果如表5所示。
表5 不同模型在數(shù)據(jù)集上的三分類結(jié)果Table 5 Three-way classification results of differentmodels on the dataset %
由表5可知,Bi-LSTM模型的消極與中性分類F1值比LSTM模型分別提升了3.29%和5.08%,這表示除了消極情感,雙向循環(huán)神經(jīng)網(wǎng)絡(luò)還能更準(zhǔn)確地捕捉中性情感的信息。對比Bi-LSTM、AE-LSTM和ATAE-LSTM這3個模型可以得出,在消極分類效果相差不多的情況下,加入方面信息或使用注意力機(jī)制能明顯改善中性分類效果,使F1值分別提升了5.38%和6.25%。最后,本文提出的BLSTM-AAM模型的三分類F1值比ATAE-LSTM模型分別提升了1.45%、2.37%和4.68%,中性分類效果同樣得到了明顯改善。這表明本文提出的方法能有效地處理具有情感極性模糊與表達(dá)不清晰等特征的句子。
本文提出了一種結(jié)合BLSTM網(wǎng)絡(luò)與方面注意力模塊的情感分類方法,建立BLSTM-AAM模型,使用多個方面注意力模塊同時對不同方面進(jìn)行訓(xùn)練,進(jìn)行情感分類,解決了傳統(tǒng)方法每次只能處理一個方面的問題。此外,每個方面注意力模塊具有自己的方面信息,相互獨(dú)立地進(jìn)行注意力參數(shù)的學(xué)習(xí)與調(diào)整,使模型在情感極性模糊的情況下仍能有效地提取特定方面的隱含情感特征。實(shí)驗結(jié)果驗證了本文方法的有效性。未來研究將結(jié)合語義理解與語法知識,以進(jìn)一步提升情感分類效果。