徐康庭,宋威
北方工業(yè)大學信息學院,北京 100144
情感分析(sentiment analysis)是指通過分析、歸納、推理等過程自動地對具有感情色彩的文本進行情感極性的判斷[1]。隨著Web2.0的到來,越來越多的人成為互聯(lián)網(wǎng)的參與者,并通過博客、在線門戶網(wǎng)站、電商平臺等產(chǎn)生大量具有感情色彩的文本。對這些文本進行分析挖掘?qū)τ谳浨榉治?、政府決策、產(chǎn)品分析具有重要意義。
目前情感分析的方法可以大致分為3類:基于詞典和規(guī)則的方法、基于傳統(tǒng)機器學習的方法、基于深度學習的方法。
基于詞典和規(guī)則的方法通過詞典分析、句法分析、句型分析等方法對文本的情感極性進行判斷。Wu J S等人[2]通過構(gòu)建情感詞典、否定詞詞典、程度副詞詞典等多部詞典提出詞語級情感判斷方法,并對文本進行句法分析、句型分析,從而實現(xiàn)了對中文微博的情感判斷。趙妍妍等人[3]通過構(gòu)建大規(guī)模情感詞典實現(xiàn)了中文微博的情感分析。Xu G X等人[4]通過擴展現(xiàn)有詞典的方法實現(xiàn)了對評論文本的情感分析。KESHAVARZ H等人[5]為了改善微博情感分類的性能,通過將語料庫和詞典結(jié)合的方式構(gòu)建自適應詞典。李繼東等人[6]通過擴展詞典,并對句間規(guī)則和句型規(guī)則進行分析,提高了中文微博情感分析的性能。Zhang S X等人[7]首先對情感詞典進行構(gòu)建和擴充,然后通過計算權(quán)重得到微博文本的情感值,實現(xiàn)了對微博文本的情感分類。
基于傳統(tǒng)機器學習的方法一般先對文本利用詞袋(bag of word)模型進行編碼,然后利用樸素貝葉斯(naive Bayes,NB)、支持向量機(maximum entropy,ME)、決策樹等傳統(tǒng)機器學習模型進行情感分類。Pang B等人[8]基于詞袋模型分別利用樸素貝葉斯模型、最大熵模型和支持向量機(support vector machine,SVM)實現(xiàn)了對電影評論的情感分類。蘇瑩等人[9]將樸素貝葉斯模型和潛在狄利克雷分布(latent Dirichlet allocation,LDA)結(jié)合,并引入合適的情感詞典,實現(xiàn)了對網(wǎng)絡(luò)評論的篇章級別和句子級別的情感傾向性分析。
基于詞典和規(guī)則的方法需要人工預先對每個情感詞和語義規(guī)則設(shè)定情感極性值,而針對不同領(lǐng)域的情感任務共用通用的詞典,必然會帶來人工誤差,而且對情感詞和規(guī)則進行情感極性標注需要耗費大量的人力?;趥鹘y(tǒng)機器學習的方法一般基于詞袋模型,忽略了上下文語義,而且需要做特征工程?;谏疃葘W習的方法能夠自動實現(xiàn)端到端的學習和推理過程,鑒于此,近年來該方法成為研究的熱點?;谏疃葘W習的方法得到的特征可以直接用于預測概率,也可以使用支持向量機等淺層分類器進行分類[10]。Kim Y[11]將預訓練的詞向量作為輸入,利用卷積神經(jīng)網(wǎng)絡(luò)提取文本特征,從而實現(xiàn)了文本分類任務,并取得了不錯的效果。胡榮磊等人[12]將預訓練的詞向量作為輸入,利用長短期記憶(long short-term memory,LSTM)網(wǎng)絡(luò)學習文本的語義特征和序列特征,并與注意力模型相結(jié)合,有效提高了文本情感分析任務的性能。李洋等人[13]將卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)和雙向長短期記憶(BiLSTM)網(wǎng)絡(luò)結(jié)合,充分利用了CNN提取局部特征的能力和雙向長短期記憶網(wǎng)絡(luò)提取文本序列特征的能力,提高了文本情感分析的性能。宋婷等人[14]通過區(qū)域卷積神經(jīng)網(wǎng)絡(luò)提取文本局部特征以及不同句子的時序關(guān)系,并利用改進的分層長短期記憶網(wǎng)絡(luò)獲取句子內(nèi)部和句子間的情感特征,從而提高了方面級情感分析的性能。
雖然,基于數(shù)據(jù)驅(qū)動的深度學習模型能夠有效彌補基于詞典和規(guī)則的方法以及基于傳統(tǒng)機器學習的方法的不足。但是,僅僅依靠數(shù)據(jù)進行深度學習模型訓練,忽略了情感詞典和語義規(guī)則等語言知識,導致模型不能充分學習文本特征,進而無法突破深度學習模型的性能瓶頸。近年來,融合情感詞典或語義規(guī)則的深度學習模型逐漸成為熱點。謝潤忠等人[15]將情感集合和深度學習模型進行融合,得到了不錯的結(jié)果,但其未考慮語法規(guī)則。邱寧佳等人[16]將語義規(guī)則和深度學習融合并建立三通道模型,提高了文本情感分析的性能,但其未考慮情感集合。鑒于此,本文提出了一種結(jié)合語言知識和深度學習的中文文本情感分析的新方法CLKDL(the combination of language knowledge and deep learning),充分將語言知識和深度學習模型結(jié)合,通過數(shù)據(jù)和知識共同驅(qū)動模型學習,以提高情感極性分類模型的性能。
本文主要貢獻如下。
● 為了解決中文語義多樣性問題,降低語義的復雜性,突出關(guān)鍵情感信息對模型的貢獻,提出了CLKDL方法。
● CLKDL方法首先利用詞典和規(guī)則抽取出情感傾向明確的情感集合信息;然后,為了防止出現(xiàn)由詞典維護不及時造成的情感集合信息缺失的問題,利用語義規(guī)則抽取出情感傾向更加明確的關(guān)鍵情感片段;最后,為了防止出現(xiàn)由抽取情感集合和情感片段造成的文本序列特征缺失的問題,從原始文本中抽取出序列特征,三者相輔相成。
● 構(gòu)建深度學習模型,分別從原始文本、關(guān)鍵情感片段、情感集合3個部分中抽取深層次特征,從而將語言知識與深度學習結(jié)合,并完成中文文本情感分析任務。然后,利用酒店評論數(shù)據(jù)集ChnSentiCorp和O2O商鋪食品安全評論相關(guān)數(shù)據(jù)對所提方法進行有效性實驗。實驗結(jié)果表明,所提方法的情感極性分類能力有明顯提升。
相對英文而言,中文語義規(guī)則具有較高的復雜性。對于使用不同語義規(guī)則描述的文本,其表達的情感傾向以及情感強度也不相同。因此,需要根據(jù)語義規(guī)則把能夠改變情感傾向以及情感強度的關(guān)鍵情感片段從原文本中剝離出來,以降低中文文本語義的復雜度,為后續(xù)深度學習特征的提取加入語義知識,進而提高情感分析的性能。本文從句間規(guī)則和句型規(guī)則兩種角度抽取關(guān)鍵情感片段。
1.1.1 基于句間規(guī)則的抽取
標點符號是劃分句間關(guān)系的重要標準,首先利用標點符號“?”“!”“?!币约啊?;”將原始文本劃分為若干個復句,用集合{C0,C1,…,Cn}表示。每個復句又可以劃分為若干個子句,用集合{S0,S1,…,Sm}表示。對句間規(guī)則的分析即對復句中若干個子句之間相互關(guān)系的分析。會對情感分析造成影響的句間關(guān)系有轉(zhuǎn)折關(guān)系、遞進關(guān)系和假設(shè)關(guān)系。根據(jù)分析,定義以下規(guī)則。
(1)轉(zhuǎn)折關(guān)系規(guī)則
當句間出現(xiàn)轉(zhuǎn)折時,情感也隨之改變。一般轉(zhuǎn)折前后的情感極性是相反的,值得注意的是,真實表達的情感極性在轉(zhuǎn)折詞后的情感片段中。具體規(guī)則如下。
● 如果復句C只出現(xiàn)單一轉(zhuǎn)折后接詞(如“但是”“然而”)且該單一轉(zhuǎn)折后接詞出現(xiàn)在Sk中,則取出子集{Sk,Sk+1,…,Sm}作為關(guān)鍵情感片段。
● 如果復句C只出現(xiàn)單一轉(zhuǎn)折前接詞(如“雖然”“盡管”)且該單一轉(zhuǎn)折前接詞出現(xiàn)在Sk中,則取出子集{S0,S1,…,Sk}作為關(guān)鍵情感片段。
● 如果復句C中出現(xiàn)連續(xù)完整轉(zhuǎn)折詞(如“雖然……但是……”)且該轉(zhuǎn)折后接詞出現(xiàn)在Sk中,則取出子集{Sk,Sk+1,…,Sm}作為關(guān)鍵情感片段。
(2)遞進關(guān)系規(guī)則
當句間出現(xiàn)遞進關(guān)系時,一般后句的情感表達程度要明顯強于前句。當復句C中出現(xiàn)遞進關(guān)系詞(如“更加”“更有甚者”),并且該遞進關(guān)系詞出現(xiàn)在Sk中時,取出子集{Sk,Sk+1,…,Sm}作為關(guān)鍵情感片段。
(3)假設(shè)關(guān)系規(guī)則
當句間出現(xiàn)假設(shè)關(guān)系時,一般情感表達的重心在前句,如果出現(xiàn)否定假設(shè),那么情感表達的極性會相反。當復句C中出現(xiàn)假設(shè)后接詞(如“那么”)且該假設(shè)后接詞出現(xiàn)在Sk中時,取出子集{S0,S1,…,Sk}作為關(guān)鍵情感片段。
以上3種句間關(guān)系都會對情感分析造成一定的影響,因此需要根據(jù)語義規(guī)則把關(guān)鍵情感片段抽取出來做進一步的分析。至于其他句間關(guān)系,比如并列關(guān)系、因果關(guān)系、一般關(guān)系等并不會對情感傾向和情感程度造成影響,因此本文不做特殊處理。
1.1.2 基于句型規(guī)則的抽取
中文常用的句型有疑問句、反問句、感嘆句、陳述句。其中疑問句和反問句會使得情感極性變反;感嘆句雖然不影響情感極性,卻會改變情感表達的程度;陳述句一般不會對情感極性和情感程度造成影響?;谏鲜龇治觯x以下關(guān)鍵情感片段的抽取規(guī)則。
(1)感嘆句
如果復句C是感嘆句,即以“!”或多個“!”(如“?。。 薄埃。。。。?!”)結(jié)尾,則將整個復句C(即{S0,S1,…,Sm})作為關(guān)鍵情感片段。
(2)反問句及疑問句
如果復句C是反問句或者疑問句,即以“?”或多個“?”(如“???”“??????”)結(jié)尾,則將整個復句C(即{S0,S1,…,Sm})作為關(guān)鍵情感片段。
(3)陳述句
如果復句C是陳述句,其不會對情感極性和情感強度造成影響,因此本文不做特殊處理。
情感詞是主體對客體的情感偏離度的直接表達,程度副詞、否定詞等修飾詞會對情感詞的情感極性和情感強度造成影響。為了進一步降低中文語義的復雜度,以進一步提高后續(xù)深度學習模型提取特征的準確性,進而提高情感分析的性能,本文引入情感詞典、程度副詞詞典、否定詞詞典等已知的語言學知識。從上述根據(jù)句間規(guī)則抽取的關(guān)鍵情感片段中抽取出情感更加明確的情感詞來構(gòu)建情感集合。定義如下規(guī)則。
規(guī)則1:如果當前詞為情感詞,則將其加入情感集合中。
規(guī)則2:如果當前詞為程度副詞,且下一個詞為情感詞,則將當前的程度副詞和情感詞組合成新詞加入情感集合。如果情感集合中有當前情感詞,則將其從情感集合中刪除。
規(guī)則3:如果當前詞為程度副詞,且下一個詞為否定詞、下面第二個詞為情感詞,則將當前的程度副詞、否定詞、情感詞組合在一起并加入情感集合。如果當前情感詞或者當前否定詞和情感詞的組合已經(jīng)在情感集合中,則將其從情感集合中刪除。
規(guī)則4:如果當前詞為否定詞,且下一個詞為情感詞,則將當前的否定詞和情感詞組合在一起并加入情感集合。如果當前的情感詞在情感集合中,則將其從情感集合中刪除。
規(guī)則5:如果當前詞為否定詞,且下一個詞為程度詞、下面第二個詞為情感詞,則將當前的否定詞、程度副詞、情感詞組合在一起并加入情感集合。如果當前情感詞或者程度副詞和情感詞的組合在情感集合中,則將其從情感集合中刪除。
基于Transformer的雙向編碼器表征(bidirectional encoder representation from Transformer,BERT)技術(shù)是一個多任務模型,通過遮蔽語言模型(masked language model,MLM)和下一句話預測(next sentence prediction,NSP)分別捕獲詞語和句子級別的向量表示[17]。BERT模型結(jié)構(gòu)如圖1所示。BERT整體處理流程為:首先對輸入文本進行字向量編碼、文本向量編碼、位置向量編碼,然后通過雙向Transformer模塊得到文本的向量化表示。對于文本向量靜態(tài)嵌入而言,與傳統(tǒng)的word2vec相比,使用BERT作為向量化工具能夠根據(jù)下游任務對文本的向量表示進行動態(tài)調(diào)整,從而解決一詞多義的問題。
圖1 BERT模型結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)利用一個濾波器在一個文本數(shù)據(jù)上上下滑動以探知不同位置的特征,從而提取文本局部特征。假設(shè)表示文本中第i個字向量。表示一個輸入文本的向量,其中L表示輸入文本的長度。表示卷積操作的濾波器,其中k表示濾波器的長度,d表示詞嵌入的維度。文本中的每個位置j都有包含k個連續(xù)字向量的窗口向量wj,如式(1)所示:
其中,逗號表示行向量連接,濾 波器m通過逐一滑動窗口產(chǎn)生一個特征映射(feature map),c=[c1,c2,…,cL-k+1]。特征映射c是提取的文本局部特征。
LSTM是由Hochreiter S等人[18]在1997年第一次提出,隨后經(jīng)過Graves A[19]改良推廣的模型。其能夠有效解決循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)中長期依賴的問題,在很多任務中取得了不錯的表現(xiàn),LSTM的結(jié)構(gòu)如圖2所示。LSTM在t時刻的轉(zhuǎn)換函數(shù)定義如下。
圖2 LSTM結(jié)構(gòu)
其中,σ為Sigmoid激活函數(shù),tanh表示雙曲正切函數(shù),?表示矩陣相乘,x(t)表示當前時刻的輸入向量,i(t)、f(t)、o(t)分別表示輸入門、遺忘門和輸出門,g(t)表示當前細胞的候選狀態(tài),Wxi、Wxf、Wxo、Wxg表示每層連接到輸入向量x(t)的權(quán)重矩陣,Whi、Whf、Who、Whg表示每層連接到前一個隱藏狀態(tài)h(t-1)的權(quán)重矩陣,bi、bf、bo、bg表示每層的偏置,輸入門i(t)用于控制被存儲在當前記憶細胞中的新信息量,f(t)用于控制舊記憶細胞中信息被丟棄的程度,o(t)根據(jù)當前記憶細胞c(t)用于控制被輸出的信息,h(t)表示當前時刻細胞狀態(tài),y(t)表示輸出,c(t-1)表示上一時刻的細胞狀態(tài)。
注意力機制為模型的輸入賦予不同的權(quán)重,根據(jù)任務的具體情況,為更加關(guān)鍵和重要的信息設(shè)置更高的權(quán)重;反之,設(shè)置更低的權(quán)重,以此來提升模型的性能。
本文提出的CLKDL方法由3個部分組成,分別是原始文本部分、語義規(guī)則部分、情感集合部分。每個部分又由5個層次組成,分別是語義規(guī)則及預處理層、詞嵌入層、特征提取層、加權(quán)融合層和輸出層。CLKDL結(jié)構(gòu)如圖3所示。
圖3 CLKDL結(jié)構(gòu)
該層主要根據(jù)第1節(jié)定義的基于語義規(guī)則和情感詞典的信息抽取方法,從原始文本中抽取關(guān)鍵情感片段和情感集合,以降低中文語義的復雜度,加強深度學習模型的特征提取能力。
然后利用情感詞典、程度副詞詞典、否定詞詞典從關(guān)鍵情感片段中抽取情感集合表示該文本第n個復句中的第個k關(guān)鍵情感片段中的第m個情感詞。將該集合元素進行拼接并作為情感集合部分的輸入。
最后將原始文本進行去停用詞、去特殊字符等預處理后得到的文本作為原始文本部分的輸入。
利用BERT預訓練模型分別對原始文本部分、語義規(guī)則部分、情感集合部分的輸入進行詞向量化,得到3個部分的文本向量。BERT詞嵌入能夠?qū)υ~向量進行動態(tài)調(diào)整,解決一詞多義的問題,從而將真實的語義嵌入詞向量中。3個部分的詞向量分別用表示。其中LT表示原始文本長度,LS表示關(guān)鍵情感片段的長度,LT表示情感集合的長度。
3.3.1 原始 文本特征提取
為了防止文本序列特征的丟失并充分考慮上下文特征,使用BiLSTM網(wǎng)絡(luò)從原始文本中提取深層次特征。
在某一時刻,BiLSTM的輸出ht由前向輸出向量和反向輸出向量組合而成。計算方式如下。
其中,xt為在t時刻BiLSTM的輸入,LT表示文本序列總長度。
為了增加關(guān)鍵特征對情感分析任務的貢獻,降低無效信息對模型的干擾,在BiLSTM提取特征后引入注意力機制。首先生成目標注意力權(quán)重ut,然后將目標注意力權(quán)重向量化,生成權(quán)重向量at,最后將生成的權(quán)重向量配置給隱層狀態(tài)語義編碼ht,生成包含注意力權(quán)重的原始文本特征向量V,計算過程如下。
其中,ht為經(jīng)過BiLSTM得到的原始文本特征向量,Ww、bw、uw為注意力網(wǎng)絡(luò)的可調(diào)節(jié)參數(shù)。
3.3.2 關(guān)鍵情感片段特征提取
為了進一步從關(guān)鍵情感片段中提取情感特征,本文采用多個不同大小的卷積核并行地對關(guān)鍵情感片段進行多層次的特征抽取。不同大小的卷積核能夠提取多種N-gram特征,并且使用并列結(jié)構(gòu)在一定程度上能夠解決深度學習模型過深導致的信息丟失和梯度消弱的問題。多尺寸卷積神經(jīng)神經(jīng)網(wǎng)絡(luò)(multi-scale convolutional neural network,MCNN)[20]結(jié)構(gòu)如圖4所示。
圖4 MCNN結(jié)構(gòu)
卷積層使用尺寸為r×k的卷積核對關(guān)鍵情感片段向量s進行上下卷積,以提取關(guān)鍵情感片段的局部特征ci。
其中,m表示尺寸為r×k的卷積核;s[i:i+r-1]表示情感片段向量s中從第i行到i+r-1行的r行向量;b表示偏置。f表示激活函數(shù),常用的激活函數(shù)有Sigmoid、tanh、ReLU,本文將ReLU函數(shù)作為卷積層的激活函數(shù)。
卷積核在情感片段向量s中從上向下以步長1進行卷積,最終得到當前卷積核提取的全部局部特征向量C。
為了減少模型參數(shù),提高模型的收斂速度,一般在卷積后進行池化操作。常用的池化操作有平均池化和最大池化。本文選取最大池化提取C中的最大值來表示局部特征。
最后,將所有池化后的局部特征進行拼接,形成經(jīng)過MCNN抽取的深層次特征d。
為了突出情感片段的深層次特征d中的關(guān)鍵信息對模型的貢獻,減少無效特征對模型的干擾,在MCNN后引入注意力機制。
其中,Wd、bd為注意力網(wǎng)絡(luò)可調(diào)節(jié)參數(shù),d為經(jīng)過MCNN抽取后的特征,ad為注意力權(quán)重,U為包含注意力權(quán)重的關(guān)鍵情感片段特征。
3.3.3 情感集合特征提取
為了進一步抽取情感集合的情感特征,本文采用全連接神經(jīng)網(wǎng)絡(luò)從情感集合向量e中進行抽取。為了增大關(guān)鍵信息的權(quán)重,在全連接網(wǎng)絡(luò)后引入注意力機制。
其中,h為抽取后的情感特征;W為全連接網(wǎng)絡(luò)權(quán)重;b為全連接網(wǎng)絡(luò)偏置;f(·)為激活函數(shù),本文將ReLU函數(shù)作為激活函數(shù);ah為注意力權(quán)重;Wh、bh為注意力網(wǎng)絡(luò)可調(diào)節(jié)參數(shù);P為包含注意力權(quán)重的情感集合特征。
加權(quán)融合層將從原始文本中提取的特征向量V、關(guān)鍵情感片段中提取的特征向量U、情感集合中提取的特征向量P三者進行拼接,形成最后的全局情感特征向量g。
從原始文本部分、語義規(guī)則部分、情感集合部分提取的特征重要程度各不相同,為了突出從關(guān)鍵部分提取的特征對情感分析任務的影響,在全局情感特征向量g后引入注意力機制。
其中,Wg、bg為注意力網(wǎng)絡(luò)可調(diào)節(jié)權(quán)重和偏置,ag為注意力權(quán)重,G為包含注意力權(quán)重的全局情感特征向量。
將包含注意力權(quán)重的全局情感特征G輸入分類器,從而得到輸入文本最終的所屬類別。
其中,wp為權(quán)重系數(shù),bp為偏置,p為預測的所屬類別概率。
本文使用反向傳播最小化交叉熵損失函數(shù)的方式進行模型的訓練。
其中,L表示交叉熵損失,D表示訓練集,C表示情感分析任務中的類別集合,表示第i個樣本的真實標簽,表示模型預測的第i個樣本的概率。
本文的實驗環(huán)境為:操作系統(tǒng)是Ubuntu 16.04,CPU是Intel Core i7-8750,GPU是GeForce GTX 1060,內(nèi)存是DDR4 16 GB,顯存大小是6 GB,深度學習框架是TensorFlow 2.4.0、Keras 2.4.3,開發(fā)工具是PyCharm 2020.1.1。
數(shù)據(jù)集:本文使用兩種數(shù)據(jù)集對所提方法進行驗證,數(shù)據(jù)集1為中國科學院的譚松波整理的酒店評論數(shù)據(jù)集ChnSentiCorp,其共有10 000篇評論語料,分為4個子數(shù)據(jù)集。本文選用ChnSentiCorp-Htl-ba-6000進行實驗,該語料正樣本和負樣本(即正面評論和負面評論)各3 000篇,示例見表1。數(shù)據(jù)集2采用Data Fountain的O2O商鋪食品安全相關(guān)評論數(shù)據(jù),示例見表2。
表1 ChnSentiCorp數(shù)據(jù)集示例
表2 O2O商鋪食品安全相關(guān)評論數(shù)據(jù)示例
詞典:本文使用的情感詞典為大連理工大學的中文情感詞本體庫,程度副詞詞典和否定詞詞典使用知網(wǎng)中文詞庫HowNet,見表3。使用的連詞詞典為人工梳理而得,見表4。
表3 情感語言庫
表4 連詞詞典
超參數(shù)的設(shè)置會直接影響CLKDL方法的性能,按表5進行調(diào)參后本文所提方法達到最優(yōu)。
表5 模型參數(shù)設(shè)置
使用精準率precision、召回率recall以及兩者的調(diào)和平均測度F1來衡量模型的性能。計算式如下。
其中,TP表示標記為正例、模型預測也為正例的樣本數(shù),F(xiàn)P表示標記為負例、模型預測為正例的樣本數(shù),F(xiàn)N表示標記正例、模型預測為負例的樣本數(shù)。
為了驗證使用CLKDL方法進行中文文本情感分析的有效性,本文使用如下3種方法在酒店評論和商鋪食品評論兩種數(shù)據(jù)集上進行實驗,分別為基于語言知識的方法、基于深度學習的方法、CLKDL方法。實驗結(jié)果見表6和表7,并對結(jié)果進行分析。
表6 ChnSentiCorp數(shù)據(jù)集實驗結(jié)果
表7 O2O商鋪食品安全評論相關(guān)評論數(shù)據(jù)實驗結(jié)果
基于語言知識的方法:該方法首先利用句型規(guī)則、句間規(guī)則對原始文本進行語義分析,并計算其在語義規(guī)則角度上的得分;然后利用情感詞典、程度副詞詞典、否定詞詞典對原始文本中的詞進行分析,并計算其在情感詞典角度上的得分;最后綜合計算出原始文本的情感得分,完成中文文本的情感分析的任務。
基于深度學習的方法:該方法首先利用BERT對原始文本進行詞嵌入以提取原始文本的語義表達,然后分別利用BiLSTM提取原始文本的序列特征,利用MCNN提取原始文本的多層次語義特征,利用全連接神經(jīng)網(wǎng)絡(luò)提取原始文本的全局特征,接著利用注意力機制突出關(guān)鍵信息對模型的貢獻,最后將含有注意力權(quán)重的3種特征進行融合,并利用sotfmax分類器完成中文文本的情感分析任務。
CLKDL:該方法與基于深度學習方法的網(wǎng)絡(luò)結(jié)構(gòu)相同,不同的是該方法將語言知識融合進基于深度學習的方法中。具體地,首先利用句間規(guī)則、句型規(guī)則從原始文本中抽取出關(guān)鍵情感片段,然后利用情感詞典、程度副詞詞典、否定詞詞典從關(guān)鍵情感片段中抽取出情感集合,最后將原始文本、關(guān)鍵情感片段、情感集合作為模型的輸入,完成中文文本的情感分析任務。
對上述實驗結(jié)果進行分析發(fā)現(xiàn),在上述兩種數(shù)據(jù)集上,CLKDL的性能均高于基于語言知識的方法和基于深度學習的方法。這是因為單純基于語言知識的方法忽略了文本蘊含的深層次特征,單純基于深度學習的方法忽略了語法規(guī)則等語言知識信息。而CLKDL不僅考慮了語法規(guī)則等語言知識信息,降低了中文文本的復雜性,分析出關(guān)鍵情感信息,又利用深度學習模型提取了文本的深層次特征,從而得到了較好的性能,驗證了所提方法的有效性。
目前深度學習模型大多是基于數(shù)據(jù)驅(qū)動的方法,其忽略了語義規(guī)則、情感集合等語言知識,導致無法充分提取文本特征。針對這一問題,本文提出了一種結(jié)合語言知識和深度學習的情感分析方法CLKDL。首先利用語義規(guī)則和情感集合將原始文本分為3個部分,即原始文本部分、關(guān)鍵情感片段部分、情感集合部分,然后分別利用深度學習模型抽取文本特征并進行加權(quán)融合,最后利用分類器進行情感極性判斷。實驗結(jié)果表明,所提方法能夠有效提高情感分析的性能。本文所提方法是從中文文本的角度進行的建模,下一步計劃將該方法應用到其他語言,并進行文本情感分析。