呂 超,楊 超,李仁發(fā)
(湖南大學(xué) 信息科學(xué)與工程學(xué)院,長沙 410082)
隨著微博、微信等社交媒體的興起,網(wǎng)絡(luò)上帶有評論性的文本資源數(shù)量與日俱增。對于該大量非結(jié)構(gòu)化的文本,迫切需要通過技術(shù)手段對其情感傾向進(jìn)行分類判斷,以達(dá)到多方面的目的,如獲取大眾對于有關(guān)政策的意見、對相關(guān)產(chǎn)品的滿意程度和對各種社會熱點事件的看法等[1]。但是,微博文本篇幅較短、經(jīng)常存在錯別字和語法錯誤、充滿大量網(wǎng)絡(luò)詞匯和口語詞匯,這些問題都給情感分類任務(wù)帶來了挑戰(zhàn),引發(fā)了國內(nèi)外學(xué)者極大的關(guān)注[2]。
目前,基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的情感分類方法得到了廣泛關(guān)注。CNN通過多個并行的卷積操作獲取文本的局部特征[3],經(jīng)過池化層將篩選出的局部特征拼接后傳遞給全連接層進(jìn)行分類。然而大多數(shù)的CNN模型在卷積操作和特征拼接環(huán)節(jié)中,很大程度上忽略了文本的有序性,即詞語之間的序列性,因此,其不能保證信息傳遞的連續(xù)性。例如,“我/喜歡/自然/語言/處理/但是/它的/學(xué)習(xí)/門檻/很高”,假設(shè)卷積核的尺寸是5,則被卷積的分片依次是“我/喜歡/自然/語言/處理”“喜歡/自然/語言/處理/但是”“自然/語言/處理/但是/它的”“語言/處理/但是/它的/學(xué)習(xí)”“處理/但是/它的/學(xué)習(xí)/門檻”及“但是/它的/學(xué)習(xí)/門檻/很高”,則得到的局部信息可能是“喜歡”“自然”“語言”“但是”“門檻”“很高”,也可能是“自然”“語言”“它的”“處理”“學(xué)習(xí)”“很高”,前者明顯表達(dá)了負(fù)面情感,但后者很可能被誤判為帶有正面情感,因為其中的“很高”帶有積極情緒。在現(xiàn)實生活中,人們也常使用一些脫離語境的極性詞對情感進(jìn)行評估,比如“大”“小”“高”“低”等,然而這些詞在不同的語境中有著不同的含義,因此,無法僅憑某些極性詞就分辨出整個文本的情感傾向,此時必須要考慮語境。
針對上述問題,本文建立一種基于詞語鄰近特征的CNN模型,在卷積過程中考慮每個詞語前后鄰近詞的特征,以此保證信息傳遞的連續(xù)性。
近年來,深度學(xué)習(xí)模型在計算機(jī)視覺[4]和語音識別[5]鄰域取得了一定成果。深度學(xué)習(xí)模型通常是具有多層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),其強調(diào)從大規(guī)模的數(shù)據(jù)集中學(xué)習(xí)各種現(xiàn)實事物的特征表示,且這些特征能夠被計算機(jī)直接應(yīng)用于各種計算模型中。在自然語言處理領(lǐng)域,大多數(shù)深度學(xué)習(xí)方法通過神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)單詞的詞向量表達(dá)[6],在此基礎(chǔ)上再進(jìn)一步進(jìn)行處理,如進(jìn)行語義分析[7]、搜索詞檢索[8]、句子分類[9]等。目前,主流的神經(jīng)網(wǎng)絡(luò)模型是遞歸神經(jīng)網(wǎng)絡(luò)(如RNN、LSTM)和卷積神經(jīng)網(wǎng)絡(luò)(如DCNN)。遞歸神經(jīng)網(wǎng)絡(luò)將文本看作有序的詞語序列,并且考慮詞語間的關(guān)聯(lián)性,其充分利用上下文信息從而較好地進(jìn)行語言建模。其中RNTN模型[10]利用情感樹庫在二元化的句法樹結(jié)構(gòu)上進(jìn)行語義合成,文獻(xiàn)[11]在此模型基礎(chǔ)上,通過對依存句法樹進(jìn)行變換,完成句中指定評價對象的情感極性分析。文獻(xiàn)[12]通過添加語義合成函數(shù)的pooling層,使得RNTN可以自適應(yīng)地選擇最適合當(dāng)前節(jié)點的語義合成函數(shù),從而大幅提高情感分類效果。但是該類RNN模型僅考慮文本的有序性而忽略詞語在語義上的結(jié)構(gòu)性,且該類模型在訓(xùn)練過程中存在梯度爆炸和梯度消失問題[13],導(dǎo)致訓(xùn)練過程難以收斂。由于微博文本的不規(guī)范性,導(dǎo)致各種句法分析結(jié)果通常不準(zhǔn)確,因而CNN模型成為微博情感分類的首選模型。文獻(xiàn)[9]提出一種DCNN模型,通過學(xué)習(xí)句子結(jié)構(gòu)來提高情感語義合成性能。文獻(xiàn)[14]提出CharSCNN模型,為英語單詞增加字符表示層的特征,以提高對于英文Twitter中不規(guī)則單詞的表示能力。文獻(xiàn)[15]首次嘗試將CNN應(yīng)用到句子分類任務(wù)中,通過詞向量訓(xùn)練工具word2vector生成的詞向量,訓(xùn)練一個簡單的3層CNN,其在二分類和多分類數(shù)據(jù)集上均取得了很好的分類性能,說明預(yù)先訓(xùn)練的詞向量是一類通用的特征向量,可以在不同的分類任務(wù)中直接使用。文獻(xiàn)[15]采用的MCNN是CNN的一種,能夠?qū)Χ鄠€窗口大小內(nèi)的詞向量執(zhí)行語義合成操作,其在多個不同的情感數(shù)據(jù)集上也取得很好的分類性能。文獻(xiàn)[16]基于MCNN提出EMCNN模型,其將基于表情符號的情感空間映射與深度學(xué)習(xí)模型MCNN進(jìn)行結(jié)合,增強了MCNN捕捉情感語義的能力。文獻(xiàn)[17]提出一種LSTM-CNN模型,嘗試從子句的角度來分析文本的情感極性,利用LSTM(長短時記憶網(wǎng)絡(luò))歸納某個子句的上下文信息后將其拼接在子句的詞向量表達(dá)形式的兩側(cè),再使用CNN對子句進(jìn)行特征提取、分類,該模型在影評數(shù)據(jù)集上能取得比傳統(tǒng)分類方法更好的性能。
上述模型都基于傳統(tǒng)的CNN模型,在做卷積操作時依然無法保證詞向量之間的序列性以及信息傳遞的連續(xù)性。本文在參考了文獻(xiàn)[15]的工作后,分別建立3種基于詞語鄰近特征的CNN模型LAF-CNN、RAF-CNN、LRAF-CNN,在卷積過程中讓每個詞向量攜帶鄰近詞語的特征,這樣既保證信息傳遞的連續(xù)性,且在局部范圍內(nèi)確保詞語的序列性不會被打亂,也在一定程度上使其具備RNN模型的歸納能力。
詞語的鄰近特征指與該詞相鄰詞語的特征。假設(shè)原始句子為:
X=(w1,w2,…,wi-1,wi,…,wn)T
(1)
對應(yīng)的詞向量矩陣為:
M=(v1,v2,…,vi-1,vi,…,vn)T
(2)
其中,wi表示組成句子的各個詞語,vi表示wi對應(yīng)的詞向量特征。在卷積過程中,對于某個詞語wi采取3種不同的鄰近特征附加策略:附加左鄰近特征(Left Adjacent Feature,LAF),附加右鄰近特征(Right Adjacent Feature,RAF),附加左右鄰近特征(Left Right Adjacent Feature,LRAF),其作用都是為了增強詞語在特定上下文中所表達(dá)的語義。若使用LAF策略,則卷積過程中使用詞向量MLAF,即從第一個詞向量開始,每一個詞向量都會與其左側(cè)的詞向量特征進(jìn)行合并操作,該做法的好處是上一個詞向量的信息可以傳遞給下一個詞向量,因此,下一個詞向量在參加卷積操作時可以提供相對充足的情感信息供卷積層提取有效特征。MRAF中每一個詞向量與其右側(cè)的詞向量特征合并,MLRAF中每一個詞向量與其左、右側(cè)的詞向量特征合并。3種策略的直觀描述如圖1所示,其中v0表示零向量。
圖1 3種詞語鄰近特征附加策略示意圖
基于詞語鄰近特征的CNN模型如圖2所示(使用LRAF附加策略),圖中以“我不喜歡打籃球”為例。其中使用的卷積核有3個尺寸:2,3,4,每個尺寸的卷積核有2種,每個卷積核對句子矩陣進(jìn)行卷積操作生成長度可變的特征圖后,對其進(jìn)行最大池化(max-pooling)操作,即取出每個特征圖中的最大值,由這些單值生成一個固定大小的特征向量后將其以全連接的形式傳給Softmax層,Softmax層使用該特征向量作為輸入同時計算出各個類別上的概率分布(這里假設(shè)其是二分類,因此,圖2中只有2個分類狀態(tài))。
圖2 基于詞語鄰近特征的CNN模型結(jié)構(gòu)
v1:n=v1⊕v2⊕…⊕vi⊕vi+1⊕…⊕vn
(3)
其中,⊕表示串聯(lián)操作,也可以說,vi:i+j表示詞向量vi,vi+1,…,vi+j的串聯(lián)。
⊕…⊕(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的濾波器對輸入特征矩陣進(jìn)行卷積操作,即:
(7)
C=[c1,c2,…,cn+h-1]
(8)
在卷積層后,加入了ReLU層,將ReLU作為激活函數(shù),可以加快隨機(jī)梯度下降的收斂速度[16]。
(9)
卷積層和下采樣層共同構(gòu)成了LRAF-CNN的特征提取層。LRAF-CNN由多個不同尺寸的特征提取層(有多個h值)并列組成,每種尺寸的特征提取層各有m個,因此,全連接層的特征向量z為:
(10)
相比普通的CNN模型,基于詞語鄰近特征的網(wǎng)絡(luò)結(jié)構(gòu)可以有效提取出與正負(fù)面情感標(biāo)簽相關(guān)的詞向量特征,并用于最終的情感分類。
下采樣層輸出的多個單值特征作為全連接層的輸入,全連接層將其進(jìn)行拼接,形成特征向量,然后利用Softmax多分類函數(shù)輸出各個分類的概率大小,從而確定分類結(jié)果,同時根據(jù)訓(xùn)練數(shù)據(jù)的實際分類標(biāo)簽,采用反向傳播算法對模型參數(shù)進(jìn)行梯度更新,即:
(11)
其中,y表示句子的實際情感標(biāo)簽,θ表示模型的參數(shù)集合,即神經(jīng)元之間的權(quán)重矩陣,訓(xùn)練過程中θ會不斷變化,直至收斂。
通過式(11)可以計算出給定句子的情感標(biāo)簽和模型參數(shù)集合θ的條件概率分布圖,進(jìn)而得出分類結(jié)果。
在網(wǎng)絡(luò)的倒數(shù)第2層,引入Dropout策略并使用L2-constraint規(guī)則權(quán)重約束條件對網(wǎng)絡(luò)參數(shù)進(jìn)行正則化處理[19]。Dropout通過在前向傳播過程中隨機(jī)丟棄一定比例的神經(jīng)元(本文Dropout比例為0.5)以阻止神經(jīng)元之間的相互適應(yīng)。對于倒數(shù)第2層的輸入z,不再使用式(12)計算輸出神經(jīng)元y。
y=w·z+b
(12)
取而代之的是式(13)所示的Dropout策略。
y=w·(z°r)+b
(13)
本文使用COAE2014、COAE2015任務(wù)4的微博數(shù)據(jù)集(http://115.24.12.5/web/index.html),其中觀點傾向性分析評測(Chinese Opinion Analysis Evaluation,COAE)始于2008年,是國內(nèi)情感分析方面的權(quán)威評測會議。COAE2014任務(wù)4(二分類)的微博數(shù)據(jù)集共包含40 000條數(shù)據(jù),其中官方公布了7 000條微博的極性(負(fù)面有3 224條,正面有3 776條),另33 000條是混淆語料,涵蓋手機(jī)、翡翠、保險3個領(lǐng)域。COAE2015任務(wù)4(三分類)的微博數(shù)據(jù)集共包含133 201條數(shù)據(jù),其中官方公布了20 154條微博的極性(負(fù)面有6 209條,中性有1 639條,正面有12 306條),另113 047條是混淆語料,涵蓋汽車、電子、手機(jī)、美食、娛樂、賓館等多個領(lǐng)域。2個數(shù)據(jù)集的概要信息如表1所示。
表1 COAE2014、COAE2015數(shù)據(jù)集概要信息
其中,c表示目標(biāo)數(shù)據(jù)集是幾分類,l表示該數(shù)據(jù)集中最長的句子包含多少個詞語,N表示數(shù)據(jù)集中有多少條標(biāo)注數(shù)據(jù),V表示標(biāo)注數(shù)據(jù)的詞匯量大小,Vpre表示標(biāo)注數(shù)據(jù)中含有多少已存在于預(yù)訓(xùn)練詞向量中的詞匯,CV=10,表示采用十折交叉驗證法劃分實驗數(shù)據(jù)。
在數(shù)據(jù)預(yù)處理方面,本文直接去除文本中所有標(biāo)點符號和表情符號,只留下含義較多的中、英文單詞,然后利用ICTCLAS(http://ictclas.nlpir.org/)分詞工具對實驗數(shù)據(jù)集進(jìn)行分詞。在詞向量預(yù)訓(xùn)練方面,本文使用新浪微博提供的數(shù)據(jù)抽取接口,抽取1 000萬條微博數(shù)據(jù),經(jīng)過去燥和預(yù)處理之后,再使用Google開源的詞向量訓(xùn)練工具word2vec(https://code.google.com/archive/p/word2vec/)訓(xùn)練詞向量。經(jīng)過訓(xùn)練后,得到的詞向量文件包含80 552個詞語,在COAE2014、COAE2015任務(wù)4數(shù)據(jù)集上的詞匯覆蓋率分別是96.13%、95.33%。
各模型的訓(xùn)練過程如下:
1)CNN:是基準(zhǔn)模型,使用預(yù)訓(xùn)練詞向量對所有詞語進(jìn)行初始化,不在預(yù)訓(xùn)練詞向量中的詞語隨機(jī)初始化(隨機(jī)初始化范圍是[-0.25,0.25]),且在訓(xùn)練過程中所有詞向量保持不變。
2)LAF-CNN:詞向量的初始化方案與CNN相同。訓(xùn)練過程中為每個詞語添加左鄰近特征,如果左鄰近詞語不在預(yù)訓(xùn)練詞向量中,則隨機(jī)初始化左鄰近特征,且在訓(xùn)練過程中所有詞向量保持不變。
3)RAF-CNN:詞向量的初始化方案與CNN相同。訓(xùn)練過程中,為每個詞語添加右鄰近特征,如果右鄰近詞語不在預(yù)訓(xùn)練詞向量中,則隨機(jī)初始化右鄰近特征,且在訓(xùn)練過程中所有詞向量保持不變。
4)LRAF-CNN:詞向量的初始化方案與CNN相同。在訓(xùn)練過程中,為每個詞語添加左、右鄰近特征,如果左、右鄰近詞語不在預(yù)訓(xùn)練詞向量中,則隨機(jī)初始化左、右鄰近特征,且在訓(xùn)練過程中所有詞向量保持不變。
上述4個模型除了鄰近特征的附加策略不同,其余超參數(shù)設(shè)置均相同,超參數(shù)值如表2所示。
表2 模型的可調(diào)超參數(shù)值
模型在訓(xùn)練過程中,采用文獻(xiàn)[20]提出的Adadelta Update Rule規(guī)則進(jìn)行隨機(jī)梯度下降更新參數(shù)。
在COAE2014數(shù)據(jù)集(二分類)和COAE2015數(shù)據(jù)集(三分類)上的模型對比實驗結(jié)果如表3和表4所示。實驗效果評價指標(biāo)為查準(zhǔn)率、召回率、F值及準(zhǔn)確率,其中基準(zhǔn)模型是未考慮任何鄰近特征的CNN。從表3可以看出,相比基準(zhǔn)模型CNN,LAF-CNN、RAF-CNN、LRAF-CNN在查準(zhǔn)率、召回率、F值及準(zhǔn)確率方面均有所提升,其中準(zhǔn)確率分別提升了1.14%、0.57%、3%。從表4可以看出,相比基準(zhǔn)模型CNN,LAF-CNN、RAF-CNN、LRAF-CNN在查準(zhǔn)率、召回率、F值方面浮動比較大,這是由各個分類的訓(xùn)練集數(shù)量不均衡所導(dǎo)致,但模型在準(zhǔn)確率方面依然提升了1.63%、1.09%、1.83%。
表3 各模型在COAE2014數(shù)據(jù)集上的分類結(jié)果對比 %
表4 各模型在COAE2015數(shù)據(jù)集上的分類結(jié)果對比 %
從2個數(shù)據(jù)集上的實驗結(jié)果可以總結(jié)出:
1)當(dāng)加入鄰近特征后,模型在綜合性能方面得到了一定提升,這說明在卷積過程中,給每個詞語添加鄰近特征,一方面可以強化詞語在特定上下文中所表達(dá)的語義,另一方面相鄰詞語之間的相互關(guān)系提高了信息傳遞的連續(xù)性。這2點在一定程度上可確保在卷積過程中,即使漏掉了個別情感詞語,也不會對最終的分類結(jié)果產(chǎn)生很大影響。
2)LAF-CNN的分類準(zhǔn)確率均略高于RAF-CNN,其原因可能跟詞語的序列性有關(guān),中文文本語義的表達(dá)是從左至右、先有上文后有下文,而LAF-CNN正具有這種承上啟下的作用。然而具體是否因為這個原因造成該現(xiàn)象,還有待進(jìn)一步驗證。
3)LAF-CNN、RAF-CNN的分類準(zhǔn)確率均略低于 LRAF-CNN,其原因跟詞語在特定上下文中所蘊含的語義有關(guān),由于LAF-CNN只攜帶左鄰近特征,RAF-CNN只攜帶右鄰近特征,而LRAF-CNN兼顧左、右鄰近特征,其可以提取到更精確的語義信息,因此,該模型的分類效果更好。
為在卷積過程中增強詞語在當(dāng)前上下文中的語義、保證詞語在局部范圍內(nèi)的序列性,本文建立一種基于詞語鄰近特征的CNN模型,并為其設(shè)計了3種詞語鄰近特征附加策略。對比實驗結(jié)果表明,相對傳統(tǒng)CNN模型,該模型具有可行性、高效性。但是在附加鄰近特征時,本文只考慮當(dāng)前詞語前、后鄰近詞的特征,下一步將在計算能力允許的情況下,擴(kuò)大鄰近詞的數(shù)量從而獲取更精確的上下文信息;此外,在語料預(yù)處理時,本文直接去掉所有標(biāo)點符號和表情符號,然而某些標(biāo)點符號和表情符號的去除會影響上下文的情感極性轉(zhuǎn)移,對模型最后的分類效果產(chǎn)生一定的負(fù)面影響,因此,解決由標(biāo)點符號和表情符號引起的情感極性轉(zhuǎn)移問題也是今后的研究方向。
[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].計算機(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] 何炎祥,孫松濤,牛菲菲,等.用于微博情感分析的一種情感語義增強的深度學(xué)習(xí)模型[J].計算機(jī)學(xué)報,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.