趙星宇, 何 浩, 范雙南, 鄧永和
(1.中南大學(xué) 湘雅護理學(xué)院,湖南 長沙 410013;2.湘潭大學(xué) 計算機學(xué)院·網(wǎng)絡(luò)空間安全學(xué)院,湖南 湘潭 411105;3. 湖南交通工程學(xué)院 電氣與信息工程學(xué)院,湖南 衡陽 421009;4.湖南工程學(xué)院 計算科學(xué)與電子學(xué)院,湖南 湘潭 411104)
人們的生活越來越多地在互聯(lián)網(wǎng)上進行,在COVID-19大流行期間,人們對社交的需求加劇了這一趨勢.人們更頻繁地使用微博、知乎和淘寶等在線評論平臺,通過了解這些平臺上產(chǎn)生的情感內(nèi)容類型可以提高業(yè)務(wù)洞察力并提供個性化的建議.為此,情感分析技術(shù)被應(yīng)用于理解微博、在線評論(如電影和餐廳評論)、知識問答和其他在線社交媒體上產(chǎn)生的情感內(nèi)容.
在信息、互聯(lián)網(wǎng)和社交媒體時代,人們收集和分析情感的需求越來越強烈.隨著網(wǎng)上海量的數(shù)據(jù)和話題的增加,一個模型可以在任何時刻收集和跟蹤成千上萬個話題的民意信息.然后,這些數(shù)據(jù)可以用于商業(yè)、經(jīng)濟甚至政治目的,這使得情感分析成為一個極其重要的反饋機制.
目前對于情感分析的研究主要從三個方面開展:基于情感詞匯語義特性的方法、基于統(tǒng)計自然語言處理的方法和基于神經(jīng)網(wǎng)絡(luò)技術(shù)的方法.
首先是基于情感詞匯語義特性的方法,情感傾向主要是由情感語義詞典確定的.情感語義詞典是指人工構(gòu)造標(biāo)注有情感傾向的詞典[1].王鐵套等[2]利用網(wǎng)絡(luò)輿情評論數(shù)據(jù),結(jié)合語義模式和詞匯情感傾向,形成了一種判定算法.
其次是基于統(tǒng)計自然語言處理的方法,通過支持向量機、貝葉斯分類器和神經(jīng)網(wǎng)絡(luò)等機器學(xué)習(xí)方法對自然語言進行建模.通過大量的數(shù)據(jù)訓(xùn)練文本的情感特性,并將訓(xùn)練好的模型對情感特征進行識別和分類.首次將機器學(xué)習(xí)方法應(yīng)用于自然語言處理領(lǐng)域,分別用支持向量機(SVM)、貝葉斯分類器和最大熵等模型對電影影評數(shù)據(jù)進行分類.在分類的結(jié)果中,SVM模型識別率為82.9%,獲得了最好的實驗效果.
第三是基于神經(jīng)網(wǎng)絡(luò)技術(shù)的方法,是將情感分類視作一種多分類問題,該方法能夠處理大規(guī)模的數(shù)據(jù),并擁有較好的效果,廣泛應(yīng)用于自然語言處理領(lǐng)域.Socher[3]提出Matrix-Vector循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)模型,這種優(yōu)化后的模型不僅使用詞向量組合句向量的能力,而且通過添加矩陣對核心詞的組合詞進行記錄和修改.Tai[4]在RNN文本分類模型基礎(chǔ)上進一步提出長短期記憶(LSTM)文本情感分類模型,LSTM通過門機制解決了RNN所不能解決的長期依賴問題,因而更加符合文本理解的要求,但是LSTM和RNN模型只具有前向信息記憶能力而不能對前后向序列信息進行記憶,故Brueckner[5]提出了雙向LSTM模型,該模型在LSTM模型上增加了反向?qū)?,使得LSTM能夠同時考慮上下文信息,對反向序列信息進行記憶,獲得雙向無損的文本信息.Cao等[6]利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型提取的特征用SVM模型進行分類,將機器學(xué)習(xí)模型和深度學(xué)習(xí)模型相結(jié)合,取得了不錯的效果,但情感分析工作中,每個詞對整體情感傾向的影響是不同的.Qian等[7]雖然使用了注意力機制,但是沒有直接從文本中挖掘重要的信息.最近基于Transformer技術(shù)路線的BERT等預(yù)訓(xùn)練語言模型被廣泛應(yīng)用于提取文本特征,逐漸用于情感分析中.Shi[8]提出了Transformer的魯棒性驗證方法,分析了情感分析中不同詞的重要性.
以上文本情感分析方法各有優(yōu)勢,相比而言,基于情感詞匯語義特性的識別方法使用情感詞典統(tǒng)計帶有情感標(biāo)注的短語計算情感得分,提高了文本情感分析的準(zhǔn)確度.但文本情感分析的準(zhǔn)確率和情感詞典規(guī)模的關(guān)聯(lián)度較大,實時性不強.基于統(tǒng)計自然語言處理的方法使用人工標(biāo)注的方式構(gòu)造結(jié)構(gòu)化的文本特征,可以有效地提高文本情感分析的準(zhǔn)確率; 但由于需要較多的人工構(gòu)造特征,實時性仍然不強.基于神經(jīng)網(wǎng)絡(luò)的方法可以從向量化的文本詞匯中自動提取語義特征,不依賴人工構(gòu)造的特征; 但是,使用單一的神經(jīng)網(wǎng)絡(luò)模型進行特征提取,不能同時提取文本上下文信息和局部語義特征.
綜上,針對現(xiàn)有文本情感分析方法實時性不強、難以應(yīng)用到大規(guī)模文本、不能同時提取文本上下文信息和局部語義特征等問題,提出一種融合雙向LSTM和CNN的混合情感分析模型.通過雙向LSTM和CNN模型對文本詞向量進行訓(xùn)練,運用注意力機制將雙向LSTM模型學(xué)習(xí)到的特征作用于CNN模型上,對其進行特征加權(quán),最后將雙向LSTM模型和CNN模型得到的結(jié)果進行拼接,由softmax分類器得到相應(yīng)的情感分類結(jié)果.
基于BiLSTM-CNN的混合情感分析模型主要分為文本詞匯向量化、特征提取、情感分類等三個步驟.文本詞匯的向量化首先對輸入的中文文本進行分詞處理,然后利用word2vec模型將文本詞匯轉(zhuǎn)化成含有語義信息的實數(shù)詞向量.特征提取使用BiLSTM-CNN混合模型,細分為BiLSTM提取文本的上下文信息和CNN提取局部語義特征.情感分類通過使用softmax分類器得到不同情感傾向的分類.最后,使用十折交叉驗證方法對基于BiLSTM-CNN的混合模型進行訓(xùn)練以及性能評估.融合雙向LSTM和CNN的混合情感分析模型如圖1所示.
圖1 融合雙向LSTM和CNN的混合情感分析模型Fig.1 Mixed sentiment analysis model combining bidirectional LSTM and CNN
2013年Google公司發(fā)布了word2vec深度學(xué)習(xí)框架,它能夠?qū)⒄Z料庫中詞語以詞向量的形式表示,獲取詞與詞之間的語義相關(guān)性,為神經(jīng)網(wǎng)絡(luò)語言模型在各個領(lǐng)域的廣泛應(yīng)用提供了更為有效的方法.使用word2vec將文本中每個詞映射出詞向量的形式,這些詞向量組成了一個詞向量矩陣M∈Rd.在用詞向量對文本進行表示時,用wt表示文本的第t個詞,其中wt∈Rd,則M可表示為
M={w1,w2,w3,…,wn}∈Rn*d,
(1)
式中:n表示詞向量的個數(shù);d表示詞向量的維度.
將文本轉(zhuǎn)換為詞向量之后,可作為雙向LSTM模型和CNN模型的輸入.
盡管LSTM模型能夠較好地解決RNN模型的梯度消失(gradient Vanishing)和歷史信息損失等問題,能夠獲取前文的信息,但該模型缺乏對下文的信息融合.為此,當(dāng)文本比較復(fù)雜時,單向的LSTM模型對詞向量的特征提取不夠全面,而引入雙向的LSTM模型能夠較好地獲取上下文的信息,獲取更豐富的文本特征.
(2)
(3)
卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)合注意力機制,在訓(xùn)練過程中以不同的權(quán)重來關(guān)注目標(biāo),可以學(xué)習(xí)到文本更多的隱藏信息,從而更好地識別不同的情感立場.傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)模型一般由一個或多個池化層組成.常用的池化層如平均池化層和最大池化層存在一定的缺陷:平均池化層對通道領(lǐng)域的特征求平均,丟失了特征的強度信息;最大池化層對通道領(lǐng)域的特征求最大值,丟失了特征的時序信息和特征強度信息.針對卷積神經(jīng)網(wǎng)絡(luò)池化層使用注意力機制,有利于緩解傳統(tǒng)池化層的缺陷.
1.3.1 輸入層使用NLPCC-SCDL評測任務(wù)的數(shù)據(jù)集,對其中的文本進行預(yù)處理,并將處理后的文本使用word2vec轉(zhuǎn)化為文本詞匯的詞向量,作為卷積神經(jīng)網(wǎng)絡(luò)模型的輸入.設(shè)定卷積神經(jīng)網(wǎng)絡(luò)模型的輸入為HCNN={〈T〉},表達式為式(4),其中T={x1,x2,x3,…,xn}表示詞向量集合.
(4)
式中:HCNN∈Rn*d(n表示n個詞向量,d表示每個詞向量的維度為d).
2.3.2 卷積層獲取到HCNN輸入之后,選取2r個m×d大小的卷積核,步長為1,采用“same”模式,對其進行卷積操作.例如,一個特征Yi可由窗口hi:i+m-1產(chǎn)生,見式(5)
Yi=f(w×hi:i+m-1+b),
(5)
式中:f表示RELU激活函數(shù),RELU能使模型較快地達到收斂的狀態(tài);w表示權(quán)重項;b表示偏置項;hi:i+m-1表示HCNN矩陣的第i行到第i+m-1行的特征.最終形成一個m×T維的特征矩陣S∈Rm*2r,如式(6),其中si∈R1*2r.
S=[s0,s1,…,sm]T.
(6)
2.3.3 注意力機制為了增強模型的表達能力,更好地捕捉文本中的有效信息,抓住語義的重點,采用注意力機制,在訓(xùn)練過程中讓模型關(guān)注部分重要的信息.雙向LSTM模型能很好地保留歷史和未來的時序信息.而相對于LSTM模型來說,CNN模型可以更好地保留文本的局部上下文信息.所以本文通過計算雙向LSTM模型提取特征和CNN提取特征的余弦值,來確定局部特征對整體特征的重要程度.將雙向LSTM模型得到的詞向量特征Qt∈Rl*2r和卷積層神經(jīng)網(wǎng)絡(luò)得到的詞向量特征si∈R1*2r進行余弦運算,并用softmax函數(shù)對其歸一化,可得到注意力權(quán)重值,見式(7).
αi=softmax(cos(Qt,si)).
(7)
將注意力權(quán)重值α∈Rm對卷積特征矩陣S∈Rm*2r進行加權(quán).通過引入注意力機制,來計算文本的重要程度,進而有選擇性地保留有用的特征,見式(8).
(8)
2.3.4 分類器將雙向LSTM模型得到的詞向量特征和卷積層得到的詞向量特征進行連接,作為softmax分類器的輸入,如式(9).
inputclassify=[Q,S′].
(9)
輸入每一類的概率值p,見式(10).
(10)
式中:Wclassify為權(quán)重系數(shù);bclassify為偏置系數(shù).
2.3.5 模型訓(xùn)練采用端對端的模型訓(xùn)練方法,損失函數(shù)用來描述模型對問題分類的精度.損失函數(shù)越小,代表模型的分類結(jié)果與真實數(shù)據(jù)的偏差越小.使用Cross-entropy作為損失函數(shù),該損失函數(shù)最早出現(xiàn)在信息論里面,廣泛應(yīng)用于多分類問題、通信、糾錯碼和博弈論等領(lǐng)域.同時在損失函數(shù)中,加入L2正則化項,來防止過擬合的情況,最終的損失函數(shù)的表達式見式(11).
(11)
采用NLPCC2014深度學(xué)習(xí)技術(shù)情感分類任務(wù)(NLPCC-SCDL)的數(shù)據(jù)集來評估所提出的組合式情感分類模型.NLPCC-SCDL任務(wù)被設(shè)計用來評估,旨在評估基于深度學(xué)習(xí)的情感分析模型.該數(shù)據(jù)集包括中文和英文的產(chǎn)品評論(簡稱中方和英方). 該數(shù)據(jù)集包括來自多個領(lǐng)域的中文和英文產(chǎn)品評論(分別為中文和英文),包括書籍、DVD和電子產(chǎn)品.數(shù)據(jù)集約定的立場類別分為支持(Positive)和反對(Negative)兩種立場,其中訓(xùn)練集5 000條,測試集1 250條(如表1所示).使用中文分詞庫jieba進行分詞處理,采用哈爾濱工業(yè)大學(xué)停用詞表去除停用詞.
表1 NLPCC-SCDL數(shù)據(jù)
數(shù)據(jù)分類的評價標(biāo)準(zhǔn)主要為精準(zhǔn)率P(Precison)、召回率R(Recall)和F1(F1-Measure),見式(12),準(zhǔn)確率(Accuracy)見式(13).
(12)
(13)
式中:TP表示正確分類中積極立場的數(shù)量;FP表示錯誤分類中積極立場的數(shù)量;TN表示正確分類中消極立場的數(shù)據(jù);FN表示錯誤分類中消極立場的數(shù)量.
實驗中所涉及的權(quán)重參數(shù)W和偏置參數(shù)b,采用隨機初始化的方式進行初始化,詞向量的維度設(shè)置為200,實驗過程中的參數(shù)設(shè)計如表2所示.
表2 模型參數(shù)設(shè)置
為了驗證融合注意力機制的雙向LSTM和CNN的混合情感分析模型ATT-BLSTM-CNN方法的有效性,與以下4種方法在中文和英文數(shù)據(jù)集上進行對比實驗,具體實驗數(shù)據(jù)如表3、4所示.
表3 不同模型的中文數(shù)據(jù)集實驗數(shù)據(jù)對比
表4 不同模型的英文數(shù)據(jù)集實驗數(shù)據(jù)對比
表中NLPCNN-SCDL-best表示NLPCC-SCDL評測任務(wù)中分類效果最好的模型;CNN表示基于卷積神經(jīng)網(wǎng)絡(luò)的文本情感分類模型;CNN-SVM是Cao等[6]提出的結(jié)合卷積神經(jīng)網(wǎng)絡(luò)與支持向量機的分類模型;BLSTM-CNN表示使用雙向的LSTM和CNN混合模型,但不使用注意力機制.
實驗結(jié)果表明,無論是在中文數(shù)據(jù)集,還是在英文數(shù)據(jù)集上,融合注意力機制的雙向LSTM和CNN的混合情感分析模型ATT-BLSTM-CNN方法都高于NLPCNN-SCDL評測任務(wù)中性能最佳的模型.相比于NLPCNN-SCDL-best模型,在中文數(shù)據(jù)集和英文數(shù)據(jù)集上準(zhǔn)確率分別提高了7.3%和9.2%,相比基于卷積神經(jīng)網(wǎng)絡(luò)的文本情感分類模型(CNN),在中文數(shù)據(jù)集和英文數(shù)據(jù)集上準(zhǔn)確率也分別提高了1.5%和4.1%,這說明融合注意力機制的雙向LSTM和CNN的混合情感分析模型合理有效,它使得分類的性能大幅度提高.相比于NLPCNN-SCDL-best模型,CNN模型在識別率上有一定的提高,CNN模型能獲取更加豐富的局部特征.引入注意力機制,通過不同的權(quán)重來關(guān)注目標(biāo),可以學(xué)習(xí)到文本更多隱藏信息,從而更好地識別不同的情感立場.
卷積神經(jīng)網(wǎng)絡(luò)有助于學(xué)習(xí)如何從數(shù)據(jù)中提取特征.然而,它也需要許多卷積層來捕捉長期的依賴性,隨著神經(jīng)網(wǎng)絡(luò)中輸入序列長度的增加,捕捉依賴性變得更差.基本上,它會導(dǎo)致卷積神經(jīng)網(wǎng)絡(luò)的層數(shù)非常深.LSTM模型能夠捕捉詞序列之間的長期依賴性.在本研究中,我們提出了一種用于情感分析的融合雙向LSTM-CNN模型.本研究提出的融合雙向LSTM-CNN模型在NLPCC-SCDL數(shù)據(jù)集上表現(xiàn)得比較好,與單一CNN和LSTM模型相比,準(zhǔn)確率較高.與傳統(tǒng)的機器學(xué)習(xí)和深度學(xué)習(xí)模型相比,提出的融合雙向LSTM-CNN模型的準(zhǔn)確率達到了88%.