季 陳,葉慧雯,王子民,張秀文,趙子涵,楊玉東,2
(1.南京工業(yè)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,江蘇 南京 211816;2.淮陰工學(xué)院 電子信息工程學(xué)院,江蘇 淮安 223003)
隨著互聯(lián)網(wǎng)信息技術(shù)的快速發(fā)展,微信、QQ、微博等社交媒體用戶數(shù)以億計,通過社交媒體可以發(fā)表心情、感想和對各類事件的看法等,其內(nèi)容包括新聞資訊、熱點事件、產(chǎn)品評論、娛樂八卦等眾多方面,能夠直觀地反映用戶的情感傾向[1]。近年來,文本情感分析在政府輿情監(jiān)控、企業(yè)管理決策、個人情緒管理等方面發(fā)揮著重要作用。
隨著情感分析技術(shù)方法、算法和資源的不斷發(fā)展,現(xiàn)有的研究基于不同的監(jiān)督環(huán)境產(chǎn)生了3種主要的方法[2]?;谇楦性~典[3]的方法:郗亞輝[4]通過詞語和詞語之間有情感的交互和上下文的約束等聯(lián)系擴展情感詞典以提高文本分析的準確率;Xu等[5]利用不同情感詞之間的上下級關(guān)系對情感詞典進行擴充達到提高準確率的目的?;跈C器學(xué)習(xí)的方法:Pang等[6]首次在針對電影評論的情感分析中使用支持向量機(Support vector machine,SVM)進行情感二分類,將電影評論文本分為了積極與消極兩類;李婷婷等[7]利用文本的詞性、情感程度等,構(gòu)造出了不同的特征,提出了SVM和條件隨機場相結(jié)合的分類模型,提高了文本分類的準確率;針對情感詞在不同的上下文語境中具有不同含義的問題,Cai等[8]在一種三層情感詞典的基礎(chǔ)上將SVM和梯度提升決策樹(Gradient boosting decision tree,GBDT)結(jié)合形成情感分析混合模型,有效提高了文本情感分析的效果。基于深度學(xué)習(xí)的方法:Kim等[9]最先開始使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN),用不同的卷積核對文本不同位置的局部語義進行特征提取,改善了文本分類的效果,但CNN中的池化操作會帶來信息的丟失問題;楊玉娟等[10]在word2vec的基礎(chǔ)上引入了術(shù)語頻率-逆文檔頻率算法形成詞向量,同時在長短期記憶網(wǎng)絡(luò)(Long short-term memory,LSTM)模型中加入了注意力機制,提高了文本分析的準確率。
綜合以上3種文本情感分析方法,基于情感詞典方法依賴人工構(gòu)建情感詞典,基于機器學(xué)習(xí)的方法依賴人工構(gòu)建文本特征,實時性較差?;谏疃葘W(xué)習(xí)的方法相比于情感詞典方法和機器學(xué)習(xí)方法,可以從經(jīng)計算機處理過的文本詞匯中自動提取語義特征[11],實時性較強,但是文本的上下文信息和位置語義信息無法依靠單一的神經(jīng)網(wǎng)絡(luò)模型進行提取。
膠囊網(wǎng)絡(luò)(Capsule network,CapsNet)模型是在卷積神經(jīng)網(wǎng)絡(luò)模型的基礎(chǔ)上進行的改進,用動態(tài)路由代替了CNN中的池化操作,解決了池化操作帶來的信息丟失問題,能很好地提取情感詞在全文的位置語義信息;雙向長短期記憶網(wǎng)絡(luò)(Bi-directional long short-term memory,BiLSTM)模型由兩個方向相反的LSTM模型上下疊加構(gòu)成,單獨的LSTM模型只能獲取文本單向的上文或下文信息,本文利用BiLSTM代替LSTM可以更好地捕捉文本雙向的語義依賴。
綜上,針對現(xiàn)有文本情感分析方法實時性不強,不能同時提取文本上下文信息和局部語義特征等問題,本文提出一種改進膠囊網(wǎng)絡(luò)的BiLSTMCapsNet混合模型進行文本情感分析,這一模型由BiLSTM模型和CapsNet模型組成混合模型,既能利用BiLSTM模型可提取文本上下文信息的優(yōu)勢,又能利用CapsNet模型可提取文本位置語義信息的優(yōu)勢,可以很好地提高文本情感分析的效果。
BiLSTM-CapsNet混合模型主要分為4步:文本預(yù)處理、文本建模、特征提取和情感分類。文本預(yù)處理的目的是去除噪聲,只保留具有語義特征的詞語;文本建模就是將文本數(shù)據(jù)轉(zhuǎn)化為可以由計算機處理的數(shù)值型數(shù)據(jù)的過程;特征提取使用CapsNet提取局部語義特征,再使用BiLSTM提取上下文特征信息。情感分類采用softmax分類器進行分類。基于BiLSTM-CapsNet混合模型的文本情感分類如圖1所示。
圖1 基于BiLSTM-CapsNet混合模型的文本情感分類
文本數(shù)據(jù)不僅包含了具有語義特征的詞匯還包含了一些影響分類效果的噪聲特征,數(shù)據(jù)預(yù)處理的目的在于去除噪聲,保留具有語義特征的詞匯。數(shù)據(jù)預(yù)處理操作步驟如下所示:
(1)過濾掉文本中的標點符號和特殊字符;(2)使用Jieba等分詞工具進行分詞,若是英文這步操作省略;
(3)文本數(shù)據(jù)中含有各種沒有具體語義的停用詞,將會影響到分類效果,使用哈工大停用詞表去除噪聲數(shù)據(jù);
(4)文本中的標簽也需要進行處理,將文本型的標簽數(shù)據(jù)轉(zhuǎn)化成計算機能夠識別的數(shù)值型數(shù)據(jù)。
社交文本數(shù)據(jù)是高度非結(jié)構(gòu)化的數(shù)據(jù),需要將其轉(zhuǎn)換成結(jié)構(gòu)化的數(shù)值型數(shù)據(jù)進行處理。本文選用了word2vec工具,word2vec將每個詞映射到一個高維向量中,訓(xùn)練所得的向量可以表示詞對詞之間的關(guān)系。word2vec主要依賴其自帶的框架結(jié)構(gòu)將不可計算的非結(jié)構(gòu)化的文本詞匯轉(zhuǎn)化成可計算的結(jié)構(gòu)化的高維實數(shù)向量。
膠囊網(wǎng)絡(luò)模型用于文本分類結(jié)構(gòu)圖如圖2所示,主要分為4個部分:卷積層、主膠囊層、卷積膠囊層和全連接膠囊層。第一部分是一個標準的卷積層,通過多個不同的卷積核在句子的不同位置提取特征。第二部分為主膠囊層,該層是將卷積操作中的標量輸出替換為矢量輸出,從而保留了文本的單詞順序和語義信息。第三部分為卷積膠囊層,在這一層中,膠囊通過與變換矩陣相乘來計算子膠囊與父膠囊的關(guān)系,然后根據(jù)路由協(xié)議計算上層膠囊層。第四部分是全連接膠囊層,膠囊乘上變換矩陣,然后按照路由協(xié)議生成最終的膠囊及其對每個類的概率。其中Flatten函數(shù)用在卷積層到全連接層的過渡,把多維的輸入一維化。本文采用了膠囊網(wǎng)絡(luò)的前3層進行文本局部語義特征的提取。
圖2 膠囊網(wǎng)絡(luò)用于文本分類模型結(jié)構(gòu)圖
假設(shè)數(shù)據(jù)集文本中的一個詞為w(i),經(jīng)過word2vec工具轉(zhuǎn)化為詞向量V(w(i))),則詞向量矩陣Sij={V(w(1)),V(w(2)),…,V(w(n))}。膠囊網(wǎng)絡(luò)在卷積層中用濾波器對詞向量矩陣Sij進行卷積操作達到文本局部語義特征提取的作用,計算方法如式(1)所示
式中:b0為偏置項,Wα為卷積運算操作的濾波器,X i:j+K1-1表示濾波器每次移動的單詞窗口為X i至X i+K1-1,f()為非線性激活函數(shù)ReLU,若有B個濾波器,即α=1,2,…,B,則mα i表示膠囊網(wǎng)絡(luò)提取的文本局部語義特征。
LSTM模型適用于處理和預(yù)測時間序列中時間間隔和延遲相對較長的事件,提出的目的主要是為了解決循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中存在的梯度消失或者梯度爆炸問題,是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),但是LSTM建模存在一個問題,無法編碼從后向前的文本信息。BiLSTM模型是由兩個方向相反的LSTM模型上下疊加構(gòu)成,可以更好地捕捉雙向的語義依賴,在更細粒度的文本分類過程中,BiLSTM模型有更好的表現(xiàn)。BiLSTM模型結(jié)構(gòu)如圖3所示。
圖3 BiLSTM用于文本分類模型結(jié)構(gòu)圖
如圖3所示,w(i)表示文本中的詞匯,V(w(i))表示經(jīng)word2vec轉(zhuǎn)化的詞向量,詞向量拼接形成了詞向量矩陣Sij,其中Sij={V(w(1)),V(w(2)),…,V(w(n))},然后利用BiLSTM模型進行上下文信息提取,得到BiLSTM的輸出h n,計算方法如式(2)所示
基于BiLSTM-CapsNet混合模型的文本情感特征提取流程圖如圖4所示。
圖4 文本情感特征提取流程圖
輸入層將文本數(shù)據(jù)集進行預(yù)處理后,通過word2vec將文本中的詞匯轉(zhuǎn)化成詞向量,設(shè)置詞向量維度為100,然后通過嵌入層將文本詞向量進行拼接,形成文檔詞向量矩陣,如式(3)所示
式中:w(n)表示詞語,V(w(n))表示詞向量,Sij表示詞向量矩陣,⊕表示拼接操作。
局部語義特征提取是由膠囊網(wǎng)絡(luò)的一層卷積層和兩層膠囊層組成,以嵌入層的詞向量矩陣Sij作為輸入,采用大小為3×100,4×100,5×100的濾波器各128個進行卷積運算,通過卷積操作來提取各個位置的局部特征
式中:Oij表示Conv層的輸出。使用動態(tài)路由操作代替池化操作,再進行兩次膠囊層的特征提取。
式中:gij表示CapsNet的輸出,同時作為BiLSTM的輸入。隱藏層大小設(shè)置為128,sigmoid作為激活函數(shù),從BiLSTM模型的兩個方向輸入序列,通過隱藏層提取文本的上下文信息,如式(6)所示
式中:gijt表示在t時刻的文檔矩陣,hijt表示在t時刻BiLSTM的輸出,再使用CapsNet的全連接層進行連接,最后通過softmax函數(shù)進行文本情感分類,如式(7)所示
式中:b i為偏置項,Wi表示全連接層到輸出層的權(quán)重系數(shù),dijt表示t時刻全連接層的輸出向量。
當前文本情感分析的主要任務(wù)可分為詞級別情感分析,句子/文檔級情感分析和目標級情感分析3類,本文主要研究是基于句子/文檔級的情感分析。從粒度上劃分,情感分析又可以分為粗粒度和細粒度。粗粒度的情感分析就是對文本的正負極性進行分類,而細粒度的情感分析可以根據(jù)要求的不同分成多類,本文的細粒度情感分析試驗把情感分成了7類,分別是0:生氣(anger)、1:厭惡(disgust)、2:傷心(sandness)、3:喜歡(like)、4:害怕(fear)、5:驚喜(surprise)、6:開心(happiness)。本文試驗采用了兩組數(shù)據(jù)集,一組做細粒度情感分析,另一組做粗粒度情感分析。
細粒度情感分析試驗數(shù)據(jù)集采用的是NLPCC2014微博情緒識別數(shù)據(jù)集,截取其中部分如表1所示。粗粒度情感分析試驗數(shù)據(jù)集為產(chǎn)品評論數(shù)據(jù)集,截取其中部分如表2所示。
表1 NLPCC2014微博情緒識別數(shù)據(jù)集樣例
表2 產(chǎn)品評論數(shù)據(jù)集部分樣例
試驗采用了Python作為算法的實現(xiàn)語言,詞向量分別取200維,文本長度取固定長度100,選用Adam作為優(yōu)化函數(shù),具體設(shè)置如表3所示。
表3 模型參數(shù)設(shè)置
為驗證本文提出的BiLSTM-CapsNet混合模型的情感分析性能,兩組試驗分別對比了6組模型,其中包括CNN模型、BiLSTM模型、CapsNet模型、CNN+CapsNet模型、CNN+BiLSTM模型和本文提出的BiLSTM-CapsNet模型。從準確率、精確率、召回率和F1值4個評價標準進行比較。
文本情感分類常用的評價指標有精確率(Precision)、召回率(Recall)和F1值。
精確率定義如式(8)
式中:TP為正樣本判斷為正樣本的數(shù)量即正樣本判斷正確的數(shù)量,F(xiàn)P為正樣本判斷為負樣本的數(shù)量即正樣本判斷錯誤的數(shù)量。
召回率定義如式(9)
式中:FN為負樣本判斷為正樣本的數(shù)量即負樣本判斷錯誤的數(shù)量。
F1值是精確率和召回率的調(diào)和平均值,定義如式(10)
細粒度情感分析試驗采用了NLPCC2014微博情緒識別數(shù)據(jù)集,試驗結(jié)果如表4所示。
由表4可知,在細粒度情感分析試驗中,本文文本情感分析算法模型在召回率和綜合評價指標F1值方面,相較于單一的CNN、BiLSTM、CapsNet模型和混合的CNN+BiLSTM、CNN+CapsNet模型都達到了最好的結(jié)果。在準確率方面,本文文本情感分析算法模型優(yōu)于單一的BiLSTM、CapsNet模型和混合的CNN+BiLSTM、CNN+CapsNet模型,與單一的CNN模型準確率相當。
表4 細粒度情感分析試驗結(jié)果
粗粒度情感分析試驗采用了評論數(shù)據(jù)集,試驗結(jié)果如表5所示。
表5 粗粒度情感分析試驗結(jié)果
由表5可知在粗粒度情感分析試驗中,本文文本情感分析算法模型在準確率、召回率和綜合評價指標F1值方面,相較于單一的CNN、BiLSTM、CapsNet模型和混合的CNN+BiLSTM、CNN+CapsNet模型,都達到了最好的結(jié)果。
本文結(jié)合BiLSTM模型和CapsNet模型各自優(yōu)勢構(gòu)成的BiLSTM-CapsNet混合模型,既能同時利用BiLSTM和CapsNet特征提取的優(yōu)勢,又能很好地理解待處理文本的語義。通過細粒度情感分析和粗粒度情感分析兩組試驗,分別對比了6種模型,驗證了本文提出的模型在細粒度和粗粒度情感分析試驗中都具有較明顯的優(yōu)勢,能夠更好地完成文本情感分析的任務(wù)。
本文提出的BiLSTM-CapsNet混合模型在試驗中使用的訓(xùn)練時間資源都高于單一的CNN、BiLSTM和CapsNet模型,與同類的CNN+BiLSTM、CNN+CapsNet混合模型相當,所以如何使用更少的時間資源進一步提高本文模型文本情感分析的準確率是下一步的工作目標。