衡紅軍,徐天寶
(中國民航大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,天津 300300)
情感分析(Sentiment Analysis)根據(jù)人們生成的文本來分析他們的情感或觀點,一直以來都是自然語言處理中最活躍的研究領(lǐng)域之一。識別文本中表達(dá)的潛在情感對于理解文本的全部含義至關(guān)重要。隨著微博、知乎、頭條等社交媒體平臺的快速發(fā)展,人們越來越多地在網(wǎng)上分享自己的觀點和看法。情感分析已吸引了很多關(guān)注,因為從文本中檢測到的意見或情感對于商品推薦、輿情分析、市場預(yù)測等方面都有很大幫助。
文檔級情感分析的目標(biāo)是判斷整篇文檔表達(dá)的情感,例如一段影評,或者對某一個熱點時事新聞發(fā)表的評論,只要待分析的文本超過了一句話的范疇,即可視為是文檔級的情感分析。對于文檔級的情感分析而言有一個前提假設(shè),那就是全篇章所表達(dá)的觀點僅針對一個單獨的實體,且只包含一個觀點持有者的觀點。
在傳統(tǒng)的情感分析任務(wù)中,大多數(shù)模型將情感分析視為一個包含特征提取和分類器訓(xùn)練兩部分的分類問題[1]。最初是利用基于機(jī)器學(xué)習(xí)的方法使用監(jiān)督分類或回歸,從極性標(biāo)記的文本訓(xùn)練模型[1-2];然而,這些模型的性能在很大程度上依賴于大量的人工處理的特征,例如情感詞典和其他具有特定含義的特征。
隨著深度學(xué)習(xí)的方法的提出,情感分析模型的性能獲得進(jìn)一步的改進(jìn)。情感分析領(lǐng)域應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型包括卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[4]、雙向長短期記憶(Bidirectional Long Short-Term Memory,BiLSTM)[5]網(wǎng)絡(luò)等。
文檔級情感分析研究主要集中在生成豐富文檔表示和個性化兩個方面,以提高分類模型的性能。一個人寫的評論文本是主觀地偏向他/她自己認(rèn)知的。寬容的用戶往往比挑剔的用戶給出更高的評級,即使他們評論同樣的產(chǎn)品,受歡迎的產(chǎn)品可能比不太受歡迎的產(chǎn)品獲得更多的贊揚。因此,模型必須考慮用戶和產(chǎn)品信息對文本情感分類的影響。Tang 等[6]使用CNN 作為基礎(chǔ)編碼器,并且首次將用戶和產(chǎn)品的信息結(jié)合到情感分類神經(jīng)網(wǎng)絡(luò)模型中,使情感分析模型性能獲得了極大的提升。
近年來,研究人員為了增強(qiáng)文檔表示開始構(gòu)建基于注意力的模型[7],以突出一段文本中的重要單詞或者句子。使用嵌入在文本中的信息構(gòu)建不同的注意力模型成為了主流,融入的信息包括本地上下文中的用戶信息、產(chǎn)品信息和評論文本數(shù)據(jù)。Chen 等[7]提出了一個層次神經(jīng)網(wǎng)絡(luò),通過層次結(jié)構(gòu)來建模文檔的語義,并且引入注意力機(jī)制,將用戶產(chǎn)品信息融合到注意力當(dāng)中提出用戶產(chǎn)品注意力。用戶產(chǎn)品注意力的提出,使文檔級情感分析模型性能再次獲得極大的提升。Kim 等[8]使用基向量來將用戶產(chǎn)品信息融合到模型的分類器上,當(dāng)分類特征的數(shù)量很大時,基向量的使用對參數(shù)量的減少十分明顯。蔣宗禮等[9]同樣使用層次結(jié)構(gòu)來建模文檔的語義,并且通過將用戶信息和產(chǎn)品信息融合到多頭注意力當(dāng)中,使模型在多個子空間上得到不同用戶和產(chǎn)品對情感評分的影響。
為了給文本分配合適的標(biāo)簽,模型還應(yīng)捕獲源文本中比詞級信息更高級信息的核心語義單元,然后基于其對語義單元的理解來分配文本標(biāo)簽。由于傳統(tǒng)的注意機(jī)制只是側(cè)重于提取包含冗余和無關(guān)細(xì)節(jié)的詞級信息,因此很難從語義單元中提取更多關(guān)鍵信息。針對這一問題,本文提出了一種基于多尺度卷積和門控機(jī)制的注意力情感分析模型。本文模型利用全局用戶偏好和產(chǎn)品特征學(xué)習(xí)評論文本,通過提取得到不同尺度的文本表示進(jìn)行情感分類。為了驗證該模型的有效性,對來自IMDB 和Yelp(包括Yelp2013 和Yelp2014)3個評估數(shù)據(jù)集進(jìn)行了評估。實驗結(jié)果表明,該模型能夠以較大的幅度優(yōu)于基準(zhǔn)模型。與基準(zhǔn)模型中性能最先進(jìn)的那個相比,本文模型在IMDB 和Yelp2014 數(shù)據(jù)集的準(zhǔn)確率(Accuracy)上分別提高了1.2 個百分點和0.7 個百分點,并且在IMDB 和Yelp2013 數(shù)據(jù)集上獲得了最小的均方根誤差(Root Mean Squared Error,RMSE)。
本文的主要工作有以下兩點:
1)使用多尺度卷積注意力的方式對文本進(jìn)行編碼。首先使用多尺度卷積提取文檔單詞之間的多種粒度短程局部語義信息,再通過用戶產(chǎn)品注意力獲得不同層次的更豐富的文檔表示。
2)引入門控單元,構(gòu)造新的門控單元GTUU(Gate Tanh Update Unit)控制情感信息流向匯集層的路徑,并通過實驗證明了GTUU 在文檔級情感分析中更加有效。
本文提出的基于多尺度卷積和門控機(jī)制的注意力情感分析模型的框架見圖1。本文模型由編碼層、多尺度卷積層、注意力層、門控層和分類層5 個部分構(gòu)成。
圖1 本文模型框架Fig.1 Framework of the proposed model
首先定義某一個文檔doc=[x1,x2,…,xj,…,xn],xj表示doc的第j個詞,n代表語句的長度;然后使用預(yù)先訓(xùn)練的詞嵌入向量來初始化,在訓(xùn)練階段對它們進(jìn)行微調(diào)。所有的詞通過一個詞嵌入矩陣將單詞嵌入到相應(yīng)的向量wj中。
本文使用BiLSTM 這種在長文檔情感分析有很好的性能的編碼器來學(xué)習(xí)基礎(chǔ)文檔表示。BiLSTM 通過總結(jié)來自單詞的兩個方向的信息來獲得單詞的特征表示,將上下文信息結(jié)合在特征表示中。由于向前和向后的長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)看起來相似,因此為了簡潔,只給出前向LSTM 的計算過程,如式(1)~(3)所示:
其中:ii、fi、oi是門激活函數(shù);⊙表示點乘運算符;σ是sigmoid 函數(shù);tanh 表示Hyperbolic tangent 函數(shù);Wen、ben是需要訓(xùn)練的參數(shù)。
然后,將前后向的隱藏狀態(tài)拼接在一起形成一個新的單詞向量hi=文檔矩陣經(jīng)過編碼層后表示為H=[h1,h2,…,hn]。
受文本摘要的全局編碼[10]思想的啟發(fā),本文利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)來捕捉單詞之間的局部交互,并生成比單詞更高級別的信息表示,例如詞組或短句。多尺度卷積層(Multi-Scale Convolution,MSC)采用多個擁有不同寬度卷積核的一維卷積濾波器捕獲不同粒度的局部相關(guān)性,目的是獲得更多不同層次的文本語義信息。
雖然通過多尺度卷積層分別以不同尺度對文檔進(jìn)行過凝練,但并不是所有語義單元都對文檔的情感表達(dá)含義有同等的貢獻(xiàn),必須要進(jìn)行注意力計算,對不同的語義單元賦予不同的權(quán)重,而且對于不同用戶和不同產(chǎn)品來說,對于情感詞匯的使用也是有差異的,因此,還需要將用戶信息和產(chǎn)品信息融入注意力的計算當(dāng)中,更加準(zhǔn)確地提取出文本中的情感信息。
注意力層分別對每個文檔進(jìn)行用戶產(chǎn)品注意力計算,具體計算過程如式(5)~(7)所示:
其中:Nq代表不同尺度文檔表示的數(shù)量;代表對第q個尺度文檔表示的待訓(xùn)練權(quán)重矩陣;bd表示偏置。
在語言建模中提出的門控Tanh-ReLU 這種門控機(jī)制取得了很好的效果,其中最著名的兩種門控單元是門控Tanh單元(Gate Tanh Unit,GTU)和門控線性單元(Gate Liner Unit,GLU)。GTU 由tanh(Wx+b)⊙σ(Vx+b)表示,而GLU使用(Wx+b)⊙σ(Vx+b)代替使得梯度不會被縮小,可以傳播更多的信息[11]。本文構(gòu)造了一個新的門控更新單元(Gate Tanh Update Unit,GTUU)控制情感信息流向匯集層的路徑,實驗證明門控機(jī)制在文檔級情感分析中是有效的。
GTUU 門控單元具體計算過程:
文檔向量g是文檔的高級表示,可作為文檔情感分類的特征。使用線性層將文檔表示g影到C類的目標(biāo)空間中:
其中:C是情感類的數(shù)量;p是最終的情感預(yù)測;argmax(f(·))的作用是獲取使f(·)取得最大值所對應(yīng)的情感類別;Wc和bc分別為待訓(xùn)練權(quán)重和偏置。
在模型優(yōu)化的過程中,使用交叉熵?fù)p失函數(shù)最小化作為模型的優(yōu)化目標(biāo),使用反向傳播算法迭代更新模型參數(shù),如式(14)所示:
實驗是在Tang 等[6]構(gòu)建的3 個帶有用戶產(chǎn)品信息的情感分析公開數(shù)據(jù)集(IMDB、Yelp2013、Yelp2014)上進(jìn)行模型有效性的驗證,其中IMDB 是電影評論數(shù)據(jù)集,Yelp2013 和Yelp2014 是商品評論數(shù)據(jù)集。
3 個數(shù)據(jù)集的統(tǒng)計信息如表1 所示。按照8∶1∶1 的比例將數(shù)據(jù)集劃分為訓(xùn)練集、驗證集和測試集,使用斯坦福CoreNLP[12]進(jìn)行標(biāo)記化和句子拆分。本文使用準(zhǔn)確率(Accuracy)和均方根誤差(RMSE)兩個標(biāo)準(zhǔn)來度量模型可信度,準(zhǔn)確率測量整體情感分類性能,均方根誤差描述預(yù)測情感和真實情感之間的離散程度。
表1 IMDB、Yelp2013和Yelp2014數(shù)據(jù)集的統(tǒng)計信息Tab.1 Statistical information of IMDB,Yelp2013 and Yelp2014 datasets
在NVIDIA 2080Ti GPU 上,基于PyTorch 深度學(xué)習(xí)框架中進(jìn)行了本文的實驗。實驗中使用預(yù)訓(xùn)練的GloVe[13]詞嵌入向量對單詞向量進(jìn)行初始化。GloVe 的維度、雙向LSTM的輸入維度(前向后向隱藏狀態(tài)各自為150 維)、一維卷積濾波器的輸入輸出通道數(shù)均設(shè)為300 維。多尺度卷積層采用3個平行的一維卷積操作,卷積核分別為1、2、4,卷積步長與卷積核大小相同。為防止過擬合,在每一層之后做一次Dropout,且Dropout 率為0.1。實驗Batch Size 設(shè)置為64。模型超參數(shù)的優(yōu)化在Adadelta[14]優(yōu)化器上完成。模型在訓(xùn)練集上訓(xùn)練調(diào)參,在驗證集上選擇最佳性能的模型參數(shù),最后在測試集上進(jìn)行測試。
為了驗證本文提出的模型的有效性,該模型將與以下基準(zhǔn)模型進(jìn)行對比:
1)UPNN(User Product Neural Network)[6]:使用CNN 作為基本模型,并將用戶和產(chǎn)品信息作為權(quán)重參數(shù)納入單詞嵌入和邏輯分類器中。
2)NSC(Neural Sentiment Classification)[7]:將分層LSTM作為基本模型,提出用戶產(chǎn)品注意力方法合并用戶和產(chǎn)品信息。
3)InterSub[15]:使用CNN 作為基本模型,利用用戶和產(chǎn)品信息嵌入到模型中。
4)TUPCNN(Training User and Product information with CNN)[16]:使用CNN 作為基本模型,并通過評論的時間順序來訓(xùn)練模型。
5)PMA(Parallel Multi-feature Attention)[17]:與NSC 類似,但并行地將用戶和產(chǎn)品分別融合到注意力當(dāng)中,并且考慮用戶的偏好排序。
6)CMA(Cascading Multiway Attention)[18]:使用LSTM 作為基本模型,將用戶和產(chǎn)品信息分別融入注意力。
7)UPDMN(User Product Deep Memory Network)[19]:通過將用戶和產(chǎn)品信息嵌入到深度記憶網(wǎng)絡(luò)中進(jìn)行情感分類。
8)DUPMN(Dual User and Product Memory Network)[20]:使用分層LSTM 作為基本模型,并將用戶和產(chǎn)品信息分別嵌入到兩個單獨的深層記憶網(wǎng)絡(luò)。
9)HCSC(Hybrid Contextualized Sentiment Classifier)[21]:使用雙向LSTM 和CNN 的組合作為基本模型,并且還考慮了用戶和產(chǎn)品數(shù)量非常有限時的冷啟動問題。
10)BLBC(Bidirectional-LSTM linear Basis Cust)[8]:使用BiLSTM 作為基本模型,并使用基向量來將用戶產(chǎn)品信息融合到模型的分類器上。
11)HUPMA(Hierarchical User and Product Multi-head Attention)[9]:結(jié)構(gòu)與NSC 類似,同樣使用分層BiLSTM 作為基礎(chǔ)模型,并且使用多頭注意力機(jī)制從多個視角獲取信息。
實驗在測試集上計算出Accuracy 值和RMSE 值,各個模型對比實驗結(jié)果如表2 所示。為驗證多尺度卷積和門控單元的有效性,本文做了消融實驗,實驗結(jié)果如表3 所示。
表2 不同模型的準(zhǔn)確率和RMSE對比Tab.2 Comparison of accuracy and RMSE among different models
本文提出的模型為MSC-{GTU,GLU,GTUU},其中MSC代表多尺度卷積,NoGate 表示門控層不使用門控單元,NoMSC 表示去掉多尺度卷積層,no up 表示不融合用戶產(chǎn)品信息到模型中。GTU 和GLU 代表Yann 等提出的兩種門控單元,GTUU 代表本文提出的門控單元。本文分別在門控層使用這三種不同的門控單元做對比實驗。
由表2可以看出,MSC-GTU 和MSC-GLU 在IMDB 和Yelp2014 上的準(zhǔn)確率都超越了基準(zhǔn)模型中性能最好的那個:MSC-GTU 分別提高了0.2 和0.5 個百分點,MSC-GLU 分別提高了0.4 和0.6 個百分點。相比MSC-NoGate,MSC-GTU 在Yelp2013 和Yelp2014 數(shù)據(jù)集上的準(zhǔn)確率均提高了0.2 個百分點;MSC-GLU 在IMDB、Yelp2013 和Yelp2014 數(shù)據(jù)集的準(zhǔn)確率分別提高了0.2 個百分點、0.1 個百分點、0.3 個百分點;MSC-GTUU 在IMDB、Yelp2013 和Yelp2014 數(shù)據(jù)集的準(zhǔn)確率分別提高了1.0 個百分點、0.8 個百分點和0.4 個百分點。驗證了門控單元的引入有助于提高情感分析的性能。
表2 中,對比使用門控單元的模型在3 個數(shù)據(jù)集上所展示出的性能,使用本文提出的GTUU 門控單元的模型MSCGTUU 明顯優(yōu)于MSC-GTU 和MSC-GLU。相比MSC-GTU,MSC-GTUU 在IMDB、Yelp2013 和Yelp2014 數(shù)據(jù)集上的準(zhǔn)確率分別提高了1.0 個百分點、0.6 個百分點和0.2 個百分點。相比MSC-GLU,MSC-GTUU 在IMDB、Yelp2013 和Yelp2014 數(shù)據(jù)集上的準(zhǔn)確率分別提高了0.8 個百分點、0.7 個百分點和0.1 個百分點。實驗結(jié)果表明,在文檔級情感分析中,本文提出的GTUU 門控單元更加有效。
GTUU 為梯度提供線性路徑,同時保持非線性能力。對比基準(zhǔn)模型,MSC-GTUU 在IMDB 和Yelp2014 上表現(xiàn)最佳。相比基準(zhǔn)模型中最好性能的那個,MSC-GTUU 在IMDB 和Yelp2014 上的準(zhǔn)確率分別提高了1.2 個百分點和0.7 個百分點,并且在IMDB 和Yelp2013 上獲得了最小的RMSE。實驗結(jié)果表明,本文模型可以更有效地進(jìn)行文檔級情感分類。
對比表3 可以看出,使用多尺度卷積編碼的MSC-GTUU相比不使用多尺度卷積編碼NoMSC-GTUU 在IMDB、Yelp2013 和Yelp2014 數(shù)據(jù)集的準(zhǔn)確率分別提高了1.6 個百分點、1.1 個百分點、1.1 個百分點。由此可見,多尺度卷積對情感分類性能提升的有效性。
表3 多尺度卷積、門控單元和用戶產(chǎn)品信息的消融實驗Tab.3 Ablation experiment of multi-scale convolution,gating unit and user-product information
MSC-GTUU(no up)和MSC-GTUU 這兩組對比實驗結(jié)果表明,融合了用戶產(chǎn)品信息的模型相比僅考慮評論文本信息的模型擁有更高的準(zhǔn)確率。考慮了用戶產(chǎn)品信息的模型MSC-GTUU 與不考慮用戶產(chǎn)品信息的MSC-GTUU(no up)相比在IMDB 和Yelp2014 上的準(zhǔn)確率分別提高了6.3 個百分點、3.0 個百分點、3.8 個百分點。說明了融合用戶產(chǎn)品信息對文本情感分析的重要性。
同時為驗證使用多尺度卷積聯(lián)合編碼的有效性,本文還在多尺度卷積層使用不同卷積濾波器做替代,并在IMDB 數(shù)據(jù)集上做對比實驗,實驗結(jié)果如表4所示。表4中,Conv(n)表示在多尺度卷積層使用卷積核大小和卷積步長為n的一維卷積濾波器提取相鄰n個單詞的語義信息作為一個情感語義單元,而Conv(a,b,c)表示同時使用3 個卷積寬度分別為a、b、c一維卷積濾波器提取不同尺度的信息對文本聯(lián)合編碼。
表4 不同卷積濾波器的實驗結(jié)果對比Tab.4 Comparison of experimental results of different convolution filters
卷積層的卷積寬度將直接影響到注意力層對文檔進(jìn)行注意力計算的文本語義單元基本粒度(單詞級或n元詞組)。如表4 實驗Conv(1)、Conv(2)和Conv(4)所示,在卷積層使用單個卷積波器情況下,隨著卷積寬度的增大準(zhǔn)確率不斷下降。實驗Conv(1,2,4)分別使用卷積核大小為1、2、4 的多尺度卷積聯(lián)合編碼方式相比對應(yīng)單尺度編碼中最好的詞級編碼實驗Conv(1)準(zhǔn)確率提升了1.0 個百分點,實驗結(jié)果表明通過多尺度卷積生成不同粒度的豐富的文檔表示對準(zhǔn)確率提升的有效性。
本文提出了一種基于多尺度卷積和門控機(jī)制的注意力情感分析網(wǎng)絡(luò)模型。使用三個不同卷積大小的卷積層分別對文本信息進(jìn)行建模,獲得不同粒度的更豐富的上下文信息,再通過用戶產(chǎn)品注意力選擇與用戶產(chǎn)品相關(guān)度較高的語義單元生成文檔表示,引入門控機(jī)制到文檔級情感分析中,并且提出了一個新的門控單元GTUU 取得了更好的性能。之后將考慮如何更好地使用用戶產(chǎn)品信息去提高模型的泛化能力。