張寶華,張華平,厲鐵帥,商建云
1.北京理工大學(xué)計(jì)算機(jī)學(xué)院,北京 100081;2.中央軍事委員會政法委員會,北京 100120
隨著智能電子設(shè)備的普及和網(wǎng)絡(luò)的發(fā)展,大量的社交媒體及電商平臺開始走入人們的生活,人們在日常使用過程中會產(chǎn)生海量的評論數(shù)據(jù)。合理利用觀點(diǎn)挖掘技術(shù)可以從這些數(shù)據(jù)中獲取巨大的價(jià)值,如對電商評論數(shù)據(jù)進(jìn)行觀點(diǎn)挖掘,可以分析得出商品的優(yōu)缺點(diǎn),商家可以對其進(jìn)行修改;對影評數(shù)據(jù)進(jìn)行挖掘,可以看到當(dāng)前電影的缺點(diǎn)和優(yōu)點(diǎn),方便用戶進(jìn)行選擇,也方便出版方的宣傳工作;對新聞評論區(qū)等數(shù)據(jù)進(jìn)行挖掘,可以掌握當(dāng)前群眾的態(tài)度。情感分析作為觀點(diǎn)挖掘的主要技術(shù)之一,面臨著巨大的挑戰(zhàn)。
新詞頻出、長短不一、結(jié)構(gòu)不定是網(wǎng)絡(luò)評論數(shù)據(jù)的主要特點(diǎn)。嚴(yán)重依賴情感詞典的傳統(tǒng)規(guī)則情感分析方法一方面由于情感詞典中缺少網(wǎng)絡(luò)新詞,無法得到新詞的正確情感權(quán)重,在計(jì)算時(shí)只能忽略這部分詞;另一方面又因?yàn)榫W(wǎng)絡(luò)文本的結(jié)構(gòu)不定,使用現(xiàn)有的規(guī)則對網(wǎng)絡(luò)文本結(jié)構(gòu)進(jìn)行分析會出現(xiàn)一定的誤差,導(dǎo)致該方法對這類數(shù)據(jù)的分析效果很差。而基于深度學(xué)習(xí)的分析方法雖然在分析效果上較好,但也存在一些問題。首先,單一的神經(jīng)網(wǎng)絡(luò)模型在處理文本數(shù)據(jù)時(shí)會因?yàn)槟P捅旧泶嬖诘慕Y(jié)構(gòu)缺陷,造成部分情感特征的損失,從而導(dǎo)致分析準(zhǔn)確率較低;其次,現(xiàn)有神經(jīng)網(wǎng)絡(luò)模型需要將文本數(shù)據(jù)映射到向量空間,構(gòu)建文本向量矩陣之后進(jìn)行模型運(yùn)算,但是在這個過程中丟失了在傳統(tǒng)方法中對句子情感有很大影響的結(jié)構(gòu)信息;最后,現(xiàn)有的情感分析模型已經(jīng)開始研究如何將規(guī)則方法中使用的一些特征加入深度學(xué)習(xí)方法中,但是其仍然以輸入全部文本數(shù)據(jù)為主,缺少對其他特征的提取。
雖然基于規(guī)則的方法的分析效果要弱于深度學(xué)習(xí)方法,但是基于規(guī)則的方法中的句法規(guī)則特征在深度學(xué)習(xí)方法中仍然具有很重要的作用。因此,需要構(gòu)建一種新的模型,將這部分句法規(guī)則特征融入神經(jīng)網(wǎng)絡(luò)模型。為了結(jié)合不同模型的優(yōu)點(diǎn),并將句法結(jié)構(gòu)規(guī)則引入深度學(xué)習(xí)模型中,本文構(gòu)建了基于多輸入模型及句法結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型。該模型同時(shí)將文本向量、情感詞向量和語法規(guī)則向量輸入獨(dú)立的神經(jīng)網(wǎng)絡(luò)模型中,并對模型提出的特征進(jìn)行拼接,從而得到更加全面的文本特征。實(shí)驗(yàn)證明,本文提出的神經(jīng)網(wǎng)絡(luò)模型較其他模型的效果更好。
本文主要有以下貢獻(xiàn):
● 本文提出了一種結(jié)合多通道卷積神經(jīng)網(wǎng)絡(luò)(multi-channel convolutional neural network,MCNN)、長短期記憶(long short-term memory,LSTM)網(wǎng)絡(luò)和全連接神經(jīng)網(wǎng)絡(luò)的合并模型MCNN_S_LSTM_NN,該模型可以結(jié)合單個模型的優(yōu)勢,從文本評論中獲取更全面的情感特征,從而提高情感分析的準(zhǔn)確率;
● 本文針對每部分模型的特點(diǎn),設(shè)計(jì)了不同的模型輸入,可以從不同的角度對文本進(jìn)行特征提?。?/p>
● 本文首先將句法結(jié)構(gòu)、標(biāo)點(diǎn)符號等在基于情感詞典的情感分析方法中會用到的分析規(guī)則應(yīng)用到深度學(xué)習(xí)中。同時(shí),本文構(gòu)建了句法規(guī)則提取器,可以直接對文本規(guī)則進(jìn)行提取,并映射到向量空間,作為深度學(xué)習(xí)模型的輸入。
深度學(xué)習(xí)方法最早由Collobert R等人[1]在2011年應(yīng)用到自然語言處理領(lǐng)域,用于解決詞性標(biāo)注等問題。2014年,Kim Y[2]首先在文本分類方面使用卷積神經(jīng)網(wǎng)絡(luò)(convolutional nearal network,CNN),并且取得了很好的分類效果。之后Kalchbrenner N 等人[3]提出了一種寬卷積模型,并選擇用k-max池化代替?zhèn)鹘y(tǒng)CNN的最大池化來保留更多的特征。Zhang Y L等人[4]通過多次重復(fù)實(shí)驗(yàn),比較了不同超參數(shù)對CNN模型結(jié)構(gòu)在性能和穩(wěn)定性方面的影響。Gao J等人[5]和She n Y L等人[6]介紹了如何將句子表示成包含語義的結(jié)構(gòu)。Zha ng R等人[7]提出了可有效獲取句子依賴信息的CNN模型,通過處理預(yù)訓(xùn)練的詞嵌入來構(gòu)建分層的文本表示。CNN常被用于捕獲局部特征,而循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)由于自身存在反饋環(huán)結(jié)構(gòu),可以保留記憶信息,在時(shí)間序列模型中得 到了很好的應(yīng)用[8]。但是RNN自身存在一定的缺陷,當(dāng)文本長度增加時(shí),梯度消失和梯度爆炸情況的出現(xiàn)會導(dǎo)致分析效果不理想。LSTM和門控循環(huán)單元在傳統(tǒng)RNN的基礎(chǔ)上引入了門機(jī)制,較好地解決了RNN的問題。So cher R等人[9]通過構(gòu)建Tree-LSTM獲取到更多的文本特征。Tran K等人[10]為了提升模型對歷史信息的處理能力,在LSTM的基礎(chǔ)上引入了外部記憶單元,但是由于增加了大量的參數(shù),模型準(zhǔn)確度提升不大。Chen P等人[11]使用具有注意力機(jī)制的雙向長短期記憶(bidirection long short term memory,BiLSTM)網(wǎng)絡(luò)獲得了較 好的分類效果。宋婷等人[12]建立了分層的LSTM模型,用于提取方面級的情 感。Wang Y Q等人[13]通過對LSTM建模、對上下文建模,結(jié)合文本隱藏狀態(tài)和方面級情感分析中的方面信息生成注意力向量,并建立了AE-LSTM和ATAE-LSTM神經(jīng)網(wǎng)絡(luò)模型,最后得到方面級的情感分類模型。LSTM也存在缺點(diǎn),其雖然能獲得文本的上下文語義信息,但是缺少對文本局部信息的獲取。
聯(lián)合多個簡單模型的神經(jīng)網(wǎng)絡(luò)模型逐漸成為情感分析方法 的主流,Cheng Y等人[14]建立了典型的并行雙層網(wǎng)絡(luò)結(jié)構(gòu),輸入的數(shù)據(jù)會先經(jīng)過注意力機(jī)制的計(jì)算,計(jì)算得到的結(jié)果分別被輸入多通道卷積神經(jīng)網(wǎng)絡(luò)(mutil-channel CNN,MCNN)和雙向門控循環(huán)單元(bidirection gated recurrent unit,BiGRU),接著將兩個模型得到的特征合并,最后對特 征進(jìn)行訓(xùn)練。Yang L等人[15]使用串行結(jié)構(gòu)將CNN和BiGRU進(jìn)行組合,并在最后一層加入了注意力機(jī)制。Li W等人[16]使用并行結(jié)構(gòu)將BiLSTM和CNN組合起來。不同的是,其提出了使用情感詞進(jìn)行填充的方法,可以緩 解梯度消失問題。Li W J等人[17]雖然沒有使用CNN,但是并行了3個BiLSTM,將文本的輸入向量分別與詞性向量、位置向量和依存語法向量拼接,并分別作為3個模型的輸入;然后利用注意力機(jī)制將3個特征進(jìn)行拼接。通過拼接這3個向量可以將句子的部分語法規(guī)則特征輸入模型中,從而提 高模型的準(zhǔn)確率。Usama M等人[18]使用了串行的方法,將RNN和CNN合并起來,并在兩個模型中間加入了注意力機(jī)制。Basiri M E 等人[19]提出了新的既包含并行結(jié)構(gòu)又包含串行結(jié)構(gòu)的模型。該模型首先將BiLSTM和BiGRU進(jìn)行并行處理,之后利用CNN進(jìn)行卷積操作,提取局部特征并降低特征維度??梢钥吹?,并行網(wǎng)絡(luò)由于可以綜合單一網(wǎng)絡(luò)模型的優(yōu)點(diǎn), 已經(jīng)成為當(dāng)前的分析主流。Jin N等人[20]提出了MLT-MSCNN-LSTM,該模型同樣將MCNN和LSTM網(wǎng)絡(luò)作為基礎(chǔ)模型。此外,該模型還提出了融合網(wǎng)絡(luò)(fusion net),用于合并MCNN不同卷積核的輸出。該模型首先訓(xùn)練word-embedding矩陣,同時(shí)作為MCNN和LSTM兩個模型的輸入;然后分別用LSTM提取全局特征、用MCNN提取局部特征,再使用融合網(wǎng)絡(luò)合并;最后將兩個模型的輸出進(jìn)行拼接得到句子的最終表示特征。在融合網(wǎng)絡(luò)中,Jin N等人[20]首先將3個經(jīng)過最大值池化后的特征拼接,然后使用全連接神經(jīng)網(wǎng)絡(luò)獲取特征,同時(shí)在全連接神經(jīng)網(wǎng)絡(luò)中使用dropout機(jī) 制來提高模型的收斂速度。Li W J等人[17]提出了SAMF-BiLSTM模型,該模型在LSTM上加入了自注意義力(self-attention)機(jī)制和層正則化(layer normalization),該模型一共包含5層,且通過3個BiLSTM從不同方面提取文本的情感特征。該模型在詞向量層做了改進(jìn),在訓(xùn)練好的詞向量上拼接了語音特征向量、位置值向量和依賴解析向量,并將拼接向 量作為模型的輸入。Basiri M E等人[21]提出 了ABCDM(attention-based bidirectional CNN-RNN deep model)。該模型主要采用注意力機(jī)制,首先將文本數(shù)據(jù)轉(zhuǎn)換為向量矩陣;然后通過BiLSTM和BiGRU兩個模型同時(shí)提取文本特征,提取完成后引入注意力機(jī)制;接著在最后一層加入卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行卷積,提取相關(guān)的局部特征并降低特征維度;最后將輸出合并,得到最終的特征向量,利用全連 接神經(jīng)網(wǎng)絡(luò)進(jìn)行最后的預(yù)測。Usama M等人[22]提出了基于注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)情感分析(ATTConv RNNrand)模型。該模型使用了雙通道的卷積神經(jīng)網(wǎng)絡(luò);然后對經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)計(jì)算后的文本特征進(jìn)行注意力計(jì)算,并將其輸入循環(huán)神經(jīng)網(wǎng)絡(luò)中;最后利用 全連接神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)和訓(xùn)練。Li W J等人[17]提出了情感詞填充的卷積神經(jīng)網(wǎng)絡(luò)和長短期記憶網(wǎng)絡(luò)(CNN_BiLSTM_sentiment_padding)模型,創(chuàng)新性地使用情感詞填充代替數(shù)字0填充。在對句子長度較短的句子進(jìn)行填充時(shí),作者使用句子中情感詞權(quán)重絕對值的大小,確定句子中不同情感詞的填充個數(shù),然后使用情感詞填充,這可以強(qiáng)調(diào)句子中的情感信息。作者構(gòu)建了并行的BiLSTM和MCNN模型,分別使用兩個模型對句子特征進(jìn)行提取,再將兩個模型得到的特征合并,在最后一層采用全連接神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí) 和預(yù)測。
但是,上述模型中,只有Yang L等人[15]使用了部分的語法規(guī)則, 其他模型都忽略了對語法規(guī)則的輸入;而Cheng Y[14]等人的結(jié)論中提到,需要考慮將傳統(tǒng)方法中的句法結(jié)構(gòu)特征融入深度學(xué)習(xí)模型中,這也是本文主要研究的內(nèi)容。
如圖1所示,本文的模型主要包括MCNN、LSTM和全連接神經(jīng)網(wǎng)絡(luò)。其中,MCNN的輸入為整個句子的詞向量矩陣,通過構(gòu)建多通道CNN提取文本特征;LSTM的輸入為句子中的情感詞的詞向量矩陣。特征提取器主要提取句子中的句法結(jié)構(gòu)信息,并將其映射到向量空間作為全連接神經(jīng)網(wǎng)絡(luò)的輸入。將這3個網(wǎng)絡(luò)得到的特征進(jìn)行融合,然后利用全連接神經(jīng)網(wǎng)絡(luò)輸出句子的情感類別。
圖1 模型的整體架構(gòu)
本文模型分為3個部分,MCNN、LSTM和全連接神經(jīng)網(wǎng)絡(luò)。其中,MCNN的輸入為整個句子的詞向量矩陣。對于訓(xùn)練集中的數(shù)據(jù),首先使用word2vec算法計(jì)算其詞向量,然后通過MCNN來提取文本特征。LSTM的輸入為句子中包含的情感詞的詞向量矩陣,LSTM主要用來提取文本中的情感詞特征。最后一部分的神經(jīng)網(wǎng)絡(luò)模型是全連接神經(jīng)網(wǎng)絡(luò),其輸入是特征提取器從文本中提取到的句法特征。特征提取器主要包含兩個功能:特征提取和特征映射。特征提取是指從文本中提取其包含的句子結(jié)構(gòu)特征、句間關(guān)系特征和標(biāo)點(diǎn)符號特征,詳細(xì)內(nèi)容將在第3.1節(jié)中介紹。提取到特征之后,需要將這部分特征在特定規(guī)則下映射到向量空間,從而輸入神經(jīng)網(wǎng)絡(luò)模型中。在這三部分特征全部提取結(jié)束后,進(jìn)行拼接處理。最后利用全連接神經(jīng)網(wǎng)絡(luò)對整體特征進(jìn)行學(xué)習(xí)。
本文的模型是由3個基本神經(jīng)網(wǎng)絡(luò)模型構(gòu)成的。對于每個基本神經(jīng)網(wǎng)絡(luò)模型,本文構(gòu)建了不同的輸入。對于MCNN,根據(jù)CNN可以提取局部特征的能力,選擇將整個句 子的詞向量矩陣作為輸入。對于LSTM模型,之前的研究[23]證明了在LSTM模型中只使用情感詞代表句子的情感特征可以獲取比使用整個句子作為輸入更好的效果。因此,本文選擇使用句子中包含的情感詞作為輸入,在將句子輸入之前,先使用情感詞典構(gòu)建方法對數(shù)據(jù)集構(gòu)建情感詞典,然后提取句子中的情感詞,構(gòu)建情感詞的詞向量矩陣并作為輸入。對于全連接神經(jīng)網(wǎng)絡(luò),本文設(shè)計(jì)的輸入是句子的句法規(guī)則特征。本文主要使用了如下3種規(guī)則:結(jié)構(gòu)規(guī)則、句間關(guān)系規(guī)則、句型規(guī)則。
● 結(jié)構(gòu)規(guī)則:根據(jù)句子中是否包含多個單句可以將句子分為復(fù)句和單句。復(fù)句是由多個單句構(gòu)成的,復(fù)句的情感權(quán)重由單句的情感權(quán)重根據(jù)一定的規(guī)則累加得到,單句的情感權(quán)重就是本身的權(quán)重。因此,要先根據(jù)句內(nèi)標(biāo)點(diǎn)、關(guān)聯(lián)詞等將句子標(biāo)定為為單句或復(fù)句,若是復(fù)句,則根據(jù)單句的個數(shù)將包含的單詞映射到向量空間。
● 句間關(guān)系規(guī)則:這里的句間關(guān)系規(guī)則主要有4種,轉(zhuǎn)折關(guān)系、遞進(jìn)關(guān)系、因果關(guān)系和假設(shè)關(guān)系。在轉(zhuǎn)折關(guān)系中根據(jù)轉(zhuǎn)折詞的不同,可以將轉(zhuǎn)折句分為轉(zhuǎn)折前句和轉(zhuǎn)折后句,轉(zhuǎn)折前后句的情感極性相反,且強(qiáng)調(diào)后句的情感;在遞進(jìn)關(guān)系中,前后遞進(jìn)句的情感逐漸增強(qiáng),且更強(qiáng)調(diào)后遞進(jìn)句的情感;在因果關(guān)系中,更強(qiáng)調(diào)原因的情感;在假設(shè)關(guān)系中,更強(qiáng)調(diào)條件,對后假設(shè)句的情感有削弱。基于此,本文將每個單句中的關(guān)聯(lián)詞映射到向量中作為輸入。
● 句型規(guī)則:根據(jù)結(jié)尾標(biāo)點(diǎn)符號的不同,主要分為陳述句、感嘆句和疑問句。其中,以句號結(jié)尾的為陳述句,句子情感值不變。以嘆號結(jié)尾的為感嘆句,句子的情感值增強(qiáng)。以問號結(jié)尾的為問句,根據(jù)是否有反義疑問詞,可分為反義疑問句和問句,問句表示無情感,而反義疑問句則強(qiáng)調(diào)句子的反向情感。因此根據(jù)結(jié)尾符號和是否包含反義疑問詞,可以將句型映射到向量空間中。具體步驟如下。
(1)初始化語法規(guī)則特征向量GV=[0]。
(2)根據(jù)標(biāo)點(diǎn)符號和句子中是否有連接詞判斷是否為復(fù)句,若是,則將GV的第一位置為1,進(jìn)行下一步;否則根據(jù)標(biāo)點(diǎn)符號,將GV的對應(yīng)位置置1。
(3)根據(jù)關(guān)聯(lián)詞和標(biāo)點(diǎn)符號對句子進(jìn)行切分,并根據(jù)切分出來的單句數(shù)量,在GV剩下的位置上置1。
(4)對切分的每個單句進(jìn)行關(guān)聯(lián)詞匹配和標(biāo)點(diǎn)符號匹配,并以12位的向量空間標(biāo)記每條單句的處理結(jié)果。其中轉(zhuǎn)折前置詞、假設(shè)前置詞、因果前置詞和強(qiáng)調(diào)前置詞由前4位表示,后關(guān)聯(lián)詞由中間4位表示,標(biāo)點(diǎn)符號類型由后4位表示,每個單句都會得到類似的12位標(biāo)記,然后按順序組成GV。
(5)填充0,將GV補(bǔ)足到N位,其中N表示全連接層的輸入長度限制。
由此,針對不同基本模型的特點(diǎn),構(gòu)建了不同的輸入,并將語法規(guī)則特征映射到向量空間作為全連接神經(jīng)網(wǎng)絡(luò)的輸入,通過全連接神經(jīng)網(wǎng)絡(luò)將其補(bǔ)充到最終模型的特征中。
本文提出的基本模型主要有MCNN和LSTM。
3.2.1 卷積神經(jīng)網(wǎng)絡(luò)層
MCNN的架構(gòu)如圖2所示,其主要由卷積層、池化層和全連接層構(gòu)成。卷積層用來提取輸入數(shù)據(jù)的特征;在卷積層進(jìn)行特征提取后,輸出的特征圖會被傳遞到池化層進(jìn)行特征選擇和信息過濾;全連接層等價(jià)于傳統(tǒng)前饋神經(jīng)網(wǎng)絡(luò)的隱藏層,一般和輸出層連接,實(shí)現(xiàn)最后的輸出。
圖2 MCNN的架構(gòu)
在本文的模型中,假設(shè)句子的最大長度為N,其中不足N的用0補(bǔ)齊;詞向量維度為d,則輸入句子可以用矩陣S∈Rn+d表示。假設(shè)卷積核W∈Rd×h,其中,d表示卷積核的長度,大小和詞向量的維度相同;h表示卷積核的寬度。本文選擇的卷積核大小分別為3×3、5×5、7×7。對于輸入S∈Rn+d,通過卷積操作可得特征向量O=(O0,O1,O2,…,On-h) ∈Rn-h(huán)+1, 則O中元素的計(jì)算式為Oi=W·Si,i+h-1,其中i= 1,2,3,…,n-h(huán),符號“·”表示矩陣的點(diǎn)乘操作。Si,j表示矩陣S的第i行到第j行的子矩陣。在卷積神經(jīng)網(wǎng)絡(luò)中,卷積完成之后一般進(jìn)行池化操作,在池化層中使用最大池化操作,在每個過濾器中都可以取得最大值,可以提取到最顯著的特征。Zhang Y等人[4]的研究工作也表明,在各種句子分類任務(wù)中,最大池化操作在性能上始終優(yōu)于其他池化策略。因此,這里選用1-max池化,其主要思想是通過選擇特定特征圖的最大值來捕獲與特定特征圖相對應(yīng)的最重要特征。如圖2所示,經(jīng) 過不同大小的卷積核以及同樣的池化操作后,提取出不同大小的特征,將這些特征進(jìn)行合并,然后傳遞給以Sigmoid為激活函數(shù)的全連接層,就可以得到不同情感類別的概率。
3.2.2 長短期記憶網(wǎng)絡(luò)
LSTM的架構(gòu)如圖3所示。RNN可以處理一定的短期依賴,但是由于序列較長時(shí),序列后部的梯度很難反向傳播到前面的序列,因此無法處理長期依賴問題。而在LSTM中引入了細(xì)胞狀態(tài),并使用輸入門、遺忘門和輸出門來保存和控制信息,可以解決RNN的缺點(diǎn)。
圖3 LSTM的架構(gòu)
LSTM的某個狀態(tài)有以下步驟。
(1)當(dāng)輸入門it接收到當(dāng)前輸入xt和最后的最終隱藏狀態(tài)ht-1之后,it通過以下計(jì)算式進(jìn)行計(jì)算:。其中 ,σ是一個邏輯S型函數(shù),wix和wih分別代表兩個權(quán)重矩陣,bi是輸入門的偏差向量。
(2)若it的值為1,則表示當(dāng)前輸入的信息可以進(jìn)入細(xì)胞狀態(tài);若值為0,則表示當(dāng)前輸入的信息不可以進(jìn)入細(xì)胞狀態(tài)。然后計(jì)算候選值,其中wcx和wch分別代表兩個權(quán)重矩陣,bc是偏差向量。(3)之后遺忘門ft將執(zhí)行操作。ft的值為0表示不傳遞信息ct-1給ct,ft的值為1表示將全部信息傳遞給ct。其中wfx和wfh分別代表兩個權(quán)重矩陣,bf是遺忘門的偏差向量。
(4)計(jì)算完成后的細(xì)胞狀態(tài)為ct=ftct-1+itct。
最終隱藏狀態(tài)的輸出與前一個序列的隱藏狀態(tài)、當(dāng)前輸入和當(dāng)前單元狀態(tài)值有關(guān),用一個激活函數(shù)tanh將當(dāng)前單元狀態(tài)的值壓縮到-1~1。將先前隱藏狀態(tài)與當(dāng)前輸入通過sigmoid函數(shù)轉(zhuǎn)換后的值與當(dāng)前單元狀態(tài)經(jīng)過壓縮后的值進(jìn)行相乘,保留或舍棄先前的狀態(tài)信息與此時(shí)的輸入信息,從而得到一個新的隱藏狀態(tài)值。
在基本模型都提取到文本的情感特征之后,將3個模型得到的特征進(jìn)行合并,這可以取長補(bǔ)短,綜合不同模型的特點(diǎn),同時(shí)可以將文本的句法規(guī)則特征加入文本的最終特征中,實(shí)現(xiàn)句法規(guī)則特征與深度學(xué)習(xí)模型的融合。最后通過全連接神經(jīng)網(wǎng)絡(luò)對最終的文本情感特征進(jìn)行分類。
本文在Linux環(huán)境下使用Python2.7和Keras完成了模型的編寫,并在8塊型號為1080Ti的GPU上進(jìn)行了訓(xùn)練。從第3節(jié)可以看出,本文的3個模型的輸入各不相同。其中 LSTM的輸入為情感詞,因此需要先利用情感詞典構(gòu)建方法[18]構(gòu)建情感詞典,也可以采用公開的情感詞典,但是效果不如針對數(shù)據(jù)單獨(dú)提取的詞典。
本文的數(shù)據(jù)集主要使用譚松波酒店評論數(shù)據(jù)(Hotel)、NLPCC2014情感分析task2以及筆者從豆瓣上采集的影評數(shù)據(jù)(Douban),將好評認(rèn)為正面情感,差評認(rèn)為負(fù)面情感。對3個語料庫的統(tǒng)計(jì)結(jié)果見表1。
表1 對3個語料庫的統(tǒng)計(jì)結(jié)果
為了驗(yàn)證本文模型對最終結(jié)果的貢獻(xiàn),本文設(shè)計(jì)了消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果見表2。
其中,MCNN_S_LSTM_NN是本文提出的多輸入模型,MCNN表示多通道卷積神經(jīng)網(wǎng)絡(luò),S_LSTM表示以LSTM模型為基礎(chǔ)且輸入為句子中包含的情感詞的詞向量矩陣,LSTM表示以LSTM模型為基礎(chǔ)且輸入為整個句子的向量矩陣,NN表示以全連接神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)且輸入為通過句法規(guī)則特征提取器提取的句法規(guī)則向量。從表2可以看到,帶有NN的模型要比不帶NN的模型的準(zhǔn)確率高,說明句法結(jié)構(gòu)特征的引入豐富了情感特征,從而提高了情感分析的準(zhǔn)確率。S_LSTM和LSTM的對比則說明句子中的情感詞對句子的情感有很極大的影響。
表2 消融實(shí)驗(yàn)的準(zhǔn)確率
本文主要選取CNN、LSTM、SLCABG[14]、ATTConv RNN-rand[17]、ABCDM[18]、SAMF-BILSTM[15]、CNNBiLSTM(sentiment word padding)[16]、MC-AttCNN-AttBiGRU[13]作為對比模型,將精確率(P)、召回率(R)、F1值和準(zhǔn)確率(ACC)作為評測指標(biāo),其實(shí)驗(yàn)結(jié)果見表3。
從表3可以看到,本文構(gòu)建的模型MCNN_S_LSTM_NN在3個數(shù)據(jù)集上的準(zhǔn)確率均最高,這證明了本文構(gòu)建的模型的可行性和先進(jìn)性。另外,從表3還可以看到,組合模型的準(zhǔn)確率相較于簡單模型要更高,這說明復(fù)合模型可以綜合簡單模型的優(yōu)點(diǎn),可以提取到更全面的文本特征。在模型中使用注意力機(jī)制的方法(如MC-AttCNN-AttBiGRU、ABCDM、ATTConv-RNN rand)的準(zhǔn)確率也比較高,這也許是本文可以繼續(xù)學(xué)習(xí)和研究的一個方向。
表3 對比實(shí)驗(yàn)的實(shí)驗(yàn)結(jié)果
本文構(gòu)建了基于多輸入模型及句法結(jié)構(gòu)的中文評論情感分析方法,通過研究基于情感詞典的情感分析方法,將情感分析中對句子情感會產(chǎn)生重要影響的句法規(guī)則特征融入深度學(xué)習(xí)模型中,豐富了模型獲取到的文本情感特征,提高了模型的準(zhǔn)確率。同時(shí),本文還提出了句法規(guī)則特征抽取方法,可以在文本輸入時(shí)將特征提取出來,構(gòu)建成向量矩陣并作為模型的一個輸入。從消融實(shí)驗(yàn)的結(jié)果可以看出,句法規(guī)則特征的引入可以提高深度學(xué)習(xí)模型的分析準(zhǔn)確率,對比實(shí)驗(yàn)則說明單個模型的效果要弱于組合模型,且目前組合模型的情感分析方法已成為當(dāng)前的研究主流。從3個數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果來看,本文構(gòu)建的模型可以提取到更多的特征,且情感分析的準(zhǔn)確率更高,證明了本方法的有效性。
這是第一次將句法規(guī)則特征通過特征提取器提取特征的方式引入深度學(xué)習(xí)模型中,為之后情感分析方法的研究提供了新的研究思路。當(dāng)然,本文模型也有一些不足之處,如句法規(guī)則的引入過于簡單、現(xiàn)有的規(guī)則特征提取方法可能會造成一些信息的損失,仍然需要進(jìn)一步研究解決。