司新紅 王勇



摘 要:情感分析在業界被廣泛應用于產品分析、商品推薦等方面,具有很高的商業價值。目前常用的研究方法主要基于機器學習算法和基于詞典的方法,該類方法通常需依賴復雜的人工規則和特征工程。針對傳統情感分類方法需要人工干預的問題,總結目前已有可用于情感分析的深度學習方法,提出將卷積神經網絡(CNN)和雙向長短時記憶網絡(BLSTM)進行組合,并將融合后的特征添加至注意力機制,設計出CBLSTM-Attention模型。實驗表明,該模型在中文數據集上準確率達0.965 0,在NLPCC英文數據集上準確率達0.942 2,證明該方法不僅可提高文本情感傾向性分析的準確率,而且可有效解決人工干預問題。
關鍵詞:卷積神經網絡;雙向長短時記憶網絡;注意力機制;文本情感分析;深度學習
0 引言
隨著微博、論壇、豆瓣、微信等社交媒體的發展,網民在網絡上的行為已不再局限于信息瀏覽,更多的用戶在社交網絡上表達自己的觀點,分享知識、創作內容,這也成為互聯網資源的一部分[1]。這些內容既包括對熱點新聞事件的評論,也包括對特定商品的評價,上述信息帶有明顯情感傾向。由于互聯網用戶規模大、傳播速度快,如何從海量、非結構化文本數據中挖掘出有價值的信息,是情感分析的主要任務[2]。
情感分析(Sentiment Analysis),也被稱為意見/評論挖掘(Review/Opinion Mining)[3],指對帶有主觀情感色彩的文本數據進行處理和分析,從中提取出結構化的有價值的信息。情感分析主要包括情感抽取、情感極性分析、主客觀分析等子課題。在學術界,情感分析是計算語言學和自然語言處理領域的一個基礎任務。情感分析在工業界被廣泛應用于股票價格預測[4]、產品分析[5]、商品推薦等方面;對于政府部門來說,情感分析更是輿情監測、民意調研、危機管理的基礎技術。隨著信息量爆炸式增長,已經不可能依靠人工進行信息收集和整理,因此如何從海量數據中自動挖掘出情感信息非常重要。
情感分析主要是對文本或者句子、短語等進行情感極性分析,分析結果可以是積極、消極或中性,或者是情感極性的強弱等[6]。傳統情感分析相關研究方法可大致分為基于詞典的方法和基于機器學習的方法兩類[7]。在基于詞典的無監督方法中,Turney[8]于2002年以大量語料資源為基礎,基于語義分類,利用PMI-IP算法比較情感短語與兩個種子情感詞之間的互信息得出短語的情感值,并進一步得到文章情感值;在以往基于機器學習的情感分析中,2010年,昝紅英等[9]將機器學習中的經典分類方法與規則方法結合,利用支持向量機分類器研究特征選擇與特征權重,再計算兩種方法結合對實驗結果的影響。基于情感詞典的方法,需要使用已人工標注的情感詞典。該方法嚴重依賴情感詞典的質量,并且詞典的維護需要耗費大量人力物力,隨著新詞的不斷涌現,已經不能滿足應用需求,亟待改進與優化。雖然基于機器學習方法已經取得了很好的效果,但是特征和模板均需要人工設計,而且設計的特征往往沒有良好的適應性,當領域變化時需重新設計。
為了避免過多的人工設計特征,研究者們開始使用深度學習方法,本文提出采用基于三通道卷積神經網絡和雙向長短時記憶網絡進行組合,然后加入注意力機制對句子中的關鍵詞給予更多的注意力,以便更有效地獲取句中的情感信息,實現更準確的情感分類。
1 相關工作
1.1 深度學習
深度學習的核心是特征學習,旨在通過分層網絡獲取分層次的特征信息,從而解決以往需要人工設計特征的重要難題。近年來,深度學習算法在自然語言領域取得了十分出色的成果,經典成果是循環神經網絡(Recurrent Neural Network,RNN)。RNN首先被Socher[10]在句法解析時采用,Irsoy等[11]將RNN結合成深層結構,使其成為一個典型的3層結構的深度學習模型。RNN被證明在解決序列化問題上效果突出,能夠利用上下文信息,但是RNN在求解過程中存在梯度爆炸和消失問題[12],并且對長文本的處理效果不佳。后期提出的長短時記憶神經網絡(Long Short-Term Memory,LSTM)有效解決了該問題,長短時記憶神經網絡通過在隱藏層增加3種“門”的結構控制細胞狀態,適合解決長序列問題,爾后又衍生出BLSTM,經常被用于解決序列化的問題,如機器翻譯、中文分詞等。目前,基于深度學習的自然語言處理成為主流研究方向。
1.2 文本情感分析
情感分析的概念最早在2002年由Pang等[13]提出,之后文本情感分析吸引了越來越多的注意。目前關于文本情感分類技術的研究按照文本特點來分,主要有詞語級[14]、句子級[15-16]、篇章級[17]3類,另外近年來針對各種短文本,如Twitter[18]、微博[19]、商品評論等的研究成果大量涌現。任遠等[20]采用支持向量機和TF-IDF計算特征項權值進行情感分析;石強強等[21]采用SVM對不同的特征組合進行訓練測試,并對每個組合的正確率進行分析,然后找出最適合用戶評論情感分析的文本特征及特征組合;羅帆等[22]提出一種多層網絡H-RNN-CNN處理中文文本情感分類任務。隨著深度學習在自然語言處理領域越來越廣泛的應用,許多基于深度學習、或深度學習與傳統算法結合的情感分析模型被提出。
2 CBLSTM-Attention模型結構
2.1 詞向量表示
2.1.1 數據預處理
無論文本數據是何種類型,在進行分類任務之前均須進行數據清洗降噪,因為原始的用戶評論包含與情感無關的信息,良好的預處理會提高分類準確率。進行文本預處理的主要目的是去除文本中的一些噪聲數據,從而獲得與最終分類相關的數據。英語文本中單詞與單詞之間存在天然的空格符,但中文文本不同,所以需要對中文文本進行分詞操作,將中文文本評論的詞語與詞語分離開,形成有合理語義的詞語。本文采用的分詞工具是使用Python語言編寫的中文分詞工具:結巴(jieba)分詞。
2.1.2 文本向量化表示
文本向量化表示指將分詞結果用詞向量表示,本文采用的詞向量表示方法由Hinton[23]提出。該方法將文本建模轉化成機器學習問題,訓練大規模的語料數據,輸出指定維度的特征向量,既保存了較為豐富的文本語義信息,也起到了特征向量降維的作用,優于傳統One-Hot編碼和詞袋模型(Bag of Words Model)。由谷歌推出Word2Vec是目前較常用的詞向量工具,其主要基于CBOW(Continuous Boags-of-Words)模型和Skip-gram模型[24],這兩個模型結構如圖1、圖2所示。
CBOW模型利用當前詞[Wt]的上下文預測當前詞[Wt]的概率,每一個在上下文中出現的詞都對當前詞的出現概率有相同的影響權重;Skip-gram模型則利用當前詞[Wt]預測其上下文概率。本文采用Skip-gram模型,上下文窗口大小為5,在大量無標注語料上進行詞向量訓練,將訓練完成的詞向量作為模型詞向量。
2.2 卷積神經網絡
卷積神經網絡是一種前饋神經網絡,由Hubel&Wissel在研究貓腦皮層時發現并提出,在圖像識別、推薦系統和自然處理領域得到了廣泛應用。典型的網絡結構由輸入層、卷積層、池化層(下采樣層)、全連接層和輸出層組成。其中池化層為特征映射層,對經過卷積層后得到的特征進行采樣,得到局部最優值。CNN結構如圖3所示。
2.3 雙向長短時記憶神經網絡
長短時記憶神經網絡(Long Short-Term Memory,LSTM)是對傳統循環神經網絡(Recurrent Neural Network,RNN)模型的一種改進,解決了RNN的長期依賴問題和序列過長導致的梯度爆炸問題。標準LSTM網絡通常包含3層結構,即輸入層、輸出層、隱藏層。在解決自然語言處理任務時,LSTM模型僅考慮上文信息,沒有用到下文信息,丟失了部分語義信息。BLSTM主要構建一個對齊的雙層模型,一層從左到右傳播,一層從右向左傳播,每一層都是傳統的LSTM模塊,BLSTM模型包含輸入層、前向傳遞層、后向傳遞層,輸出層。本文采用的BLSTM模型結構如圖4所示。
2.4 注意力機制
深度學習的注意力模型是模擬人腦注意力的模型,對比傳統模型有顯著優化,2014年Bandanau等[25]最早提出了Soft Attention Model,并把它運用到機器翻譯等相關領域。注意力模型可計算注意力分配概率分布,給出輸入句子X中任一個單詞的相關概率,得出概率分布,模型結構如圖5所示。
2.5 CBLSTM-Attention模型構建
本文構建的CBLSTM-Attention模型如圖6所示。本文提出將三通道卷積神經網絡(CNN)和雙向長短時記憶網絡(BLSTM)進行組合,并將融合后的特征與注意力機制結合,構建出新的網絡模型。利用CNN提取文本向量的局部特征,利用BLSTM提取與文本上下文相關的全局特征,將兩種互補模型提取的特征進行融合,解決了單卷積神經網絡模型忽略詞的上下文語義和語法信息的問題,也有效避免了傳統循環神經網絡梯度消失或梯度彌散問題,加入注意力機制對句子中的關鍵詞給予更多的注意力,以便更好地獲取句子中的情感信息,實現更準確的情感分類。
本文模型首先對原始語料C進行預處理,并通過Word2Vec訓練出詞向量,構建出每個句子對應句向量;將構建出的句向量分別輸入CNN的卷積層和BLSTM,為了取得更好的實驗效果,卷積窗口采用3、4、5進行結合,卷積層采用的激活函數為RELU,步長設置為1,通過卷積操作提取句子局部特征;池化層采用Max-Pooling,窗口采用2, 通過池化操作提取關鍵特征,然后將3個池化操作輸出的特征拼接起來,作為Attention輸入的一部分;同時,將構建出的句向量作為BLSTM的輸入,經過隱層LSTM單元,獲得兩組特征,將這兩組特征進行拼接,作為注意力輸入的一部分;最后將CNN和BLSTM的輸出進行融合,作為注意力的輸入。將注意力提取出的重要特征,輸入到全連接層,并通過[softmax]進行分類。為了防止過擬合,采用L2正則化約束網絡參數,同時引入Dropout機制。
3 實驗與分析
3.1 實驗語料數據
本文采用中文和英文兩類數據集進行實驗驗證,所有數據集如表1所示。
(1)ChnSentiCorp(Songbo Tan)[26],中文情感語料。本文采用數據去重的6 000條數據,正負樣本各3 000條。
(2)PR(NLPCC2014)[27],中英文數據集。這是由中國中文信息學會舉辦的自然語言處理會議公布的深度學習情緒分類評測數據集,包含中文數據(NLPCC-cn)10 000條和英文數據(NLPCC-en)9 985條。
3.2 實驗評價指標
本文在情感樣本上采用準確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1-Measure作為評價情感分類結果好壞的指標。文本情感傾向性分析實際上是二分類問題,本文針對該問題給出響應的分類結果混淆矩陣,如表2所示。
3.3 模型參數
實驗參數的選擇影響最終實驗結果,詞向量維度可以反映詞語特征,特征越多越容易準確地區別不同的詞,但是維度太大可能會淡化詞與詞之間的關系,同時隨著詞向量維度的增加,計算復雜度也會增加。本文比較了100維、200維和300維的詞向量,發現在中文數據集上詞向量采用100維詞、英文數據集詞向量采用300維時,可以取得較好的效果;優化函數采用RMSProp、Adam、Adadelta進行對比實驗;批處理個數采用50、64、128進行對比實驗。通過對比參數對實驗結果的影響,相關參數范圍如表3所示,在不同數據集上的具體取值略有不同。
3.4 實驗結果與分析
為驗證本文模型有效性,基于3種數據集比較BLSTM模型、CNN模型、BLSTM-CNN模型、CBLSTM-Attention模型。其中CBLSTM-Attention模型是本文提出的BLSTM和CNN的組合,并通過Attention提取重要特征。同時,本文還引用了相同數據集上已有的代表性工作與之進行比較。
(1)不同模型在數據集NLPCC-en上的對比。圖7和圖8是NLPCC-en英文數據集在BLSTM模型、CNN模型、BLSTM-CNN模型、CBLSTM-Attention模型上損失函數Loss值和準確率隨迭代次數的變化而變化,圖9是不同模型在NLPCC-en數據集上評價指標的對比,模型具體參數取值如表3所示。對比圖7發現所有模型均下降到相對較低的穩定值,本文模型、BLSTM模型的loss值下降速度較快,并且最終收斂到一個很低的穩定值。
對比圖8發現,在相同條件下,本文模型準確率相對于其它3個模型收斂速度較慢,但是準確率達到0.949 2,明顯高于其它模型。對比圖9的其它評價指標,CBLSTM-Attention模型均高于其它3個模型。因為CNN卷積層限定了參數個數,雖然能夠挖掘局部信息,但是無法對時間序列上的變換有效建模;BLSTM可以提取與文本上下文相關的全局特征,重點關注詞在上下文語義和語法信息的問題,而CNN池化層可對特征向量圖進行采樣操作,提取重要的特征信息,所以將BLSTM和CNN進行組合后的模型比單模型準確率高約2%;本文提出的CBLSTM-Attention模型相對于單模型提高了約9%,相對于BLSTM和CNN組合后的模型提高了約7%。因為若不引入注意力機制,每個詞對目標詞的貢獻相同,這樣所有語義完全通過一個相同的中間語義向量C表示,則大量細節信息會丟失。注意力分配模型可以給每個詞賦予不同的權重,突出關鍵輸入對輸出的作用,所以本文模型在相同數據集上取得了較好的效果。
(2)注意力機制對模型結果的影響。表4為在所有參數均相同的情況下,加入注意力機制后在3種數據集上的比較,在NLPCC英文數據集上提高了約7%,在NLPCC-cn中文數據集上提高了約4%,在ChnSentiCorp中文酒店評論數據集上提高了約5%。實驗表明,加入注意力機制確實可以提高模型準確率,對于文本情感分析可以取得非常好的效果。
(3)本文模型與其它研究的對比。為了驗證本文方法的有效性,表5將本文模型與已有的代表性工作進行對比。相比于NLPCC-SCDL評測中分類效果最好的算法(NLPCC_SCDL_best),本文CBLSTM-Attention模型在中文數據集的F1值提升了約4%,在英文數據集上F1-Measure提升了約7%;羅帆等[22]基于深度學習提出H-RNN-CNN層次模型,模型使用RNN建模詞語序列和句子序列,并通過CNN識別跨語句信息,取得了較好效果,但是本文提出的基于Attention機制的CBLSTM-Attention模型在NLPCC中文數據集和ChnSentiCorp中文酒店評論數據集上明顯優于H-RNN-CNN;曹宇慧[28]提出了一種結合卷積神經網絡和支持向量機的文本情感分析模型。本文利用該模型,首先將卷積神經網絡作為自動特征學習器,學習輸入樣本的特征表達,然后將獲得的特征表達作為支持向量機的輸入,發現本文模型明顯提高了文本分類的F1-Measure值。
4 結語
本文提出的CBLSTM-Attention模型將BLSTM和CNN進行組合提取特征信息,BLSTM可提取與文本上下文相關的全局特征,重點關注詞在上下文的語義與語法信息,而CNN池化層可對特征向量圖進行采樣操作,提取重要的特征信息,然后將提取到的特征信息輸入到注意力機制,對于不同的詞賦予不同的權重,使文本更加關注與輸出結果有關的特征,將本文模型與CNN模型、BLSTM模型、BLSTM-CNN模型進行對比實驗,證明本文模型可取得較好的效果,將本文模型與其它相關研究進行比較,發現在3個數據集上的表現均有明顯提高。但由于本文模型僅研究了與上下文有關的向量輸入,未涉及詞性研究,所以下一步工作是研究詞性對文本分類準確率的影響。
參考文獻:
[1] 田竹. 基于深度特征提取的文本情感極性分類研究[D]. 濟南: 山東大學,2017.
[2] 王樹恒. 基于深度學習的維吾爾語文本情感分析[D].烏魯木齊: 新疆大學,2017.
[3] PANG B, LEE L. Opinion mining and sentiment analysis[M]. Berkeley: Now Foundations and Trends? in Information Retrieval, 2008.
[4] BOLLEN J, MAO H, PEPE A. Modeling public mood and emotion: Twitter sentiment and socio-economic phenomena[C]. Proceedings of the International AAAI Conference on Weblogs and Social Media, 2011: 17-21.
[5] BING L. Sentiment analysis: a fascinating problem[M]. Massachusetts: Morgan and Claypool Publishers, 2012.
[6] NASUKAWA T,YI J. Sentiment analysis: capturing favorability using natural language processing[C]. Proceedings of the 2nd International Conference on Knowledge capture,2003: 70-77.
[7] 張林,錢冠群,樊衛國,等. 輕型評論的情感分析研究[J]. 軟件學報,2014,25(12):2790-2807.
[8] TURNEY P D. Thumbs up or thumbs down?semantic orientation applied to unsupervised classification of reviews[C]. Proceeding of Association for Computational Linguistics 40th Anniversary Meeting,2002:1417-1424.
[9] 昝紅英,郭明,柴玉梅,等. 新聞報道文本的情感傾向性研究[J]. 計算機工程,2010(15): 20-22.
[10] SOCHER R, LIN C C, MANNING C, et al. Parsing natural scenes and natural language with recursive neural networks[C]. Proceedings of the 28th international conference on machine learning,2011: 129-136.
[11] IRSOY O, CARDIE C. Deep recursive neural networks for compositionality in language[C].Advances in Neural Information Processing Systems,2014: 2096-2104.
[12] HOCHREITER S,BENGIO Y,FRASCONI P. Gradient flow in recurrent nets: the difficulty of learning long term dependencies[M]. New York:Wiley-IEEE Press, 2001.
[13] PANG B, LEE L, VAITHYANATHAN S. Thumbs up?: sentiment classification using machine learning techniques[C]. Proceedings of the ACL-02 Conference on Empirical Methods in Natural Language Processing,2002: 79-86.
[14] TABOADA M,BROOKE J,TOFILOSKI M,et al. Lexicon-based methods for sentiment analysis[J]. Computational linguistics, 2011, 37(2): 267-307.
[15] JIANG L,YU M,ZHOU M,et al. Target-dependent twitter sentiment classification[C]. Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies,2011: 151-160.
[16] 楊立公,朱儉,湯世平. 文本情感分析綜述[J]. 計算機應用, 2013, 33(6):1574-1607.
[17] BALAHUR A,STEINBERGER R,KABADJOV M,et al. Sentiment analysis in the news[C]. Proceedings of the 7th International Conference on Language Resources and Evaluation,2010: 2216-2220.
[18] NAKOV P, RITTER A, ROSENTHAL S, et al. SemEval-2016 task 4:sentiment analysis in Twitter[C]. Proceedings of the 10th international workshop on semantic evaluation(semeval-2016),2016:1-18.
[19] LIU H, LI S, JIANG C, et al. Sentiment analysis of Chinese Micro- blog based on DNN and ELM and vector space model[C]. Proceedings of ELM-2015, 2016: 117-129.
[20] 任遠, 巢文涵, 周慶, 等. 基于話題自適應的中文微博情感分析[J]. 計算機科學, 2013, 40(11): 231-235.
[21] 石強強,趙應丁,楊紅云. 基于SVM的酒店客戶評論情感分析[J]. 計算機與現代化,2017(3):117-121.
[22] 羅帆, 王厚峰. 結合 RNN 和 CNN 層次化網絡的中文文本情感分類[J]. 北京大學學報:自然科學版,2018,54(3): 459-465.
[23] LAROCHELLE H, MANDEL M, PASCANU R, et al. Learning algorithms for the classification restricted Boltzmann machine[J]. Journal of Machine Learning Research, 2012, 13(Mar): 643-669.
[24] MIKOLOV T, SUTSKEVER I, CHEN K, et al. Distributed representations of words and phrases and their compositionality[C].Advances in Neural Information Processing Systems,2013: 3111-3119.
[25] BAHDANAU D,CHO K,BENGIO Y. Neural machine translation by jointly learning to align and translate[DB/OL]. http://pdfs.semanticscholar.org/071b/16f25117fb6133480c6259227d54fc2a5ea0.pdf.
[26] NLPIR大數據搜索與挖掘實驗室. 中文情感語料[DB/OL]. http://www.nlpir.org/?action-viewnews-itemid-77.
[27] NLPCC2014. NLPCC 2014 Evaluation Tasks Sample Data [DB/OL]. http://tcci.ccf.org.cn/conference/2014/pages/page04_sam.html.
[28] 曹宇慧. 基于深度學習的文本情感分析研究[D]. 哈爾濱: 哈爾濱工業大學, 2015.
(責任編輯:江 艷)