馬曉慧,馬尚才,閆俊伢,陳 波
(1.山西大學商務學院,山西 太原 030031) (2.山西財經(jīng)大學信息管理學院,山西 太原 030006) (3.山東理工大學計算機科學與技術學院,山東 淄博 255020)
目標情感分類[1]是一種細粒度的情感分類任務,給定一個包含特定目標實體的文本,該任務的目的就是確定文本中各目標的情感極性. 如,“這款手機屏幕很亮但拍照效果不佳”. 這句話包含“屏幕”和“拍照效果”兩個目標實體,“屏幕”的情感極性為積極,而“拍照效果”的情感極性為消極. 目標情感分類一般包含目標提取、類別檢測和情感極性判別3個子任務[2],在工業(yè)界有很大的應用需求.
目前,目標情感分類方法主要分為兩類:(1)以使用語言資源構建分類器為主的機器學習方法,如使用語法分析器生成特征[3-6],使用最大熵、條件隨機場、支持向量機、樸素貝葉斯等[7-10]分類器進行情感極性分類. 這些方法雖然簡單高效,但也存在諸如數(shù)據(jù)集規(guī)模要求高、對手工訓練數(shù)據(jù)依賴性強、領域遷移效果不佳等缺點. (2)以深度神經(jīng)網(wǎng)絡進行特征提取和表示的方法[11],如卷積神經(jīng)網(wǎng)絡[12-13]、以LSTM[14-15]和GRU[16-17]為代表的循環(huán)神經(jīng)網(wǎng)絡,結合注意力權重的網(wǎng)絡模型[18-20]等. 在目標情感分類任務中,將注意力機制和LSTM、GRU等循環(huán)神經(jīng)網(wǎng)絡結合的模型存在訓練時間長和無法對分類文本并行輸入等問題. 傳統(tǒng)的卷積神經(jīng)網(wǎng)絡模型雖能緩解循環(huán)神經(jīng)網(wǎng)絡的性能限制,可以通過關注局部特征和最大池化方案來改善不相關詞對給定目標的影響,但沒有考慮文本中每個詞與目標詞之間的距離信息,忽略了目標在文本中的位置特征.
為解決上述問題,本文提出了一種基于距離感知的目標情感分類模型,利用卷積神經(jīng)網(wǎng)絡對目標實體及其他非目標詞語間距離及位置特征進行建模,使用距離感知窗口將重點放在離目標詞更近的詞上,進而進行情感分類. 實驗對本文方法與TD-LSTM、TDparse和BILSTM-ATT-G等模型在SemEval2014數(shù)據(jù)集上進行了比較. 實驗結果表明,通過對文本中每個詞與目標詞之間的距離信息進行建模,提高了分類準確性. 對于兩種數(shù)據(jù)集,本文方法的訓練時間都比BILSTM-ATT-G短,說明卷積神經(jīng)網(wǎng)絡可以有效降低模型的訓練時間,提升模型的運行效率.
給定句子s={x1,x2,…,xi,…,xn},n為句子長度,xi為句子中的第i個詞.使用卷積神經(jīng)網(wǎng)絡對s進行情感分類時,首先將s中的每個單詞表示為映射后的單詞向量X∈Rn×d:
X1:n=x1⊕x2⊕…xn,
(1)
式中,⊕為向量拼接操作,n為輸入文本中的單詞數(shù),d為詞向量的維數(shù).
使用卷積核對X進行卷積運算,提取文本中的局部特征.設使用窗口大小為k的卷積核w∈Rk×d在文本向量上進行卷積操作,則可以得到特征ci:
ci=f(w·X(i:i+k-1)+b),
(2)
式中,(·)為矩陣點乘操作,X(i:i+k-1)是從i個詞到(i+k?1)個詞的詞向量矩陣,b是偏置項,f是一個非線性變換函數(shù).
對于長度為n的句子,通過重復應用卷積核w進行卷積操作,得到特征向量:
c=[c1,c2,…,cn-k+1],
(3)
式中,c∈Rn-k+1.
(4)
式中,m是卷積核的數(shù)量.最后將特征向量x輸入到一個全連通的softmax層中進行分類,判別輸入文本的情感極性.
在目標情感分類中,給定句子s={x1,x2,…,xi,ti,…,xn},n為句子長度,xi為句子中的第i個詞,ti為目標實體.其中ti可以為單詞也可以為短語. 在使用基礎卷積神經(jīng)網(wǎng)絡進行情感分類時,未考慮具體目標實體的情感類別. 基于此,我們設計了使用卷積神經(jīng)網(wǎng)絡進行目標情感分類的基線方法,稱作目標依賴的卷積神經(jīng)網(wǎng)絡(convolutional neural network for target-level sentiment analysis,CNN-TSA). 該方法使用卷積神經(jīng)網(wǎng)絡進行目標情感分類時,不考慮目標實體在句子中的位置,直接連接句子映射的詞向量和目標詞向量作為輸入向量Xi,輸入到CNN中提取特征并進行分類,連接后的特征向量為:
Xi=[X;Xt1:tT],
(5)
式中,;為拼接操作,t1、tT分別為某一目標實體的起始位置和結束位置,一個目標實體可能包含多個詞語,T為目標實體的長度.實際應用中,一個目標的情感極性更可能依賴于它的鄰近詞,本方法沒有考慮目標詞與周圍詞的距離關系,將作為對比基線方法來評估基于距離感知的目標情感分類方法性能.
在目標依賴的卷積神經(jīng)網(wǎng)絡基礎上,本文提出了基于距離感知的目標情感分類模型(distance-based model for target-level sentiment analysis,D-TSA),模型總體結構圖如圖1所示. 模型主要由5個模塊組成:輸入模塊對輸入信息進行距離向量嵌入處理,包括待分類文本詞矩陣和距離矩陣組成的輸入矩陣;卷積模塊對不同的輸入矩陣進行特征提取;池化模塊對卷積層的輸出進行最大池化操作;連接模塊用來融合全局信息,將提取到的不同特征進行拼接,拼接后的向量包含全文信息、目標詞的位置信息,傳遞到下一層輸出模塊中進行處理;輸出模塊使用softmax進行情感分類并進行輸出.
圖1 D-TSA模型結構圖Fig.1 The architecture of D-TSA model
模型的輸入模塊分為兩部分,第一個卷積網(wǎng)絡輸入為整個句子的嵌入詞向量,第二個卷積網(wǎng)絡的輸入為目標詞鄰近文本的嵌入詞向量. 其中,鄰近文本的長度由距離感知窗口決定. 假設距離感知窗口的大小設置為“p”,則距離感知窗口包含(2p+T)個詞,即目標詞本身加上左側緊鄰的p個詞和右側緊鄰的p個詞.如前所述,T為目標實體的長度,由于一個目標實體可能包含多個詞語,t1、tT分別為該目標實體的起始位置和結束位置.形式上,給定文本單詞向量X∈Rn×d,距離感知窗口中的文本詞向量為X(t1-p:tT+p),分別通過兩個卷積網(wǎng)絡的卷積層和池化層進行特征提取,最后將第一個卷積網(wǎng)絡池化層輸出的句子特征向量x和第二個卷積網(wǎng)絡池化層輸出的距離特征向量xd進行拼接,得到:
Xi=[x:xd].
(6)
最后特征Xi被輸入到全連接的softmax層預測目標情感.模型的交叉損失函數(shù)定義為:
(7)
實驗采用SemEval2014數(shù)據(jù)集[21]評估模型的性能,數(shù)據(jù)集包括餐館和筆記本電腦兩個數(shù)據(jù)域. 該數(shù)據(jù)集主要用于細粒度情感分析,非常適用于有監(jiān)督的機器學習算法或者深度學習算法,文件格式為.xml. 數(shù)據(jù)的情感極性包括積極、消極、中立和沖突,由于對比文獻都不考慮沖突類型的情感極性,所以在預處理時剔除了數(shù)據(jù)集中的這類樣本. 經(jīng)過數(shù)據(jù)預處理,每條數(shù)據(jù)包含文本、目標、情感極性,表1列出了數(shù)據(jù)的情感類別分布情況.
表1 SemEval2014實驗數(shù)據(jù)集分類情況統(tǒng)計Table 1 Statistics of the SemEval2014 experimental dataset
實驗環(huán)境為64位 Windows10操作系統(tǒng),CPU為英特爾core i7-7500,8G內(nèi)存,開發(fā)環(huán)境為 Keras,開發(fā)語言為 Python的實驗環(huán)境. 實驗中,隨機失活取0.5,批大小取32,學習率設為0.01,卷積核尺寸分別為3、4、5,距離感知窗口大小為2,使用Word2Vec預先訓練詞向量,具體超參數(shù)設置見表2所示.
表2 超參數(shù)設置Table 2 Hyperparameter configuration
實驗對基于循環(huán)神經(jīng)網(wǎng)絡、基于外部語法分析器、基于注意力機制、基于基礎卷積神經(jīng)網(wǎng)絡等5種模型和本文模型進行了比較.
(1)CNN. 利用基礎卷積神經(jīng)網(wǎng)絡模型進行分類.
(2)SVM. 文獻[22]提出的結合N元語法和情感詞特征的SVM分類模型.
(3)BILSTM-ATT-G. 文獻[11]將注意力機制應用于帶有門單元的LSTM進行目標情感分類.
(4)TD-LSTM. 文獻[15]分別使用兩個LSTM從給定目標的左側和右側文本中提取目標相關的特征.
(5)TDparse. 文獻[3]使用語法分析器提取與目標相關的詞進行情感分類.
本文在SemEval2014數(shù)據(jù)集的兩個領域用戶評論上進行7組實驗,分析不同模型目標情感分類的效果,實驗結果見表3和圖2所示. 可以看出,本文提出的D-TSA方法在2個領域的數(shù)據(jù)集上均取得較好的分類效果. CNN模型由于沒加入任何特征信息,在表現(xiàn)較好的餐館數(shù)據(jù)集上的正確率只有65.3%. 與CNN模型相比,基于注意力機制的BILSTM-ATT-G模型的分類正確率在筆記本電腦領域數(shù)據(jù)集提升了12.6%,在餐館領域數(shù)據(jù)集提升了7.1%,說明注意力機制能夠通過聚焦句子中目標特征,更好地進行情感分類. BILSTM-ATT-G模型在兩個領域的數(shù)據(jù)集中表現(xiàn)也整體優(yōu)于TDparse模型和TD-LSTM模型,驗證了深度學習方法作為目標特征提取器的有效性和網(wǎng)絡結構設計的重要性. TDparse使用解析器來提取與目標相關的詞,輸入到SVM分類器進行分類. 如果解析器提取的目標詞在預先訓練的詞表集合中不存在,則會隨機初始化SVM分類器的嵌入向量,導致情感極性分類錯誤. 相反,基于深度學習的BILSTM-ATT-G模型在模型訓練期間會更新單詞,提高了目標情感極性分類的準確率.
圖2 不同模型分類性能比較Fig.2 Performance comparison of the different models
表3 不同模型在SemEval2014數(shù)據(jù)集上情感分類正確率比較Table 3 Accuracy on sentiment classification of different models in the SemEval2014 dataset
對比不考慮位置信息的CNN-TSA基線模型和使用注意力機制的BILSTM-ATT-G模型可以看出,BILSTM-ATT-G模型在2個數(shù)據(jù)集的分類正確率都高于CNN-TSA基線模型,其中筆記本電腦數(shù)據(jù)集高出2.5%,餐館數(shù)據(jù)集高出1.5%. 實驗結果表明基于注意力機制的BILSTM-ATT-G模型可以更好地學習特定目標的情感信息,可以比不考慮目標實體在句子中的位置的特征提取方法取得更好的分類效果.
對比本文提出的D-TSA模型和BILSTM-ATT-G模型,可以看出,D-TSA在SemEval2014兩個領域數(shù)據(jù)集的分類正確率均高于BILSTM-ATT-G,正確率分別提升了2.3%和1.2%. 實驗結果表明,基于RNN的方法會忽略文本中每個單詞之間的距離信息,當BILSTM-ATT-G模型給予某一目標詞最高的注意力權重后,該詞語左側和右側兩個詞也會被認為是重要的單詞,導致在部分數(shù)據(jù)上的情感預測錯誤. 相比結合注意力機制的雙向LSTM網(wǎng)絡,D-TSA模型克服了BILSTM-ATT-G的局限性,根據(jù)鄰近單詞與目標之間的距離進行建模,使網(wǎng)絡在訓練過程能提取到更有效的信息,提高了分類效果.
通過7組實驗對比,說明對目標實體周圍的詞語進行距離建模對目標情感分類是有益的,驗證了通過對文本中每個詞與目標詞之間的距離信息進行建模,可以提高分類準確性.
為了分析不同網(wǎng)絡模型的時間性能,本文進行了基于RNN的目標情感分析模型、傳統(tǒng)卷積神經(jīng)網(wǎng)絡分類模型和本文模型3種模型的對比實驗,對比實驗均使用相同的軟硬件環(huán)境、詞向量矩陣和數(shù)據(jù)集. 表4 和圖3為不同模型在兩個領域數(shù)據(jù)集上執(zhí)行一次迭代的運行時間對比情況.
圖3 不同模型完成一次迭代的運行時間Fig.3 Running time of different models to complete an iteration
表4 不同模型完成一次迭代的運行時間比較Table 4 Comparison of the running time of different models to complete an iteration
可以看出,BILSTM-ATT-G模型訓練時間代價非常高,這是因為基于RNN的網(wǎng)絡訓練的是序列性數(shù)據(jù),每一個單元都需要復雜的運算操作,GPU難以對運算進行并行處理. 對于兩個不同領域數(shù)據(jù)集,本文模型的訓練時間都比BILSTM-ATT-G模型短,BILSTM-ATT-G模型完成一次迭代的運行時間約為本文模型的6~7倍,運算效率遠低于本文模型. 從表4可以看出,傳統(tǒng)CNN訓練時間最短,在筆記本電腦領域數(shù)據(jù)集和餐館領域數(shù)據(jù)集上完成一次迭代的運行時間分別只需要2.1 s和2.7 s,說明卷積神經(jīng)網(wǎng)絡可以有效降低模型的訓練時間. D-TSA模型由于加入了距離特征建模,訓練開銷略有上升,完成一次迭代的時間最大為3.9 s. 相比CNN網(wǎng)絡,由于提升了分類性能,訓練時間的增加在可接受的范圍內(nèi),相比BILSTM-ATT-G模型,訓練時間性能具有絕對優(yōu)勢.
為驗證本文對目標詞語的鄰近詞位置重要性的假設,并觀察距離窗口大小對模型分類性能的影響情況,本文在SemEval2014兩個領域數(shù)據(jù)集上選取多種不同距離窗口尺寸進行實驗,結果如圖4所示. 可以看出,在兩個數(shù)據(jù)集中,較小的p值性能更優(yōu),這也驗證了模型最初的假設,即位于目標附近的單詞比位于目標遠處的單詞更重要.
圖4 距離窗口大小對模型性能影響分析Fig.4 The analysis of the influence of distance window on model performance
當模型距離窗口設置為2時,其最高分類準確率為74.1%;當距離窗口設置為4時,取得最好的分類準確率為72.4%. 由此可知,由目標此鄰近的2-4個詞卷積而成的特征具有更好的情感分類效果. 最后當距離窗口設置為8時,模型分類精度下降為64.1%. 實驗結果表明距離窗口尺寸對于模型的性能有較大的影響,過大的距離窗口尺寸會引起語義風險. 隨著鄰近詞選取的增加,模型的參數(shù)規(guī)模會線性增長,也給模型帶來過擬合風險,導致模型性能下降. 另外,距離窗口大小的選擇應根據(jù)具體應用場景靈活處理,面向不同的語料場景存在p值不固定的可能.
在目標情感分類中,很多研究集中于注意力和基于RNN網(wǎng)絡結合的方法,分類效果較好但模型訓練時間較長. 本文提出了一種基于距離感知卷積神經(jīng)網(wǎng)絡的目標情感分類方法,該方法使用距離窗口模擬文本中每個單詞與目標單詞之間的距離信息,解決了手動生成特征的限制問題和基于RNN的方法的固有局限性. 實驗結果表明,通過距離感知窗口可以對文本中每個詞與目標詞之間的距離信息進行建模并提高分類效果,加入距離特征的卷積神經(jīng)網(wǎng)絡模型的訓練時間遠小于基于循環(huán)神經(jīng)網(wǎng)絡的模型,較小的距離感知窗口的分類性能優(yōu)于較大的距離感知窗口分類性能. 未來我們擬將注意力機制應用到所提出的CNN中,在考慮到每個單詞到給定目標的距離時,將每個單詞的重要性可視化,能夠更準確地聚焦于重要的單詞. 本文研究結果對目標情感分類領域的應用具有一定的參考價值.