摘 要:卷積神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)已經(jīng)被證明在文本情感分析中是有效的文本表示模型。然而,CNN只考慮連續(xù)詞之間的局部信息,忽略了詞語之間長距離的上下文依賴信息,在前向傳播的過程中池化操作會(huì)丟失一部分語義信息;RNN在文本長度較短的情況下相比CNN并沒有展現(xiàn)應(yīng)有的優(yōu)勢(shì)。本文通過融合CNN和基于注意力機(jī)制的雙向長短期記憶(ATTBiLSTM)網(wǎng)絡(luò)提取的特征,提高模型的文本表示能力,同時(shí)為了防止過擬合,采取dropout策略。在中科院譚松波博士整理的酒店評(píng)論數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果表明本文提出的模型相比基線模型可以提取出更豐富的特征,效果較基線模型有所提升。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);注意力機(jī)制;雙向長短期記憶神經(jīng)網(wǎng)絡(luò);文本情感分析
中圖分類號(hào):TP301
文獻(xiàn)標(biāo)識(shí)碼: A
隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,各種電商、微博、博客、推特等社交平臺(tái)紛紛涌現(xiàn),互聯(lián)網(wǎng)上產(chǎn)生了大量帶有情感傾向的文本信息。通過分析這些帶有情感傾向的文本,對(duì)電商改進(jìn)產(chǎn)品服務(wù)、政府輿情監(jiān)控等都具有重要的參考價(jià)值。然而,人們?cè)谶@些平臺(tái)上產(chǎn)生的數(shù)據(jù)量是海量的,依靠人工分析這些數(shù)據(jù),已經(jīng)是不可能的了,這促進(jìn)了文本情感分析技術(shù)的發(fā)展。文本情感分析又稱意見挖掘,簡單而言,是對(duì)帶有情感色彩的主觀性文本進(jìn)行分析、處理、歸納和推理的過程[1]。
文本情感傾向分析方法主要有兩類,一類是基于規(guī)則和詞典的方法;另一類是基于機(jī)器學(xué)習(xí)的方法?;谝?guī)則和詞典的方法效果比較差,基于傳統(tǒng)機(jī)器學(xué)習(xí)的方法雖然效果比較好但是需要人工設(shè)計(jì)大量的特征,特征的好壞直接影響了算法性能的好壞。隨著神經(jīng)網(wǎng)絡(luò)研究的再次復(fù)蘇,基于深度學(xué)習(xí)的文本表示學(xué)習(xí)在文本特征提取上取得了重大進(jìn)步。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)等深度學(xué)習(xí)模型已經(jīng)很好地應(yīng)用在文本建模上,并取得了不錯(cuò)的效果。CNN在對(duì)文本建模時(shí),提取的是文本的n-gram信息,是局部相連詞的潛在特征,但是忽略了上下文信息,而且在池化時(shí)可能丟失重要的語義信息。
傳統(tǒng)的RNN存在梯度消失和梯度爆炸的問題,在文本建模中常用的是長短期記憶(Long Short-Term Memory, LSTM)網(wǎng)絡(luò)[2],而普通的LSTM僅僅只是對(duì)文本上文建模沒有考慮下文,本文引入了雙向的長短期記憶(Bi-directional Long Short-Term Memory, BiLSTM)網(wǎng)絡(luò)[3],考慮上文和下文相關(guān)性,由于文本中每個(gè)詞對(duì)文本語義的貢獻(xiàn)是不一樣的,于是引入注意力機(jī)制進(jìn)一步提升RNN特征提取的效果,即基于注意力機(jī)制的雙向長短期記憶 (Attention-based Bi-directional Long Short-Term Memory,ATTBiLSTM) 網(wǎng)絡(luò),最后為了防止過擬合采用dropout[4]策略。
1 相關(guān)工作
2002年P(guān)ANG等人利用基本的詞特征和有監(jiān)督的機(jī)器學(xué)習(xí)方法(樸素貝葉斯、最大熵和支持向量機(jī))來解決情感分析的問題,比較了詞特征組合和各種分類器的分類效果[5]??紤]到文本中的主觀句對(duì)情感傾向性判定的影響,2004年P(guān)ANG 和 LEE將主觀句子抽取出來引入到情感分類的特征中,同時(shí)去掉客觀句,提高了分類效果[6]。2010年LI等人分析了極性轉(zhuǎn)移對(duì)情感分類的影響[7]。2012年WANG和 CHRISTOPHER ,在SVM、NB兩個(gè)分類器的基礎(chǔ)上提出NBSVM模型,在情感分類任務(wù)上比單一的SVM、NB表現(xiàn)得更好[8]。
近年來,越來越多的自然語言處理任務(wù)開始嘗試使用深度學(xué)習(xí)模型。2013年TOMAS 等人提出一個(gè)用于學(xué)習(xí)詞語分布式表示的神經(jīng)語言模型,該模型可以學(xué)習(xí)到詞語的表示并包含了詞語的語義信息[9]。2014年,NAL等人提出了一種動(dòng)態(tài)k-max池化卷積神經(jīng)網(wǎng)絡(luò)用于句子建模[10]。同年,YOON將卷積模型用于句子級(jí)的情感分類[11]。KAI等在2015年則使用長短期記憶時(shí)網(wǎng)絡(luò)來解決情感分析問題[12]。2017年YANG等使用基于層次化注意力機(jī)制的雙向循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)文本進(jìn)行分類,取得了很好的效果[13]。
基于傳統(tǒng)的機(jī)器學(xué)習(xí)方法的文本情感分析所使用的文本表示方法大多是詞袋模型,詞袋模型丟失了詞的順序信息,忽略了詞的語義信息?;谏疃葘W(xué)習(xí)的方法可以主動(dòng)學(xué)習(xí)文本的特征,保留詞語的順序信息,可以提取到詞語的語義信息。
2 模型結(jié)構(gòu)
本文提出的模型結(jié)構(gòu)如圖1所示,最下面是文本的詞向量矩陣、中間是CNN、ATTBiLSTM網(wǎng)絡(luò)結(jié)構(gòu),hc、hr分別為兩個(gè)結(jié)構(gòu)獲取的特征,hs為融合后的特征,最后hs輸入softmax層。
2.1 CNN
2.2 ATTBiLSTM網(wǎng)絡(luò)
2.2.1 BiLSTM網(wǎng)絡(luò)
標(biāo)準(zhǔn)的RNN存在梯度消失和梯度爆炸的問題對(duì)于長序列學(xué)習(xí)問題存在很大的困難。為了解決這個(gè)問題HOCHREITER 等在1997年提出長短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(LSTM)[2],在LSTM中有三個(gè)控制門(遺忘門、輸入門、輸出門)和一個(gè)記憶細(xì)胞,可以有效地保留歷史信息即上文,緩解梯度消失或爆炸的問題,學(xué)習(xí)到更長序列的依賴信息。單向的LSTM只考慮上文依賴信息,這在文本建模中是有明顯缺陷的,在句子中還需要下文的信息。
1997年SCHUSTER , PALIWAL 提出了雙向循環(huán)神經(jīng)網(wǎng)絡(luò)[3],網(wǎng)絡(luò)單元為LSTM的BiLSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。hi為雙向LSTM兩個(gè)隱藏層輸出拼接的結(jié)果,Wi為詞向量。
2.3 特征融合
CNN和RNN已經(jīng)被證明在文本語義表示上是有效的。CNN的卷積操作限定在一定大小的窗口內(nèi),卷積核所提取的特征受到窗口大小的影響,提取的是n-gram信息,而且池化操作會(huì)丟失位置、依賴等語義信息。雙向循環(huán)神經(jīng)網(wǎng)絡(luò)可以捕捉到文本中長距離的依賴信息以及上下文信息,在一些實(shí)驗(yàn)上引入了注意力機(jī)制的雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的模型效果是可以超過CNN的。
但是由于短句子偏多使RNN并沒有提取到很好的句子信息,因而在一些實(shí)驗(yàn)上RNN的效果甚至不如CNN。
本文通過融合CNN、ATTBiLSTM兩種模型提取的特征優(yōu)勢(shì)互補(bǔ)。
2.4 全連接層
Dropout[4]是指在深度學(xué)習(xí)網(wǎng)絡(luò)中,對(duì)于神經(jīng)網(wǎng)絡(luò)單元,按照一定的概率將其暫時(shí)從網(wǎng)絡(luò)中丟棄,在測(cè)試的時(shí)候保持正常。dropout可以使得學(xué)習(xí)到的模型更魯棒,緩解過擬合。
全連接層使用dropout技術(shù)和L2正則項(xiàng)防止過擬合,輸入為融合特征,通過softmax函數(shù)得到分類的分?jǐn)?shù),使用交叉熵作為損失函數(shù)。
3 實(shí)驗(yàn)
3.1 實(shí)驗(yàn)數(shù)據(jù)準(zhǔn)備
本文選用有關(guān)中文文本情感分析的酒店評(píng)論數(shù)據(jù)集(ChnSentiCorp)做實(shí)驗(yàn)驗(yàn)證模型的效果,這個(gè)數(shù)據(jù)集是由中科院譚松波博士整理的一個(gè)中文酒店評(píng)論數(shù)據(jù)集,該數(shù)據(jù)集有四個(gè)子集,分別是ChnSentiCorp-Htl-ba-1、ChnSentiCorp-Htl-ba-2、ChnSentiCorp-Htl-ba-3 、ChnSentiCorp-Htl-ba-4、其中前面三個(gè)是平衡數(shù)據(jù)集最后一個(gè)是非平衡數(shù)據(jù)集。本文選用中間的兩個(gè)平衡數(shù)據(jù)集。即ChnSentiCorp-Htl-ba-2和 ChnSentiCorp-Htl-ba-3。其中ChnSentiCorp-Htl-ba-2包括正負(fù)樣例各2000個(gè),ChnSentiCorp-Htl-ba-3包括正負(fù)樣例各3000個(gè)。
3.2 實(shí)驗(yàn)評(píng)價(jià)指標(biāo)
3.3 超參設(shè)置與訓(xùn)練
ZHANG[14]等人對(duì)CNN在句子分類任務(wù)中的參數(shù)設(shè)置進(jìn)行了實(shí)驗(yàn),本文參考該文進(jìn)行了實(shí)驗(yàn),最終確定本文網(wǎng)絡(luò)結(jié)構(gòu)使用的激活函數(shù)為ReLu,采用3種不同尺寸的卷積核,卷積核的寬度分別為2、3、4,每種尺寸的卷積核各100個(gè),CNN最終提取的特征向量維度為300。使用的LSTM單元的大小為150,通過ATTBiLSTM后輸出維度為300,上下文向量uw維度為10,最終融合CNN和ATTBiLSTM神經(jīng)網(wǎng)絡(luò)提取的特征得到300維的特征向量,最終輸入全連接層和softmax層,其中全連接層使用dropout正則化技術(shù)防止過擬合。整個(gè)模型使用Adam優(yōu)化器訓(xùn)練。本文選取句子長度分布中間80%占比的句子長度的最大長度做為標(biāo)準(zhǔn)長度,對(duì)所有的文檔做填充和截?cái)唷?/p>
4 實(shí)驗(yàn)結(jié)果與分析
支持向量機(jī)(Support Vector Machine, SVM):在傳統(tǒng)的機(jī)器學(xué)習(xí)方法中,在情感分類上較其他方法有較好的效果,本文使用skip-gram訓(xùn)練得到的詞向量對(duì)句子中的詞向量平均作為輸入進(jìn)行分類。
CNN:使用skip-gram訓(xùn)練的詞向量組成的矩陣作為輸入經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行分類。
BiLSTM:使用skip-gram訓(xùn)練的詞向量矩陣作為輸入經(jīng)過雙向長短期記憶神經(jīng)網(wǎng)絡(luò)進(jìn)行分類。
ATTBiLSTM:在BiLSTM的基礎(chǔ)上引入注意力機(jī)制后的模型,同樣使用skip-gram得到的詞向量矩陣作為輸入。
CNN-ATTBiLSTM:以skip-gram訓(xùn)練的詞向量矩陣作為輸入,分別通過CNN、ATTBiLSTM提取特征,最后將兩種特征融合進(jìn)行分類。
本文與SVM、CNN、BiLSTM、ATTBiLSTM四個(gè)基線模型進(jìn)行對(duì)比,實(shí)驗(yàn)在ChnSentiCorp-Htl-ba-2、ChnSentiCorp-Htl-ba-3兩個(gè)數(shù)據(jù)集上進(jìn)行,受數(shù)據(jù)集大小的限制實(shí)驗(yàn)采用五折交叉驗(yàn)證,實(shí)驗(yàn)結(jié)果如表1、表2所示。
通過以上實(shí)驗(yàn)數(shù)據(jù)對(duì)比我們發(fā)現(xiàn),SVM由于只是簡單地對(duì)詞向量進(jìn)行平均,沒有考慮詞語的順序以及句子的深層語義信息因此效果最差;CNN、BiLSTM兩者都提取了一定的語義信息所以效果差不多,CNN的效果要略好于BiLSTM,這是由于在數(shù)據(jù)集較小文本較短的情況下,CNN的卷積效果可以整體提取句子的語義信息,而BiLSTM則無法發(fā)揮其優(yōu)勢(shì)。而通過在BiLSTM中引入注意力機(jī)制的ATTBiLSTM則表現(xiàn)得比CNN好,這是因?yàn)锳TTBiLSTM在特征提取的過程中會(huì)過多地關(guān)注句子中比較重要的詞語信息,減少那些不重要的信息的負(fù)面影響。本文提出的模型CNN-ATTBiLSTM不僅可以捕捉到句子中的n-gram信息,而且還可以捕捉到長距離的依賴關(guān)系,充分發(fā)揮了CNN和RNN的優(yōu)勢(shì),所以在實(shí)驗(yàn)中獲得了最好的效果。
5 結(jié)論
本文提出了一種融合CNN和ATTBiLSTM網(wǎng)絡(luò)提取特征的情感分類模型,首先使用在大規(guī)模中文語料庫上訓(xùn)練得到的詞向量對(duì)文本句子進(jìn)行編碼,然后通過CNN和ATTBiLSTM網(wǎng)絡(luò)進(jìn)行特征提取,將兩種網(wǎng)絡(luò)提取的特征采取相加融合的方法得到分類的特征。實(shí)驗(yàn)證明,這種混合特征比單一的兩種模型提取的特征效果好,本文所提出的情感分類方法較這些基線模型有所提升。雖然ATTBiLSTM可以提取一定的結(jié)構(gòu)語義信息,但是在情感分類任務(wù)中ATTBiLSTM提取的結(jié)構(gòu)語義信息還是不夠的。傳統(tǒng)的情感分析方法都是基于情感詞典和詞法、句法特征的,本文提出的模型沒有使用任何的情感詞典和詞法、句法結(jié)構(gòu)特征,下一步工作我們將探討如何使用深度學(xué)習(xí)模型獲取更多的結(jié)構(gòu)語義信息,同時(shí)如何結(jié)合傳統(tǒng)的方法,考慮更深層次的有用特征進(jìn)一步提高文本情感分析的效果。
參考文獻(xiàn):
[1]趙妍妍,秦兵,劉挺.文本情感分析[J].軟件學(xué)報(bào), 2010, 21(8):1834-1848.
[2]HOCHREITER S, JURGEN S. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735-1780.
[3]SCHUSTER M, PALIWAL K. Bidirectional recurrent neural networks[M]. USA: IEEE Press, 1997.
[4]HINTON G.E, SRIVASTAVA N, KRIZHEVSKY A, et al. Improving neural networks by preventing co-adaptation of feature detectors[J]. Computer Science, 2012, 3(4): 212-223.
[5]PANG B, LEE L, VAITHYANATHAN S. Thumbs up? sentiment classification using machine learning techniques[C]// Proceedings of Conference on Empirical Methods in Natural Language Processing, Stroudsburg,USA: Association for Computational Linguistics, 2002 :79-86.
[6]PANG B, LEE L. A sentimental education: sentiment analysis using subjectivity summarization based on minimum cuts[C]// Meeting on Association for Computational Linguistics.Barcelona, Spain:Association for Computational Linguistics, 2004:271-278.
[7]LI S, LEE S Y M, CHEN Y, et al. Sentiment classification and polarity shifting[C]// International Conference on Computational Linguistics. Beijing, China: Association for Computational Linguistics,2010:635-643.
[8]WANG S, CHRISTOPHER D M. Baselines and bigrams: simple, good sentiment and topic classification[C]// Meeting of the Association for Computational Linguistics. Jeju Island, Korea: Association for Computational Linguistics, 2012:90-94.
[9]TOMAS M, IIYA S, CHEN K, et al. Distributed Representations of Words and Phrases and their Composi-tionality[J].Advances in NeuralInformation Processing Systems, 2013, 26:3111-3119.
[10]NAL K, EDWARD G, PHIL B. A Convolutional Neural Network for Modelling Sentences[C]// Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics. Baltimore, Maryland: Association for Computational Linguistics, 2014:655-665.
[11]YOON K. Convolutional Neural Networks for Sentence Classification[C]//Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). Doha, Qatar : Association for Computational Linguistics,2014:1746-1751
[12]KAI S, RICHARD S, CHRISTOPHER D M. Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks[C]// Beijing, China: Association for Computational Linguistics,2015:1556-1566.
[13]YANG Z, YANG D, CHRIS D, et al. Hierarchical Attention Networks for Document Classification[C]// Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Techno-logies San Diego, California: Association for Computa-tional Linguistics,2016:1480-1489.
[14]ZHANG Y,WALLACE B C.A Sensitivity Analysis of (and Practitioners′ Guide to) Convolutional NeuralNetworks for Sentence Classification[C]// Taipei, China: International Joint Conference on Natural Language Processing,2017:253-263.
(責(zé)任編輯:周曉南)