張翠 周茂杰
摘? 要: 現(xiàn)在文本情感分類普遍采用深度學(xué)習(xí)的方法。卷積神經(jīng)網(wǎng)絡(luò)可以較好地提取局部特征,但是缺少對上下文的理解。長短記憶網(wǎng)絡(luò)可以有效記憶較長距離的信息,有較強(qiáng)的全局性。為實(shí)現(xiàn)全局特征與局部特征的有效融合,研究了一種融合兩種特征的深度學(xué)習(xí)方法,構(gòu)建深度學(xué)習(xí)網(wǎng)絡(luò)模型。利用互聯(lián)網(wǎng)中獲取的文本作為訓(xùn)練語料及測試語料,在百度開源平臺(tái)PaddlePaddle上進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果顯示,該算法與傳統(tǒng)CNN和LSTM模型算法相比,識(shí)別的準(zhǔn)確率分別提高了2.65和1.87個(gè)百分點(diǎn),說明該模型算法在文本情感分類的性能上有所提高。
關(guān)鍵詞: 卷積神經(jīng)網(wǎng)絡(luò); 雙向長短記憶網(wǎng)絡(luò); 融合; 情感分類
中圖分類號(hào):TP311? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ?文章編號(hào):1006-8228(2019)12-38-04
A text emotion classification method based on CNN and bidirectional LSTM fusion
Zhang Cui1, Zhou Maojie2
(1. BowenCollege of Management, Guilin University of Technology, Guilin, Guangxi 541006, China; 2. Guilin University of Technology)
Abstract: Nowadays, deep learning is widely used in text emotion classification. CNN (convolutional neural networks) can extract local features well, but it lacks the understanding of context. LSTM (long and short memory networks) can effectively memorize long-distance information and have a strong global character. In order to achieve the effective integration of global and local features, this paper studies a deep learning method with the fusion of the two, and constructs a deep learning network model. Using the text obtained from the Internet as training corpus and testing corpus, experiments are carried out on Baidu open source platform PaddlePaddle. The experiment results show that compared with the traditional CNN and LSTM models, the recognition accuracy of the proposed algorithm is improved by 2.65 and 1.87 percentage points respectively, which shows that the performance of this model in text emotion classification is improved.
Key words: convolutional neural networks; bidirectional long-short memory networks; fusion; emotion classification
0 引言
隨著互聯(lián)網(wǎng)的高速發(fā)展,自媒體時(shí)代已經(jīng)到來,人們可以隨時(shí)隨地發(fā)表觀點(diǎn)和評(píng)論,互聯(lián)網(wǎng)中的文本呈爆炸式增長。如何在網(wǎng)絡(luò)文本中挖掘有價(jià)值的信息,這是當(dāng)前一個(gè)重要的課題。網(wǎng)絡(luò)文本具有一定語義,同時(shí)帶有情感傾向,對于如何評(píng)價(jià)一類文本,人們更關(guān)心的是這條信息屬于正面還是負(fù)面,也就是情感極性,而不是具體的評(píng)論細(xì)節(jié),只要了解評(píng)論的極性就實(shí)現(xiàn)了文本的價(jià)值,進(jìn)而可以通過大量的評(píng)價(jià)數(shù)據(jù)做出正確的決策。由于網(wǎng)絡(luò)文本較多,我們很難通過人工分析來完成所有的文本情感分類。機(jī)器學(xué)習(xí)方法能自動(dòng)完成文本的情感分析,為文本的情感分類提供了便利。
近年來,深度學(xué)習(xí)取得了較大的進(jìn)展。深度學(xué)習(xí)首先是在圖像處理及音頻識(shí)別領(lǐng)域中取得了成功,一些學(xué)者將此方法推廣應(yīng)用到文本處理上,經(jīng)過多年的應(yīng)用實(shí)踐,證明深度學(xué)習(xí)方法用在文本處理上是可行的。與傳統(tǒng)的文本分類算法相比,深度學(xué)習(xí)算法能自動(dòng)提取特征,加快處理速度,顯著提高分類效果。
深度學(xué)習(xí)的核心是利用多重非線性變換結(jié)構(gòu)對數(shù)據(jù)進(jìn)行高階抽象,并最終完成數(shù)據(jù)特征識(shí)別的一種算法[1]。神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)中重要的模型之一,經(jīng)過多年的發(fā)展,產(chǎn)生了多個(gè)變種,每種神經(jīng)網(wǎng)絡(luò)都有自己的優(yōu)勢。卷積神經(jīng)網(wǎng)絡(luò)(CNN)利用卷積核進(jìn)行移動(dòng)計(jì)算,可以較好的提取局部特征[2-4],但利用CNN進(jìn)行文本識(shí)別,不能解決長文本的上下文依賴。
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)以序列形式輸入數(shù)據(jù)[5],輸出數(shù)據(jù)要對當(dāng)前數(shù)據(jù)及前后數(shù)據(jù)都有所依賴,可以提取全局特征,LSTM(Long Short-Term Memory)是循環(huán)神經(jīng)網(wǎng)絡(luò)的一種,利用三門設(shè)計(jì)方法,解決了長期依賴導(dǎo)致的梯度消失和梯度爆炸問題[6]。
本文設(shè)計(jì)一種CNN與LSTM結(jié)合的深度學(xué)習(xí)模型,發(fā)揮CNN的局部特征提取優(yōu)勢,并且從全局上理解文本的情感特征。首先利用CNN提取局部特征,利用LSTM獲取上下文相關(guān)信息,然后將兩種特征信息的向量進(jìn)行拼接,拼接后的特征向量作為文本的特征向量,將兩種神經(jīng)網(wǎng)絡(luò)有機(jī)結(jié)合,在文本情感識(shí)別上取得較好效果。
1 相關(guān)工作
情感分析的原理是通過對情感文本的分析,挖掘出文本所表達(dá)情感的極性和強(qiáng)烈程度。目前,情感分類主要是通過規(guī)則、情感詞典和機(jī)器學(xué)習(xí)兩種方法。近年來,機(jī)器學(xué)習(xí)方法取得了較大進(jìn)步,情感分類的效果也大大改善。
機(jī)器學(xué)習(xí)方法中用得最多的是卷積神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)。Kalchbrenner等提出了利用CNN來進(jìn)行自然語言處理[7],提出了動(dòng)態(tài)卷積神經(jīng)網(wǎng)絡(luò)(DCNN) 模型,適應(yīng)不同長度的文本,對不規(guī)則文本的處理效果較好;Kim在利用詞向量與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合實(shí)現(xiàn)了句子級(jí)的分類任務(wù)[8]。卷積神經(jīng)網(wǎng)絡(luò)在文本分類應(yīng)用中取得了較大的進(jìn)步,但是它更關(guān)注局部特征,忽略了上下文的關(guān)系,文本的語義和情感都對上下文有較強(qiáng)的依賴作用,所以在文本的語義情感分類中,準(zhǔn)確率有一些影響。
循環(huán)神經(jīng)網(wǎng)絡(luò)以序列形式接受文本中的詞向量輸入,不但有當(dāng)前位置上的信息,而且有臨近位置的信息,可以有效地解決上下文依賴問題[9]。長短記憶網(wǎng)絡(luò)模型是循環(huán)神經(jīng)網(wǎng)絡(luò)的一個(gè)子類,它在神經(jīng)網(wǎng)絡(luò)單元中加入三個(gè)門,可以避免長距離依賴產(chǎn)生的梯度消失問題,同時(shí)具有更強(qiáng)的記憶功能,對文本的識(shí)別能力更強(qiáng)。
2 情感模型研究
2.1 CNN模型
卷積神經(jīng)網(wǎng)絡(luò)利用卷積核與原始數(shù)據(jù)相乘,提取局部特征,因?yàn)樵谝粋€(gè)卷積神經(jīng)網(wǎng)絡(luò)中可以采用多個(gè)不同類型的卷積核,從而提取多個(gè)局部特征,因此具有較強(qiáng)的局部特征提取能力。因?yàn)橄噜彽脑~之間具有一定的修飾關(guān)系,并可以表達(dá)出情感傾向,所以本文在進(jìn)行文本情感識(shí)別時(shí),首先利用word2vec方法將文本構(gòu)造成向量集,在文本的向量集合中采用卷積運(yùn)算,進(jìn)行局部特征提取,經(jīng)過池化層后得到用于分類的輸出向量,最后利Softmax函數(shù)進(jìn)行數(shù)據(jù)分類。
例如,句子分詞后得到n個(gè)詞,表示為:[S=w1,w2,…,wn],其中wi表示句中第i個(gè)詞,向量化后可得[wi=Vwi],其中[Vwi∈Rn*d],表示S由組成n個(gè)詞構(gòu)成,每個(gè)詞轉(zhuǎn)化為d維向理,構(gòu)成了向量矩陣。
在分類時(shí),把詞向量當(dāng)作獨(dú)立的個(gè)體,所以采用Fk=k*d維卷積核與向量矩陣進(jìn)行卷積計(jì)算,分別表k個(gè)詞之間的局部聯(lián)系,特征提取如公式⑴所示。
⑴
Ci表示經(jīng)過一次卷積計(jì)算得到的局部特征值,f表示一個(gè)RELU函數(shù),F(xiàn)k表示k*d維濾波器,b表示偏置值,經(jīng)過卷積核在矩陣上滑動(dòng)計(jì)算一輪后得到完成的一個(gè)完整的局部特征向量C,記為:
⑵
為了降低向量維度,采用最大池化函數(shù)對C進(jìn)行池化操作,。其中m為池化寬度。
⑶
di為卷積所提取特征,將所有的特征向量送到全連接層,最后的用Softmax激活函數(shù)的輸出層??梢愿鶕?jù)輸出數(shù)據(jù)判斷出輸入詞向量的情感極性。
2.2 LSTM模型
1997年,Hochreiter首先提出了長短記憶網(wǎng)絡(luò)LSTM(Long Short-Term Memory)[7],它是一種特殊循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),它可以有效解決RNN的梯度消失或梯度爆炸的問題,能夠?qū)W習(xí)到長期的依賴關(guān)系。與RNN相比,LSTM對神經(jīng)單元(Cell)的控制器進(jìn)行了設(shè)計(jì),能夠判斷信息是否有用,Cell控制單元如圖1所示。
在 LSTM模型中的控制單元由一個(gè)用于記錄狀態(tài)的記憶單元C和3控制數(shù)據(jù)流向的門(輸入門i、輸出門o和遺忘門f)組成。在時(shí)間節(jié)點(diǎn)t,數(shù)據(jù)進(jìn)入控制單元后,通過計(jì)算,LSTM可以選擇記住或者遺忘某些信息,控制信息輸出,并將這些狀態(tài)信息傳遞到下一時(shí)刻t+1,各控制信息計(jì)算方法如式⑷至式⑻所示。
其中,ft表示t時(shí)間遺忘門信息,it表示t時(shí)刻輸入門信息,ot表示t時(shí)刻輸出門信息,用于控制信息的更新,達(dá)到信息增加和減少的目的,Ct表示對記憶單元的更新,表示遺忘多少信息以及當(dāng)前輸入信息哪些需要更新到當(dāng)前的記憶單元中。ht產(chǎn)生當(dāng)前的輸出結(jié)果,由輸出門決定哪些信息最終輸出。在以上公式中[σ]表示sigmoid函數(shù),Wf、Wt、Wo,bf、bi、bo分別表示三個(gè)門的權(quán)重以及偏置值。
利用LSTM解決了對當(dāng)前詞的前文的依賴問題,但不能利用當(dāng)前詞之后的信息。一個(gè)詞的語義和情感不僅與之前的歷史信息有關(guān),還與當(dāng)前詞之后的信息有著密切關(guān)系,所以本文利用采用雙向LSTM,一組詞向量分別作為正向和反向LSTM網(wǎng)絡(luò)的輸入,兩個(gè)LSTM的輸出合并之后,采用Softmax函數(shù)進(jìn)行分類。如圖2所示。
2.3 CNN與LSTM融合模型
為了更好的利用文本的局部信息和全局信息,將兩種特征融合在一起,作為文本情感識(shí)別的判別依據(jù)。系統(tǒng)模型采用分層結(jié)構(gòu),第一層為已經(jīng)進(jìn)行了預(yù)處理的詞向量,可以直接在系統(tǒng)中使用,第二層中包括一個(gè)CNN神經(jīng)網(wǎng)絡(luò)和一個(gè)LSTM網(wǎng)絡(luò)。第三層為特征融合層,先對兩個(gè)輸出值拼接,接到一個(gè)全連接層上。第四層為輸出層,采用softmax函數(shù)計(jì)算出文本的情感詞性。CNN與LSTM融合模型如圖3所示。
3 實(shí)驗(yàn)分析
本文采用百度paddlepaddle開源實(shí)平臺(tái)及并利用AIStudio提供的計(jì)算資源進(jìn)行實(shí)驗(yàn),所配置的環(huán)境是雙核CPU和8G內(nèi)存。
實(shí)驗(yàn)數(shù)據(jù)集采用網(wǎng)絡(luò)中獲取的文本資料,一共10000條,包括:政治、經(jīng)濟(jì)、文學(xué)、體育、美食五個(gè)大類,每類數(shù)據(jù)2000條。
首先采用結(jié)巴分詞將這些語料進(jìn)行分詞操作,然后采用word2vec轉(zhuǎn)化成詞向量,導(dǎo)入paddlepaddle系統(tǒng)模型中,對本文構(gòu)建的系統(tǒng)模型進(jìn)行訓(xùn)練,并進(jìn)行調(diào)參操作,通過固定參數(shù)的方法,取100維詞向量,滑動(dòng)窗口大小比較2、3、4,滑動(dòng)窗口數(shù)量分別取40、80、120,在學(xué)習(xí)率為0.01時(shí)效果最佳。實(shí)現(xiàn)結(jié)果如表1所示。
4 總結(jié)
本論文采用CNN與雙向LSTM結(jié)合的方法進(jìn)行文本情感分類,結(jié)合到了CNN的局部特征提取能力及LSTM的上下文依賴能力,在PaddlePaddle開源平臺(tái)上進(jìn)行實(shí)驗(yàn),利用Python語言實(shí)現(xiàn)此模型的構(gòu)建,利用同一數(shù)據(jù)集作為輸入,對本文設(shè)計(jì)的模型與CNN模型,以及LSTM模型進(jìn)行實(shí)驗(yàn),輸出文本情感識(shí)別的準(zhǔn)確率,比較識(shí)別效果,本文算法均有所提高。接下來的研究,可以增加LSTM網(wǎng)絡(luò)的堆疊層數(shù)及改變?nèi)诤戏绞?,增加注意力機(jī)制,以達(dá)到進(jìn)一步提高情感識(shí)別效果的目的。
參考文獻(xiàn)(References):
[1] Qi Fang,Heng Li,et al.A deep learning-based method for detecting non-certified work onconstruction sites [J].Advanced Engineering Informatics 35 (2018) 56–68
[2] LIU C Y,SUN W B,CHAO W H,et al.Convolution neural network for relation extraction[C]// International Conference on Advanced Data Mining and Applications. 2013.
[3] ZENG D J,LIU K,CHEN Y B,et al. Distant supervision for relation extraction via piecewise convolutional neural networks[C]// The 2015 Conference on Empirical Methods in Natural Language Processing. 2015.
[4] KALCHBRENNER N,GREFENSTETTE E,BLUNSOM P. A convolutional neural network for modelling sentences [J/OL] arXiv preprint,2014,2014:arXiv:1404.2188[2014-04-08].https: //arxiv.org /abs /1404.2188.
[5] EBRAHIMI J,DOU D. Chain based RNN for relation classification. [EB/OL].[2014-09-03]. http//www.aclweb.org/anthology/N/N15/N15-1133.pdf.
[6] HOCHREITER S,SCHMIDHUBER J. Long short-term memory[J].Neural Computation,1997,9(8):1735 -1780
[7] KIM Y. Convolutional neural networks for sentence classification[EB/OL].[2014-09-03]. http://emnlp2014.org/papers/pdf/EMN-LP2014181.pdf.
[8] ZHANG S, ZHENG D Q, HU X C, et al. bidirectional long short-term memory networks for relation classification[C]// PACLIC. 2015.
[9] CHO K, van MERRIENBOER B, CULCEHRE C,et al. Learning phrase representions using RNN encoder decoder for statistical machine translation[EB/OL].[2014-09-03].http://www.aclweb.org/antology/D/d14/d14-1179.pdf.