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