呂 超,楊 超,李仁發
(湖南大學 信息科學與工程學院,長沙 410082)
隨著微博、微信等社交媒體的興起,網絡上帶有評論性的文本資源數量與日俱增。對于該大量非結構化的文本,迫切需要通過技術手段對其情感傾向進行分類判斷,以達到多方面的目的,如獲取大眾對于有關政策的意見、對相關產品的滿意程度和對各種社會熱點事件的看法等[1]。但是,微博文本篇幅較短、經常存在錯別字和語法錯誤、充滿大量網絡詞匯和口語詞匯,這些問題都給情感分類任務帶來了挑戰,引發了國內外學者極大的關注[2]。
目前,基于卷積神經網絡(Convolutional Neural Network,CNN)的情感分類方法得到了廣泛關注。CNN通過多個并行的卷積操作獲取文本的局部特征[3],經過池化層將篩選出的局部特征拼接后傳遞給全連接層進行分類。然而大多數的CNN模型在卷積操作和特征拼接環節中,很大程度上忽略了文本的有序性,即詞語之間的序列性,因此,其不能保證信息傳遞的連續性。例如,“我/喜歡/自然/語言/處理/但是/它的/學習/門檻/很高”,假設卷積核的尺寸是5,則被卷積的分片依次是“我/喜歡/自然/語言/處理”“喜歡/自然/語言/處理/但是”“自然/語言/處理/但是/它的”“語言/處理/但是/它的/學習”“處理/但是/它的/學習/門檻”及“但是/它的/學習/門檻/很高”,則得到的局部信息可能是“喜歡”“自然”“語言”“但是”“門檻”“很高”,也可能是“自然”“語言”“它的”“處理”“學習”“很高”,前者明顯表達了負面情感,但后者很可能被誤判為帶有正面情感,因為其中的“很高”帶有積極情緒。在現實生活中,人們也常使用一些脫離語境的極性詞對情感進行評估,比如“大”“小”“高”“低”等,然而這些詞在不同的語境中有著不同的含義,因此,無法僅憑某些極性詞就分辨出整個文本的情感傾向,此時必須要考慮語境。
針對上述問題,本文建立一種基于詞語鄰近特征的CNN模型,在卷積過程中考慮每個詞語前后鄰近詞的特征,以此保證信息傳遞的連續性。
近年來,深度學習模型在計算機視覺[4]和語音識別[5]鄰域取得了一定成果。深度學習模型通常是具有多層結構的神經網絡,其強調從大規模的數據集中學習各種現實事物的特征表示,且這些特征能夠被計算機直接應用于各種計算模型中。在自然語言處理領域,大多數深度學習方法通過神經網絡模型學習單詞的詞向量表達[6],在此基礎上再進一步進行處理,如進行語義分析[7]、搜索詞檢索[8]、句子分類[9]等。目前,主流的神經網絡模型是遞歸神經網絡(如RNN、LSTM)和卷積神經網絡(如DCNN)。遞歸神經網絡將文本看作有序的詞語序列,并且考慮詞語間的關聯性,其充分利用上下文信息從而較好地進行語言建模。其中RNTN模型[10]利用情感樹庫在二元化的句法樹結構上進行語義合成,文獻[11]在此模型基礎上,通過對依存句法樹進行變換,完成句中指定評價對象的情感極性分析。文獻[12]通過添加語義合成函數的pooling層,使得RNTN可以自適應地選擇最適合當前節點的語義合成函數,從而大幅提高情感分類效果。但是該類RNN模型僅考慮文本的有序性而忽略詞語在語義上的結構性,且該類模型在訓練過程中存在梯度爆炸和梯度消失問題[13],導致訓練過程難以收斂。由于微博文本的不規范性,導致各種句法分析結果通常不準確,因而CNN模型成為微博情感分類的首選模型。文獻[9]提出一種DCNN模型,通過學習句子結構來提高情感語義合成性能。文獻[14]提出CharSCNN模型,為英語單詞增加字符表示層的特征,以提高對于英文Twitter中不規則單詞的表示能力。文獻[15]首次嘗試將CNN應用到句子分類任務中,通過詞向量訓練工具word2vector生成的詞向量,訓練一個簡單的3層CNN,其在二分類和多分類數據集上均取得了很好的分類性能,說明預先訓練的詞向量是一類通用的特征向量,可以在不同的分類任務中直接使用。文獻[15]采用的MCNN是CNN的一種,能夠對多個窗口大小內的詞向量執行語義合成操作,其在多個不同的情感數據集上也取得很好的分類性能。文獻[16]基于MCNN提出EMCNN模型,其將基于表情符號的情感空間映射與深度學習模型MCNN進行結合,增強了MCNN捕捉情感語義的能力。文獻[17]提出一種LSTM-CNN模型,嘗試從子句的角度來分析文本的情感極性,利用LSTM(長短時記憶網絡)歸納某個子句的上下文信息后將其拼接在子句的詞向量表達形式的兩側,再使用CNN對子句進行特征提取、分類,該模型在影評數據集上能取得比傳統分類方法更好的性能。
上述模型都基于傳統的CNN模型,在做卷積操作時依然無法保證詞向量之間的序列性以及信息傳遞的連續性。本文在參考了文獻[15]的工作后,分別建立3種基于詞語鄰近特征的CNN模型LAF-CNN、RAF-CNN、LRAF-CNN,在卷積過程中讓每個詞向量攜帶鄰近詞語的特征,這樣既保證信息傳遞的連續性,且在局部范圍內確保詞語的序列性不會被打亂,也在一定程度上使其具備RNN模型的歸納能力。
詞語的鄰近特征指與該詞相鄰詞語的特征。假設原始句子為:
X=(w1,w2,…,wi-1,wi,…,wn)T
(1)
對應的詞向量矩陣為:
M=(v1,v2,…,vi-1,vi,…,vn)T
(2)
其中,wi表示組成句子的各個詞語,vi表示wi對應的詞向量特征。在卷積過程中,對于某個詞語wi采取3種不同的鄰近特征附加策略:附加左鄰近特征(Left Adjacent Feature,LAF),附加右鄰近特征(Right Adjacent Feature,RAF),附加左右鄰近特征(Left Right Adjacent Feature,LRAF),其作用都是為了增強詞語在特定上下文中所表達的語義。若使用LAF策略,則卷積過程中使用詞向量MLAF,即從第一個詞向量開始,每一個詞向量都會與其左側的詞向量特征進行合并操作,該做法的好處是上一個詞向量的信息可以傳遞給下一個詞向量,因此,下一個詞向量在參加卷積操作時可以提供相對充足的情感信息供卷積層提取有效特征。MRAF中每一個詞向量與其右側的詞向量特征合并,MLRAF中每一個詞向量與其左、右側的詞向量特征合并。3種策略的直觀描述如圖1所示,其中v0表示零向量。

圖1 3種詞語鄰近特征附加策略示意圖
基于詞語鄰近特征的CNN模型如圖2所示(使用LRAF附加策略),圖中以“我不喜歡打籃球”為例。其中使用的卷積核有3個尺寸:2,3,4,每個尺寸的卷積核有2種,每個卷積核對句子矩陣進行卷積操作生成長度可變的特征圖后,對其進行最大池化(max-pooling)操作,即取出每個特征圖中的最大值,由這些單值生成一個固定大小的特征向量后將其以全連接的形式傳給Softmax層,Softmax層使用該特征向量作為輸入同時計算出各個類別上的概率分布(這里假設其是二分類,因此,圖2中只有2個分類狀態)。

圖2 基于詞語鄰近特征的CNN模型結構

v1:n=v1⊕v2⊕…⊕vi⊕vi+1⊕…⊕vn
(3)
其中,⊕表示串聯操作,也可以說,vi:i+j表示詞向量vi,vi+1,…,vi+j的串聯。

⊕…⊕(vn-1∪+vn)
(4)

⊕…⊕(vn∪+v0)
(5)

(vi-1∪+vi∪+vi+1)⊕…⊕(vn-1∪+vn∪+v0)
(6)
其中,運算符∪+為2個向量的合并符號,如向量a=[1,2,3],向量b=[4,5,6],則有a∪+b=[1,2,3,4,5,6]。
卷積層利用大小為h×k的濾波器對輸入特征矩陣進行卷積操作,即:
(7)

C=[c1,c2,…,cn+h-1]
(8)
在卷積層后,加入了ReLU層,將ReLU作為激活函數,可以加快隨機梯度下降的收斂速度[16]。


(9)
卷積層和下采樣層共同構成了LRAF-CNN的特征提取層。LRAF-CNN由多個不同尺寸的特征提取層(有多個h值)并列組成,每種尺寸的特征提取層各有m個,因此,全連接層的特征向量z為:


(10)

相比普通的CNN模型,基于詞語鄰近特征的網絡結構可以有效提取出與正負面情感標簽相關的詞向量特征,并用于最終的情感分類。
下采樣層輸出的多個單值特征作為全連接層的輸入,全連接層將其進行拼接,形成特征向量,然后利用Softmax多分類函數輸出各個分類的概率大小,從而確定分類結果,同時根據訓練數據的實際分類標簽,采用反向傳播算法對模型參數進行梯度更新,即:
(11)
其中,y表示句子的實際情感標簽,θ表示模型的參數集合,即神經元之間的權重矩陣,訓練過程中θ會不斷變化,直至收斂。
通過式(11)可以計算出給定句子的情感標簽和模型參數集合θ的條件概率分布圖,進而得出分類結果。
在網絡的倒數第2層,引入Dropout策略并使用L2-constraint規則權重約束條件對網絡參數進行正則化處理[19]。Dropout通過在前向傳播過程中隨機丟棄一定比例的神經元(本文Dropout比例為0.5)以阻止神經元之間的相互適應。對于倒數第2層的輸入z,不再使用式(12)計算輸出神經元y。
y=w·z+b
(12)
取而代之的是式(13)所示的Dropout策略。
y=w·(z°r)+b
(13)

本文使用COAE2014、COAE2015任務4的微博數據集(http://115.24.12.5/web/index.html),其中觀點傾向性分析評測(Chinese Opinion Analysis Evaluation,COAE)始于2008年,是國內情感分析方面的權威評測會議。COAE2014任務4(二分類)的微博數據集共包含40 000條數據,其中官方公布了7 000條微博的極性(負面有3 224條,正面有3 776條),另33 000條是混淆語料,涵蓋手機、翡翠、保險3個領域。COAE2015任務4(三分類)的微博數據集共包含133 201條數據,其中官方公布了20 154條微博的極性(負面有6 209條,中性有1 639條,正面有12 306條),另113 047條是混淆語料,涵蓋汽車、電子、手機、美食、娛樂、賓館等多個領域。2個數據集的概要信息如表1所示。

表1 COAE2014、COAE2015數據集概要信息
其中,c表示目標數據集是幾分類,l表示該數據集中最長的句子包含多少個詞語,N表示數據集中有多少條標注數據,V表示標注數據的詞匯量大小,Vpre表示標注數據中含有多少已存在于預訓練詞向量中的詞匯,CV=10,表示采用十折交叉驗證法劃分實驗數據。
在數據預處理方面,本文直接去除文本中所有標點符號和表情符號,只留下含義較多的中、英文單詞,然后利用ICTCLAS(http://ictclas.nlpir.org/)分詞工具對實驗數據集進行分詞。在詞向量預訓練方面,本文使用新浪微博提供的數據抽取接口,抽取1 000萬條微博數據,經過去燥和預處理之后,再使用Google開源的詞向量訓練工具word2vec(https://code.google.com/archive/p/word2vec/)訓練詞向量。經過訓練后,得到的詞向量文件包含80 552個詞語,在COAE2014、COAE2015任務4數據集上的詞匯覆蓋率分別是96.13%、95.33%。
各模型的訓練過程如下:
1)CNN:是基準模型,使用預訓練詞向量對所有詞語進行初始化,不在預訓練詞向量中的詞語隨機初始化(隨機初始化范圍是[-0.25,0.25]),且在訓練過程中所有詞向量保持不變。
2)LAF-CNN:詞向量的初始化方案與CNN相同。訓練過程中為每個詞語添加左鄰近特征,如果左鄰近詞語不在預訓練詞向量中,則隨機初始化左鄰近特征,且在訓練過程中所有詞向量保持不變。
3)RAF-CNN:詞向量的初始化方案與CNN相同。訓練過程中,為每個詞語添加右鄰近特征,如果右鄰近詞語不在預訓練詞向量中,則隨機初始化右鄰近特征,且在訓練過程中所有詞向量保持不變。
4)LRAF-CNN:詞向量的初始化方案與CNN相同。在訓練過程中,為每個詞語添加左、右鄰近特征,如果左、右鄰近詞語不在預訓練詞向量中,則隨機初始化左、右鄰近特征,且在訓練過程中所有詞向量保持不變。
上述4個模型除了鄰近特征的附加策略不同,其余超參數設置均相同,超參數值如表2所示。

表2 模型的可調超參數值
模型在訓練過程中,采用文獻[20]提出的Adadelta Update Rule規則進行隨機梯度下降更新參數。
在COAE2014數據集(二分類)和COAE2015數據集(三分類)上的模型對比實驗結果如表3和表4所示。實驗效果評價指標為查準率、召回率、F值及準確率,其中基準模型是未考慮任何鄰近特征的CNN。從表3可以看出,相比基準模型CNN,LAF-CNN、RAF-CNN、LRAF-CNN在查準率、召回率、F值及準確率方面均有所提升,其中準確率分別提升了1.14%、0.57%、3%。從表4可以看出,相比基準模型CNN,LAF-CNN、RAF-CNN、LRAF-CNN在查準率、召回率、F值方面浮動比較大,這是由各個分類的訓練集數量不均衡所導致,但模型在準確率方面依然提升了1.63%、1.09%、1.83%。

表3 各模型在COAE2014數據集上的分類結果對比 %

表4 各模型在COAE2015數據集上的分類結果對比 %
從2個數據集上的實驗結果可以總結出:
1)當加入鄰近特征后,模型在綜合性能方面得到了一定提升,這說明在卷積過程中,給每個詞語添加鄰近特征,一方面可以強化詞語在特定上下文中所表達的語義,另一方面相鄰詞語之間的相互關系提高了信息傳遞的連續性。這2點在一定程度上可確保在卷積過程中,即使漏掉了個別情感詞語,也不會對最終的分類結果產生很大影響。
2)LAF-CNN的分類準確率均略高于RAF-CNN,其原因可能跟詞語的序列性有關,中文文本語義的表達是從左至右、先有上文后有下文,而LAF-CNN正具有這種承上啟下的作用。然而具體是否因為這個原因造成該現象,還有待進一步驗證。
3)LAF-CNN、RAF-CNN的分類準確率均略低于 LRAF-CNN,其原因跟詞語在特定上下文中所蘊含的語義有關,由于LAF-CNN只攜帶左鄰近特征,RAF-CNN只攜帶右鄰近特征,而LRAF-CNN兼顧左、右鄰近特征,其可以提取到更精確的語義信息,因此,該模型的分類效果更好。
為在卷積過程中增強詞語在當前上下文中的語義、保證詞語在局部范圍內的序列性,本文建立一種基于詞語鄰近特征的CNN模型,并為其設計了3種詞語鄰近特征附加策略。對比實驗結果表明,相對傳統CNN模型,該模型具有可行性、高效性。但是在附加鄰近特征時,本文只考慮當前詞語前、后鄰近詞的特征,下一步將在計算能力允許的情況下,擴大鄰近詞的數量從而獲取更精確的上下文信息;此外,在語料預處理時,本文直接去掉所有標點符號和表情符號,然而某些標點符號和表情符號的去除會影響上下文的情感極性轉移,對模型最后的分類效果產生一定的負面影響,因此,解決由標點符號和表情符號引起的情感極性轉移問題也是今后的研究方向。
[1] PANG B,LEE L.Seeing stars:exploiting class relationships for sentiment categorization with respect to rating scales[C]//Proceedings of the 43rd Annual Meeting on Association for Computational Linguistics.New York,USA:ACM Press,2005:115-124.
[2] 韋 航,王永恒.基于主題的中文微博情感分析[J].計算機工程,2015,41(9):238-244.
[3] CUN L,BOTTOU L,BENGIO Y,et al.Gradient-based learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):2278-2324.
[4] KRIZHEVSKY A,SUTSKEVER I,HINTON G.ImageNet classification with deep convolutional neural networks[C]//Proceedings of International Conference on Neural Information Processing Systems.[S.l.]:Curran Associates,Inc.,2012:1097-1105.
[5] GRAVES A,MOHAMED A,HINTON G.Speech recognition with deep recurrent neural networks[C]//Proceedings of 2013 IEEE International Conference on Acoustics,Speech and Signal Processing.Washington D.C.,USA:IEEE Press,2013:6645-6649.
[6] MIKOLOV T,SUTSKEVER I,CHEN K,et al.Distributed representations of words and phrases and their compositionality[C]//Proceedings of the 26th International Conference on Neural Information Processing Systems.[S.l.]:Curran Associates,Inc.,2013:3111-3119.
[7] YIH W T,HE X,MEEK C.Semantic parsing for single-relation question answering[EB/OL].[2017-02-25].https://www.microsoft.com/en-us/research/wp-content/up loads/2016/02/SingleRelationQA-YihHeMeek-ACL14.pdf.
[8] SHEN Y,HE X,GAO J,et al.Learning semantic representations using convolutional neural networks for Web search[C]//Proceedings of the 23rd International Conference on World Wide Web.New York,USA:ACM Press,2014:373-374.
[9] KALCHBRENNER N,GREFENSTETTE E,BLUNSOM P.A convolutional neural network for modelling sentences[EB/OL].[2017-02-26].http://aclweb.org/anthology/P14-1062.
[10] SOCHER R,PERELYGIN A,WU J Y,et al.Recursive deep models for semantic compositionality over a sentiment treebank[EB/OL].[2017-02-15].https://nlp.stanford.edu/~socherr/EMNLP2013_RNTN.pdf.
[11] DONG L,WEI F,TAN C,et al.Adaptive recursive neural network for target-dependent twitter sentiment Classification[EB/OL].[2017-02-20].http://acl2014.org/acl2014/P14-2/pdf/P14-2009.pdf.
[12] DONG L,WEI F,ZHOU M,et al.Adaptive multi-compositionality for recursive neural models with applications to sentiment analysis[C]//Proceedings of the 28th AAAI Conference on Artificial Intelligence.Menlo Park,USA:AAAI Press,2014:1537-1543.
[13] KOLEN J,KREMER S.Gradient flow in recurrent nets:the difficulty of learning long term dependencies[M].Washington D.C.,USA:Wiley-IEEE Press,2001:237-243.
[14] SANTOS C N D,GATTI M.Deep convolutional neural networks for sentiment analysis of short texts[EB/OL].[2017-02-10].http://www.aclweb.org/anthology/C14-1008.
[15] KIM Y.Convolutional neural networks for sentence classification[EB/OL].[2017-02-15].http://aclweb.org/anthology/D14-1181.
[16] 何炎祥,孫松濤,牛菲菲,等.用于微博情感分析的一種情感語義增強的深度學習模型[J].計算機學報,2016,39(4):1-19.
[17] CHEN Peng,XU Bing,YANG Muyun,et al.Clause sentiment identification based on convolutional neural network with context embedding[C]//Proceedings of the 12th International Conference on Natural Com-putation,Fuzzy Systems and Knowledge Discovery.Washington D.C.,USA:IEEE Press,2016:1532-1538.
[18] COLLOBERT R,WESTON J,BOTTOU L,et al.Natural language processing (almost) from scratch[J].Journal of Machine Learning Research,2011,12(1):2493-2537.
[19] 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.
[20] ZEILER M D.Adadelta:an adaptive learning rate method[J].Computer Science,2012,3(4):325-330.