趙容梅, 熊 熙, 琚生根, 李中志, 謝 川
(1.成都信息工程大學(xué)網(wǎng)絡(luò)空間安全學(xué)院, 成都 610225; 2.四川大學(xué)計(jì)算機(jī)學(xué)院, 成都 610065)
情感分析是自然語言處理領(lǐng)域的一個(gè)熱點(diǎn)研究問題,可以理解為通過識(shí)別文本觀點(diǎn)以分析情感的傾向性,文本情感分析不同于文本分類和文本挖掘之處在于:情緒具有抽象性,僅以字面意思判斷文本所表達(dá)的情緒是片面的,這種方式只適用于帶有明顯的情感詞或者是能夠充分表達(dá)情緒的表情符號(hào)的文本.
現(xiàn)今越多越多的人愿意在微博、微信等社交平臺(tái)上通過發(fā)表純文字或者是帶有圖片的動(dòng)態(tài)信息表達(dá)自己的生活狀態(tài)和情緒狀態(tài),少部分的動(dòng)態(tài)信息可以直接表達(dá)自己當(dāng)前情緒,而大量動(dòng)態(tài)語言則較含蓄,沒有出現(xiàn)明顯的情感詞,無法直觀判斷所表達(dá)的隱式情感.如表1的三句話,分別表達(dá)了褒義、貶義和客觀(中性)的隱式情感.
表1 隱式情感句
顯式情感分析的研究成果目前已經(jīng)比較豐富,隱式情感分類的研究仍處于起步的階段.隱式情感分析在知識(shí)嵌入、文本表示學(xué)習(xí)、用戶建模和自然語言理解等方面的研究起著重要作用,可以更全面地提高文本情感分析效果,推動(dòng)文本情感分析在相關(guān)領(lǐng)域的應(yīng)用.
近年利用機(jī)器學(xué)習(xí)方法進(jìn)行情感分析的研究提升了實(shí)驗(yàn)性能.王進(jìn)等人[1]針對(duì)行人屬性分類受行人屬性不均衡影響的問題,提出了一種基于屬性敏感卷積神經(jīng)網(wǎng)絡(luò)的行人屬性分類方法.Hu等人[2]將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于語義匹配任務(wù)中,陳波等人[3]提出一種基于循環(huán)結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)文本分類方法,該方法對(duì)文本進(jìn)行單次正向及反向掃描,能夠在學(xué)習(xí)單詞表示時(shí)盡可能地捕獲上下文信息.Gu等人[4]將SVM嵌入到卷積神經(jīng)網(wǎng)絡(luò)中代替?zhèn)鹘y(tǒng)的softmax分類器,該模型在中文句子分類任務(wù)中有比較好的實(shí)驗(yàn)性能.
Chen等人[5]提出了一種RNN模型,在多任務(wù)學(xué)習(xí)框架下同時(shí)進(jìn)行手寫體識(shí)別和文本行識(shí)別.羅帆等人[6]提出一種多層網(wǎng)絡(luò)H-RNN-CNN,模型是CNN和RNN的簡(jiǎn)單結(jié)合,用于處理中文文本情感分類任務(wù).彭嘉毅等人提出一種基于字符特性,雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Bi-LSTM)與條件隨機(jī)場(chǎng)(CRF)相結(jié)合的信息安全領(lǐng)域命名實(shí)體識(shí)別方法.目前有關(guān)文本的研究應(yīng)用比較廣泛的模型是LSTM和GRU和基于這兩個(gè)模型的改進(jìn)算法.Tran等人[8]將GRU模型應(yīng)用在對(duì)話系統(tǒng)中,實(shí)驗(yàn)表明該算法的實(shí)驗(yàn)性能高于原有的算法.
注意力機(jī)制逐漸被廣泛應(yīng)用于各類自然語言處理任務(wù)中.杜天寶等人[9]將文本中的每個(gè)詞語映射成情感詞向量, 進(jìn)而將其作為卷積神經(jīng)網(wǎng)絡(luò)的輸入, 并加入注意力機(jī)制對(duì)輸出結(jié)果進(jìn)行優(yōu)化.Huang等人[10]提出了用于語音情感識(shí)別的深度卷積神經(jīng)網(wǎng)絡(luò),同時(shí)在該網(wǎng)絡(luò)中引入了注意力機(jī)制,用于學(xué)習(xí)與任務(wù)相關(guān)的話語結(jié)構(gòu).劉廣峰等人[11]針對(duì)文檔水平情感分析傳統(tǒng)模型存在先驗(yàn)知識(shí)依賴以及語義理解不足問題,提出一種基于注意力機(jī)制與層次網(wǎng)絡(luò)特征表示的情感分析模型TWE-ANN.
一些研究者通過組合各類神經(jīng)網(wǎng)絡(luò)解決單一神經(jīng)網(wǎng)絡(luò)中存在的不足.Chen等人[12]提出了一種基于CNN、BiLSTM和條件隨機(jī)場(chǎng)CRF的組合模型,該模型采用分而治之的句子分類方法.趙勤魯?shù)热薣13]針對(duì)當(dāng)前文本分類神經(jīng)網(wǎng)絡(luò)不能充分提取詞語與詞語和句子與句子之間的語義結(jié)構(gòu)特征信息的問題,提出一種基于LSTM-Attention的神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)文本特征提取的方法.Li等人[14]提出了BiLSTM-CNN方法研究了自然語言處理在文本分類中的應(yīng)用問題,該模型在新聞文本分類方面具有很大的優(yōu)勢(shì).
目前關(guān)于情感分析方面的研究工作主要可以分為兩大類:基于規(guī)則與詞典的情感分析方法,以及基于機(jī)器學(xué)習(xí)的情感分析方法.基于規(guī)則和詞典的情感分析方法的分類靈活性較低、可遷移性差;利用機(jī)器學(xué)習(xí)方法進(jìn)行情感分析解決了情感詞典適應(yīng)性差的問題,傳統(tǒng)的機(jī)器學(xué)習(xí)方法的實(shí)驗(yàn)性能還有待進(jìn)一步提高;基于深度學(xué)習(xí)方法可以提取文本中更深層次的句子級(jí)特征,因而提高文本分類的準(zhǔn)確率.
本文在深度模型的基礎(chǔ)上加入了注意力機(jī)制,在中文隱式情感分析上表現(xiàn)出了良好性能.本文提出的模型利用雙層卷積神經(jīng)網(wǎng)絡(luò)對(duì)文本級(jí)和句子級(jí)的特征進(jìn)行提取,結(jié)合雙向長(zhǎng)短期記憶網(wǎng)絡(luò)BiLSTM結(jié)構(gòu)注意其上下文信息,BiLSTM替換了傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)中的池化層,并且在其中加入注意力機(jī)制,分析中文文本中包含的隱式情感,將其分為不含情感、褒義隱式情感和貶義隱式情感三類.
長(zhǎng)短期記憶網(wǎng)絡(luò)LSTM是RNN的一個(gè)變體,用于解決RNN網(wǎng)絡(luò)中存在的梯度爆炸和梯度消失問題.LSTM中包含遺忘門、輸入門和輸出門三種類型的門,這三種門也分別對(duì)應(yīng)LSTM的內(nèi)部實(shí)現(xiàn)的忘記階段、選擇記憶階段和輸出階段.LSTM網(wǎng)絡(luò)如圖1所示.
圖1 LSTM原理圖Fig.1 Long Short Term Memory network
遺忘門主要是選擇性的忘記上一個(gè)節(jié)點(diǎn)傳進(jìn)來的數(shù)據(jù),忘記門控ft計(jì)算方式如下.
ft=σ(Wf·[ht-1,xt]+bf)
(1)
其中,ht-1表示上一個(gè)cell的輸出;xt表示當(dāng)前cell的輸入;σ表示sigmoid函數(shù).
it=σ(Wi·[ht-1,xt]+bi)
(2)
(3)
(4)
輸出門決定模型中最終輸出的值,首先經(jīng)過sigmoid對(duì)輸入數(shù)據(jù)進(jìn)行二次選擇,保留需要輸出的部分記為ot,再將最終更新的細(xì)胞狀態(tài)輸入tanh做一個(gè)非線性化處理,將兩個(gè)部分相乘則得到了最終的輸出ht.
ot=σ(Wo·[ht-1,xt]+bo)
(5)
ht=ot*tanh(Ct)
(6)
Wf,bf,Wi,bi,Wo,bo分別表示遺忘門、輸入門和輸出門對(duì)應(yīng)三個(gè)階段的權(quán)重參數(shù)和偏置參數(shù).
在NLP中,注意機(jī)制允許模型根據(jù)輸入文本和到目前為止生成的文本來學(xué)習(xí)應(yīng)該注意什么,而不是像標(biāo)準(zhǔn)RNN和LSTM那樣將整個(gè)源文本編碼成固定長(zhǎng)度的向量注意力機(jī)制原理如圖2所示.
圖2 注意力機(jī)制原理圖
在自然語言處理中注意力機(jī)制首先用于機(jī)器翻譯任務(wù)中,在機(jī)器翻譯過程中注意力機(jī)制為每個(gè)單詞都賦予了一個(gè)權(quán)重,而這個(gè)權(quán)重則是通過計(jì)算出來的注意力,實(shí)現(xiàn)在翻譯下一個(gè)單詞時(shí)可以只關(guān)注局部對(duì)自己比較重要的信息,注意力計(jì)算公式如下.
(7)
其中,aij是一個(gè)softmax模型輸出,概率值的和為1;eij表示一個(gè)對(duì)齊模型,在機(jī)器翻譯中表示的是在翻譯第i個(gè)詞時(shí),受encoder端第j個(gè)詞的影響程度.常見的對(duì)齊計(jì)算方式有點(diǎn)乘(Dot product),權(quán)值網(wǎng)絡(luò)映射(General)和concat映射三種方式.注意力機(jī)制本質(zhì)上還是一個(gè)Encoder-Decoder結(jié)構(gòu),早期應(yīng)用在機(jī)器翻譯任務(wù)的sequence-to-sequence結(jié)構(gòu)在翻譯單個(gè)單詞時(shí)需要關(guān)注整個(gè)原句,不能只關(guān)注與之對(duì)應(yīng)的單詞和上下文.Attention機(jī)制就解決了上述問題,這也是在自然語言處理任務(wù)中被廣泛應(yīng)用的一個(gè)原因.
本文使用的混合神經(jīng)網(wǎng)絡(luò)包括卷積神經(jīng)網(wǎng)絡(luò)(CNN),雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(BiLSTM)和注意力機(jī)制,模型結(jié)構(gòu)如圖3所示.模型結(jié)構(gòu)的第一層是預(yù)處理過程中的詞嵌入層,第二層是一個(gè)包括三個(gè)卷積核的卷積層,使用混合卷積核的主要目的是盡可能多的提取更有意義的抽象化特征,用BiLSTM代替卷積神經(jīng)網(wǎng)絡(luò)中的池化層,利用Droupout防止過擬合.
圖3 混合神經(jīng)注意力網(wǎng)絡(luò)(CLA)Fig.3 The mixed neural attention network(CLA)
BiLSTM的輸出序列結(jié)合注意力機(jī)制注意貢獻(xiàn)率較大的詞向量,第三層也就是我們的句子嵌入層,第四層和第二層結(jié)構(gòu)一樣,用于提取句子的抽象化特征.在經(jīng)過特征提取的句向量中加入注意力后作為最后一層softmax分類器的特征進(jìn)行分類.詞嵌入層的詞向量大小為100維,每篇文檔最大的句子數(shù)量設(shè)置為15.利用卷積神經(jīng)網(wǎng)絡(luò)處理文本信息時(shí)卷積核的寬度與詞向量的大小一致,因此卷積核每次覆蓋的上下文的范圍就與卷積核的大小一致,因此可以通過設(shè)置卷積核的尺寸來決定將幾個(gè)連續(xù)詞的特征表示出來.傳統(tǒng)的CNN除了有卷積層之外,還通過池化層再次提取較為重要的特征簡(jiǎn)化網(wǎng)絡(luò),本文選擇利用雙向的LSTM來代替池化層,在雙向LSTM輸出的序列基礎(chǔ)上加入注意力機(jī)制,進(jìn)一步的將序列中對(duì)于分類具有較大貢獻(xiàn)率的單詞和句子給予更多的注意力.
本文使用的BiLSTM最終對(duì)得到的兩個(gè)方向的ht進(jìn)行簡(jiǎn)單的拼接即可,BiLSTM對(duì)句子的編碼模型如圖4所示.
圖4 BiLSTM對(duì)“我愛編碼這句話進(jìn)行雙向編碼”Fig.4 BiLSTM’s bidirectional coding of “I love coding”
前向LSTM依次輸入“我”,“愛”,“編碼”得到三個(gè)向量,如圖3藍(lán)色部分表示的向量,后向的LSTM依次輸入 “編碼”,“愛”,“我”得到三個(gè)向量如圖3灰色部分表示的向量,將前向和后向LSTM得到的隱向量進(jìn)行拼接就得到了BiLSTM編碼的向量.在本文的方法中,BilSTM并不是針對(duì)原始詞經(jīng)過詞嵌入后得到的向量進(jìn)行編碼,而是在經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)對(duì)其進(jìn)行特征提取之后,對(duì)含有重要意義的抽象特征的向量進(jìn)行編碼,BiLSTM編碼中含有向量的上下文信息,分類時(shí)能充分利用上下文信息,提高分類性能.
BiLSTM將卷積后的提取的特征從兩個(gè)方向進(jìn)行匯總,充分保留特征中包含的上下文信息.注意力機(jī)制使得模型能夠?qū)⒏嗟淖⒁饬Ψ旁趯?duì)情感分類有較大貢獻(xiàn)的單詞和句子中,學(xué)習(xí)局部重要性.
本文中的注意力機(jī)制中采用的對(duì)齊模式是點(diǎn)乘模式,將BiLSTM輸出的向量hit經(jīng)過tanh變換得到隱向量表示wit,再計(jì)算每個(gè)單詞對(duì)于情感分類的注意力,最后通過簡(jiǎn)單的加和得到一個(gè)句子中的所有注意力si,uw表示單詞的上下文向量.某一句語言所表達(dá)的情感總是與上下句密切相關(guān),本文提出的方法能充分利用上下文信息,對(duì)語句的情感分析不僅僅對(duì)單個(gè)語句進(jìn)行編碼,將這個(gè)語句的上下文一起編碼成為一個(gè)簡(jiǎn)單的文檔,將有標(biāo)記的情感句置于文檔中部,前后填充上下文語句.因此在進(jìn)行特征提取時(shí)句子的上下文語義和結(jié)構(gòu)信息也被包含其中,豐富了特征信息、提高了實(shí)驗(yàn)性能.
wit=tanh(Wwhit+bw)
(8)
(9)
si=∑aijhit
(10)
實(shí)驗(yàn)所用數(shù)據(jù)集是全國(guó)社會(huì)媒體處理大會(huì)(SMP2019)公開的由山西大學(xué)提供的數(shù)據(jù)集[15],主要是來源于產(chǎn)品論壇、微博、旅游網(wǎng)站等平臺(tái)的數(shù)據(jù).本文主要的工作是對(duì)中文的隱式情感句進(jìn)行評(píng)測(cè),數(shù)據(jù)集中包含顯示情感詞的文本已經(jīng)通過大規(guī)模情感詞典進(jìn)行過濾處理.處理后的數(shù)據(jù)集中將隱式情感句進(jìn)行了部分標(biāo)注,分為褒義隱式情感句(1),貶義隱式情感句(2)和中性情感句(0)三類.數(shù)據(jù)以切分句子的文檔形式發(fā)布,其中包含有句子的完整上下文信息,數(shù)據(jù)集的詳細(xì)數(shù)據(jù)如表2所示.
表2數(shù)據(jù)集詳細(xì)數(shù)據(jù)
中性句表示數(shù)據(jù)集中標(biāo)注的不含情感句的數(shù)量,褒義句表示數(shù)據(jù)集中標(biāo)注的含褒義隱式情感句的數(shù)量,貶義句表示數(shù)據(jù)集中標(biāo)注的含貶義隱式情感句的數(shù)量,總數(shù)表示含有標(biāo)注的語句總數(shù).
實(shí)驗(yàn)中所用的評(píng)價(jià)指標(biāo)為準(zhǔn)確率、精確度(P)、召回率(R)、準(zhǔn)確率(Acc)、F1值[16]和漢明損失,漢明損失(Hamming_loss)[17]用來計(jì)算多標(biāo)簽分類模型的精度,可以衡量預(yù)測(cè)所得標(biāo)記與樣本實(shí)際標(biāo)記之間的不一致程度,其各個(gè)評(píng)價(jià)指標(biāo)的計(jì)算公式如下.
(11)
(12)
(13)
(14)
(15)
其中,TP表示將正類預(yù)測(cè)為正類的數(shù)量;FN表示將正類預(yù)測(cè)為負(fù)類的數(shù)量;FP表示將負(fù)類預(yù)測(cè)為正類的數(shù)量;TN表示將負(fù)類預(yù)測(cè)為負(fù)類的數(shù)量;N是樣本的總數(shù);L是標(biāo)簽的個(gè)數(shù);Yi,j是第i個(gè)預(yù)測(cè)結(jié)果中第j個(gè)分量的真實(shí)值;Pi,j是第i個(gè)預(yù)測(cè)結(jié)果中第j個(gè)分量的預(yù)測(cè)值;XOR表示異或操作.
卷積神經(jīng)網(wǎng)絡(luò)的卷積層將單詞和句子的表示中有意義的抽象特征抽取出來,在卷積核大小分別為3,4,5以及三個(gè)卷積核的混合四種情況下進(jìn)行對(duì)比實(shí)驗(yàn),此時(shí)實(shí)驗(yàn)的epoch設(shè)置為8,實(shí)驗(yàn)結(jié)果如圖5所示,圖5的(a)~(d)圖就分別代表卷積核大小為3、4、5和混合卷積核四種情況.從圖5中可以發(fā)現(xiàn),在訓(xùn)練了8個(gè)epoch的情況下,結(jié)果開始收斂,訓(xùn)練得到的精度比較高能達(dá)到0.9,測(cè)試的精度就在0.7上下浮動(dòng),可以明顯看出的是在epoch為3或者4的時(shí)候,訓(xùn)練和測(cè)試的擬合情況達(dá)到最好,因此在后面的實(shí)驗(yàn)中的所有epoch都設(shè)置為3.
通過比較圖5(a)~(d)的4組圖可以看出,圖5(a)中精度和損失變化波動(dòng)比較大,沒有收斂的趨勢(shì),這是因?yàn)楫?dāng)卷積核為3時(shí),每次提取到只是相鄰三個(gè)單詞的特征,此時(shí)的句子中的語義和結(jié)構(gòu)信息沒有全部包含進(jìn)去,所以實(shí)驗(yàn)效果相對(duì)較差,卷積核為4和5的時(shí)候曲線明顯趨于緩和,當(dāng)使用混合卷積核的時(shí)候,實(shí)驗(yàn)效果達(dá)到最好.卷積核為3時(shí)能夠充分提取相鄰單詞之間的特征信息,卷積核為5時(shí),提取特征的前后跨度增大,可以將語句中的語義及結(jié)構(gòu)特征提取出來,將混合卷積核提取的特征結(jié)合起來就可以確保卷積神經(jīng)網(wǎng)絡(luò)在卷積過程中充分提取單詞或語句中有意義的特征信息,因而提高了分類效果.
運(yùn)用混合卷積核,epoch設(shè)置為3的實(shí)驗(yàn)結(jié)果如表3所示.
表3混合卷積核下的實(shí)驗(yàn)性能
Tab.3Experimentalperformanceunderthemixedconvolutionkernel
情感句精確度召回率F1值標(biāo)記樣本數(shù)漢明損失中性0.770.970.862554-褒義0.760.810.781233-貶義0.770.750.761358-整體0.770.840.8051450.23
從表3可知,對(duì)于中性句(不含情感)的分類F1值達(dá)到了0.86,明顯優(yōu)于含情感的語句分類效果.這是由于中性情感語句的語句結(jié)構(gòu)和語言表達(dá)方式相對(duì)簡(jiǎn)單,而含情感的語句表達(dá)方式則比較含蓄.實(shí)驗(yàn)的整體準(zhǔn)確率達(dá)到0.77,漢明損失為0.23,在隱式情感分類任務(wù)中達(dá)到了良好的分類效果.
在本文中,我們將傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)CNN中的池化層用BiLSTM代替,作用是能夠更加完整的保存提取特征中的上下文信息,并且在模型中加入了注意力機(jī)制,注意力機(jī)制使得模型能夠?qū)⒏嗟淖⒁饬Ψ旁趯?duì)情感分類有較大貢獻(xiàn)的單詞和句子中,學(xué)習(xí)局部重要性.實(shí)驗(yàn)結(jié)果表明該方法可以顯著提高隱式情感句的分類效果.隱式情感分析的難點(diǎn)在于語義表達(dá)含蓄,隱式情感句的語義特征、上下文結(jié)構(gòu)特征的信息提取直接影響到最終的分類結(jié)果,在接下來的隱式情感分析研究中,最主要的工作就是從更細(xì)粒度的角度提取隱式情感句的特征信息.現(xiàn)在情感分析研究工作存在的數(shù)據(jù)稀缺性、類別不平衡、領(lǐng)域依賴性和語言不平衡等難點(diǎn),因此基于多媒體融合、領(lǐng)域自適應(yīng)、深層語義和社交網(wǎng)絡(luò)的情緒分析將是之后研究工作的一個(gè)重點(diǎn)和熱點(diǎn).