趙天銳
(戰略支援部隊信息工程大學 洛陽校區,河南 洛陽471000)
情感分析本質上屬于文本分類任務,是以文本中包含的情感傾向為標準,對文本進行分類。隨著計算機和互聯網的不斷發展,對海量文本信息進行處理、分析后得出信息中的情感分布成為可能。對社交媒體、新聞評論等進行情感分析后得到的結論,也可以進一步應用在輿情分析、觀點挖掘等領域當中。
傳統情感分析方法分為基于情感詞典的方法和基于機器學習的方法,兩種方法各有所長。而隨著深度學習技術的持續進步,提出了將深度學習和詞向量相結合,引入情感分析領域的研究方法。目前在自然語言處理領域,詞向量是具有代表性的語義分布式表示方式,其中具有代表性的是Word2Vec[1]和FastText[2]。但是,目前大部分相關研究都是基于英文、中文等通用語。而對韓語而言,無論是韓國國內學者還是國際學者,對韓語情感分析的研究成果較少。因此,本文利用網絡爬蟲,爬取韓語影評語料形成語料庫,使用FastText方法訓練詞向量,而后使用多個深度學習模型進行對比實驗,尋找適合韓語的情感分析模型。進而提出融合卷積神經網絡和雙向長短時記憶網絡,并加入Self-Attention機制的韓語情感分析模型,并在自建的韓語數據集上證明了該模型的有效性。
情感分析最早是由Pang等[3]于2002年提出的概念。近來,深度學習因在自然語言處理任務中逐漸顯露出優越的性能[4],受到越來越多的關注。由于基于深度學習的方法可以使模型從數據中自行學習語言特征,該方法與傳統機器學習算法相比通常能取得更好的效果。由于文本的數據結構較為稀疏且長度較大,為了能實現對文本的處理,需要較好的文本特征提取方式,而其中影響力最大的就是詞嵌入(Word Embedding)。Milokov等提出的Word2Vec是詞嵌入的代表性方法,該方法可以利用上下文信息得出各單詞之間的相關性,最終以高維向量的形式將這種相關性展現出來。因為詞嵌入的出現,之前被認為缺乏實用性的神經網絡算法再次受到關注,并且這種算法也被應用于情感分析任務,收到了較好的效果。文獻[5]中提出了可以捕捉文本序列信息的循環神經網絡(RNN)。而針對RNN學習長期依賴困難的問題,學界相繼提出了長短期記憶網絡(LSTM)和雙向長短期記憶網絡(Bi-LSTM)。這些模型通過在隱藏層增加3種“門”結構,控制神經元的狀態,也提高了情感分析的準確度。此外,在圖像處理方面展現出優越性能的卷積神經網絡(CNN)也被用來解決情感分類任務[6]。在Attention注意力機制提出后,Bahdanau等首先將其應用到機器翻譯領域。實驗結果證明效果高于傳統的神經網絡模型。于是,很多專家學者將其應用在文本分類任務中,也收到了較好的驗證效果。尤其是引入Attention機制的BiLSTM模型,可以達到很高的準確率。
上述研究方法大多已應用于通用語的情感分析,韓國國內和國際學者以韓語文本為研究對象也進行了一定的探索。文獻[7]中對韓語文本進行分詞,訓練詞向量,而后運用CNN進行文本分類;文獻[8]則在進行詞嵌入后使用RNN進行分類。此外,結合韓語本身的語言特征,文獻[9]完成了以音節為單位,對文本進行預處理的研究;文獻[10]則以音素為單位,研究文本的預處理方案;文獻[11]中是先通過比較試驗,選出了單詞、音節、音素中最適合進行韓語文本預處理的單位,而后提出了雙向堆疊的Bi-LSTM模型,在電影評論數據集中達到約88.95%的準確率。而Lee[12]以購物評論為對象進行分析,結合不同用戶群體評論中的關鍵字特征,提高了神經網絡模型的效率。
2.1.1 文本預處理
2.1.2 文本的向量化表示
文本向量化是指將文本的分詞結果用詞向量進行表示。本文采用的向量化表示方法是Facebook提出的一種高效的淺層網絡——FastText。FastText和Word2Vec中的CBOW原理相似,整個模型有輸入層、隱藏層和輸出層。兩個模型的輸入都是用向量表示的單詞,隱藏層都是多個詞向量的疊加平均,輸出都是特定的Target。FastText和CBOW區別在于:
(1)前者輸入的是多個單詞及其n-gram特征,而后者輸入的是目標單詞的上下文;
(2)前者輸入的特征經過嵌入層,后者輸入的特征經過獨熱編碼;
(3)前者輸出的是對應文檔類型的標簽,而后者輸出的是目標詞匯。FastText利用h-softmax的分類功能,通過對分類樹所有葉子節點的遍歷,尋找概率值最大的標簽。本文采用Python語言編寫Gensim庫中的FastText模型,對構建的語料庫中文本進行10 000次迭代后,得到由該模型訓練的詞向量。
借助FastText輸出的詞向量,可以更清楚地看到單詞間語義的親疏關系。衡量詞義遠近關系的標準是余弦相似度,余弦相似度越大則單詞間的聯系越緊密。在影評語料中與“”關聯度最高的10個詞見表1。

表1 詞向量語義相似度Tab.1 Word Vector Semantic Similarity
卷積神經網絡最初應用于計算機視覺領域中的圖像分類、目標檢測、圖像語義分割等任務,是一種包含卷積計算的前饋神經網絡。后經實驗發現,其用于文本分類中也可以得到較好的效果。經典的卷積神經網絡包括輸入層、卷積層、池化層、全連接層和輸出層。其中,卷積層對輸入的特征進行特征提取;池化層對提取過后的特征進行下采樣以減少運算量,提高運行效率,得到局部最優值;池化層后是全連接層和輸出層;為了防止出現過擬合,還要加入Dropout操作,最終通過分類器進行分類。卷積神經網絡結構如圖1所示。

圖1 CNN結構圖Fig.1 CNN Structure
本文中將CNN的卷積核大小設置為(3、4、5),每個大小相同的卷積核的通道數設置為2。這樣CNN可以分別提取詞匯在原句中的3-gram、4-gram和5-gram特征。
1997年Hochreiter等針對循環神經網絡(RNN)的梯度消失和梯度爆炸等問題,首次提出了長短時記憶網絡(LSTM)。與原來的RNN相比,LSTM加入了“門”結構來控制信息的傳遞,較好地解決了文本的長距離依賴問題。LSTM主要包含輸入門(it)、遺忘門(ft)、輸出門(Ot)與一個記憶單元(Ct).具體結構如圖2所示。

圖2 LSTM內部結構圖Fig.2 LSTM Structure
最初提出的LSTM模型在處理自然語言時,只考慮了上文的語義信息而忽略了下文信息,為了彌補這個缺陷,可以使用雙向長短時記憶網絡(Bi-LSTM)模型。Bi-LSTM通過構建對齊的雙層LSTM模型,同時進行自前向后和自后向前傳播模型。Bi-LSTM模型包含了輸入層、前向傳遞層、后向傳遞層和輸出層。本文使用的Bi-LSTM結構如圖3所示:

圖3 Bi-LSTM模型結構Fig.3 Bi-LSTM Structure
為充分考慮文本的上下文信息,準確提取文本的特征,將預處理過的每條短文本表示為向量形式后,作為Bi-LSTM網絡的輸入。假設:輸入內容X={x1,x2,…,xt},X是每條短文本中所有單詞向量組成的句向量,每個xi(i=1,2,…,t)是單個詞向量。前向傳遞層和后向傳遞層分別用于學習上下文的文本信息,同時連接到輸出層。Wi1、Wi2分別為輸入門到前向單元和后向單元的權值矩陣,Wf1、Wf2分別為前向和后向傳遞層隱含單元遺忘門的權值矩陣。Wo1、Wo2分別為前向和后向傳遞層到輸出門的權值矩陣。本文中的Bi-LSTM接受詞向量作為輸入,最終輸出值由前向傳遞層和后向傳遞層共同學習到的語義信息組成。如將這句話輸入到模型當中,分詞后得到,而后3個單詞的詞向量會輸入網絡,前向傳遞層會得到3個向量{hf0,hf1,hf2},后向傳遞層也會得到3個向量{hb0,hb1,hb2}。將前后傳遞層的最后一項輸出進行拼接,可以得到[hf2,hb2],將該向量作為輸入接入全連接層,可以進行文本情感分類。
注意力機制的出現最早是為解決計算機視覺領域的問題,Google Mind在循環神經網絡的基礎上,添加了注意力機制處理圖像分類任務。隨后Bahdanau等[13]將Attention機制引入自然語言處理領域,實現了在機器翻譯任務中翻譯和對齊同時進行。2017年,Google機器翻譯團隊大量使用了自注意力(Self-Attention)機制,并在不同的自然語言處理任務上進行實驗,取得了良好的效果。自注意力機制的基本結構如圖4所示。

圖4 Self-Attention基本結構Fig.4 Self-Attention Structure
Google團隊在發布的論文中提出放縮點積Attention機制(scaled dot-Product attention),其實質是在原本使用點積進行相似度計算的Attention基礎上,除以一個標準尺度起到調節作用。這可以防止Q和K的點積結果過大,然后通過softmax操作將注意力得分歸一化為概率分布。注意力機制的得分計算如式(1):

本文采用融入自注意力機制的Bi-LSTM+CNN模型,作為韓國語情感分析模型。模型整體架構如圖5所示。

圖5 融入自注意力機制的Bi-LSTM+CNN模型結構Fig.5 ATT-Bi-LSTM+CNN Structure
本文建構的神經網絡模型,利用Bi-LSTM和CNN分別對輸入的詞向量進行特征提取并進行組合,而后通過詞語關聯度的注意力機制對組合后的特征進行進一步的優化,將優化后的特征作為全連接層的輸入,以完成情感分類任務。該模型的優勢在于將Bi-LSTM和CNN的優勢進行有機結合:前者關注與文本語境相關的特征,后者關注局部特征,從而對文本信息的捕捉更加全面。這種網絡對傳統單一神經網絡存在的問題,如:忽略詞匯上下文語義信息,梯度消失和梯度離散等能起到一定的緩解作用。注意力機制的引入讓神經網絡在進行分類時,能給予情感關鍵詞更高的權重,有助于情感分類。
本文在預處理過的文本上使用FastText模型訓練詞向量,而后將所得詞向量輸入Bi-LSTM+CNN模型,進行迭代訓練后輸出預測的情感標簽。實驗環境見表2。

表2 實驗環境Tab.2 Lab Environment

表3 實驗數據樣例Tab.3 Sample Experimental Data
本文采用準確率(Precision)、召回率(Recall)和F1-score3種通用的國際標準,對各種實驗模型進行評估。其中,準確率指被正確分類的樣本占總體樣本的比例;召回率是被正確分類的樣本占此類樣本的比例;F1-score是當a=1時的準確率和召回率的調和均值。3種評價標準的計算公式見表4。公式中各項數據的含義見表5。

表4 實驗評價標準計算公式Tab.4 Experimental Evaluation Standard Calculation

表5 混淆矩陣Tab.5 Confusion Matrix
實驗參數的設置要經過多輪實驗調整才能得到良好的效果。在本文進行的實驗中,首先要在數據集上使用FastText訓練詞向量,然后利用訓練的詞向量進行情感分類。經過多次對比實驗,結合數據集的實際狀況,最終設置的FastText模型參數見表6;在得到詞向量后要利用其進行情感分類,本文提出了融入自注意力機制的Bi-LSTM+CNN模型,最終設置的模型參數分別見表7和表8。

表6 FastText模型參數設置Tab.6 FastText Model Parameters

表7 CNN參數設置Tab.7 CNN Model Parameters

表8 Bi-LSTM參數設置Tab.8 Bi-LSTM Model Parameters
為證明模型的有效性,在自建數據集上將經典的情感分類算法和本文提出的融入自注意力機制的Bi-LSTM+CNN模型進行對比實驗。為控制變量,實驗采用的詞向量皆為在數據集中通過FastText模型訓練得到的詞向量。
(1)CNN模型:CNN模型注重局部特征,在自建韓國語文本數據集上取得的效果較差;
(2)LSTM模型:LSTM與傳統的循環神經網絡相比,加入了“門”機制,可以部分解決梯度爆炸和梯度離散問題;
(3)Bi-LSTM模型:Bi-LSTM模型可以提取文本上下文相關的全局特征,相較于單向的LSTM模型分類效果有所提升;
(4)ATT-CNN模型:應用注意力機制的卷積神經網絡可以縮短訓練時間,同時通過注意力機制彌補了捕捉信息的不足;
(5)ATT-Bi-LSTM模型:在Bi-LSTM模型中加入了Self-Attention機制。先利用Bi-LSTM網絡提取文本序列的信息,而后借助Self-Attention機制對關鍵詞給予更多權重;
(6)ATT-Bi-LSTM+CNN模型:本文提出的模型,先使用Bi-LSTM和CNN網絡分別提取文本的上下文和局部特征,而后經過Self-Attention優化進行情感分析的算法。
本文算法與其它算法在自建數據集上的表現見表9。

表9 不同模型評價標準對比Tab.9 Comparison of Different Models
通過表(9)的數據,可以得到如下結論:
(1)通過對比LSTM和Bi-LSTM的數據,雙向模型更好地考慮上下文的信息,在自建數據集上的表現較單向模型更優;
(2)分別對比CNN與ATT-CNN、Bi-LSTM和ATT-Bi-LSTM的數據可知,在原有的模型中增加注意力機制,可以有效地實現對文本中重點信息的關注,從而提升模型的表現。CNN加入注意力機制后準確率、召回率和F1-score的值分別提升了2.08%、1.64%和0.0186;Bi-LSTM則分別提升了1.09%、0.77%和0.008 8。
(3)通過對比ATT-CNN、ATT-Bi-LSTM和ATT-Bi-LSTM+CNN的效果可知,相比于單一的CNN和Bi-LSTM,兩者提取特征的組合更能在上下文語境信息和局部特征兩方面取得平衡。本文提出的模型在數據集上取得了較好的效果,準確率、召回率和F1-score均高于其它模型,證明了本文提出算法的有效性。
本文提出了融入自注意力機制的Bi-LSTM+CNN韓國語短文本情感分析模型,使用FastText模型訓練詞向量。綜合利用CNN和Bi-LSTM關注局部特征和提取上下文語境信息的優勢。為證明模型有效性,本文設計了對比實驗,結果顯示本文提出的模型在自建數據集中取得了優于其他算法的效果,證明了模型的有效性。
然而本文在處理文本時,只考慮了上下文信息,并未充分利用韓國語的詞性、音素等語言學特征,因此未來可以考慮在分類時加入此類特征,觀察其對分類結果的影響。