魯新新 柴 巖
(遼寧工程技術(shù)大學(xué) 遼寧 阜新 123000)
情感分類的目標是通過特定的方法分析、歸納和推理出該文本信息的創(chuàng)作者想要表達的情感、觀點和立場,進而可以通過相關(guān)主觀性信息將其劃分為不同的情感傾向類別。這一研究在產(chǎn)品評價、評價分析、輿情監(jiān)控等方面具有廣泛的應(yīng)用。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)被廣泛的應(yīng)用到自然語言處理等領(lǐng)域,取得了較好的性能效果,諸如語義分析、實體識別、句子建模等。Santos等[1]提出利用兩個卷積網(wǎng)絡(luò)對短文本進行特征提取,一個提取字符特征,另一個網(wǎng)絡(luò)提取句子特征,結(jié)合兩者特征完成短文本情感。Wang[2]提出了聚合短文本語義的CNN方法,利用兩層CNN網(wǎng)絡(luò)提取短文本情感特征,采用K-mean完成文本情感聚類。Jebaseeli等[3]提出利用深度神經(jīng)網(wǎng)絡(luò)進行Twitter短文本情感分類方法,通過提取詞向量中指定情感語義信息,構(gòu)建情感分類系統(tǒng),深度神經(jīng)網(wǎng)絡(luò)采用全連接操作,模型訓(xùn)練復(fù)雜。Yann等[4]提出帶有門機制的CNN用于文本分類,門機制和LSTM中輸出門相似,控制情感特征的選取在開放數(shù)據(jù)集取得比LSTM更好的效果。Kim[5]將卷積神經(jīng)網(wǎng)絡(luò)模型應(yīng)用到文本分類中,采用三層卷積網(wǎng)絡(luò)對文本數(shù)據(jù)進行建模,采用互熵目標函數(shù),在不同文本評論數(shù)據(jù)集上表現(xiàn)出色。Kalchbrenner等[6]提出了動態(tài)卷積網(wǎng)絡(luò),動態(tài)池化函數(shù)加入卷積層數(shù)和當前層數(shù)等特征,對比傳統(tǒng)的分類模型其效果有很大的提高。陳釗等[7]根據(jù)中文文本特征設(shè)計CNN結(jié)構(gòu)用于中文情感分類,將情感詞典特征加入到網(wǎng)絡(luò)結(jié)構(gòu)當中,構(gòu)造情感字典增加人工開銷。李培等[8]提出基于深層次句法分析角度進行網(wǎng)絡(luò)數(shù)據(jù)情感傾向性分析,依存句法分析增加開銷,在處理短文本時候有一定局限性。黃志勇[9]提出基于SVM和深度學(xué)習的情感分類算法,將word2vec提取的詞向量直接輸入到SVM分類器中,未充分提取情感特性。Zhang等[10]提出一種基于LDA的樸素貝葉斯方法處理句子級別情感傾向性方法,盡管一些監(jiān)督學(xué)習[11-12]方法取得很好性能效果,但是監(jiān)督學(xué)習方法依賴人工特征工程。
針對中文短文本稀疏的特點, 特征工程依賴人工規(guī)則,CNN模型參數(shù)優(yōu)化過程未考慮梯度彌散問題。本文提出一種基于L2-SVM和動態(tài)CNN情感分類模型解決傳統(tǒng)方法特征表述維數(shù)過高,文本表述稀疏問題。利用L2-SVM模型對參數(shù)進行優(yōu)化,解決梯度彌散問題。在兩個真實評估數(shù)據(jù)集上的實驗, LDCNN能夠準確地發(fā)現(xiàn)文本中的情感極性,性能明顯高于經(jīng)典同類方法。
CNN層結(jié)構(gòu)各有不同,但它們的基本結(jié)構(gòu)是一樣的,標準的卷積結(jié)構(gòu)包含卷積層、池化層和全連接層,見圖1。
圖1 卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
卷積運算通常是對兩個實值函數(shù)的一種數(shù)學(xué)運算。卷積運算公式:
(1)
第一個參數(shù)x稱為輸入,第二個參數(shù)w稱為核。離散形式的卷積:
(2)
CNN中的池化層是對數(shù)據(jù)特征進行壓縮處理,起到數(shù)據(jù)降維作用,一定程度抑制過擬合現(xiàn)象。常見的池化操作分為:最大池化、K-Max池化和塊池化。
(3)
式中:類別分布概率pi:
(4)
(5)
LDCNN模型見圖2,模型通過三次卷積操作,將原始輸入的文本轉(zhuǎn)化為頂層特征圖譜。給定,X={xi:xi∈Rd×1,i=1,2,…,n}為原始輸入文本,通過預(yù)訓(xùn)練詞向量E,每一個文本xi映射為矩陣S∈Rd×s,其中d為詞向量維數(shù),s為文本長度,W為網(wǎng)絡(luò)中權(quán)重向量。LDCNN模型定義一個非線性函數(shù)f(·):Rd×1→Rr×1(d?r),能夠?qū)⒃驾斎隭轉(zhuǎn)換為r維深度表述h。
圖2 LDCNN結(jié)構(gòu)模型
為了解決模型特征提取過程中維數(shù)過高和文本位置特征信息缺失問題,采用動態(tài)K-Max函數(shù),動態(tài)函數(shù)可以根據(jù)實際具體參數(shù)情況進行池化尺寸的調(diào)整,使得文本中位置信息能夠前向傳播到頂層網(wǎng)絡(luò),保證文本特征提取的充分[13]。此時的k為動態(tài)函數(shù),記為Φ(k),Φ(k)考慮到輸入句子長度,卷積網(wǎng)絡(luò)的深度,總的卷積層數(shù)。Φ(k)表達式如下:
(6)
式中:ktop為頂層最大池化數(shù),L位總的卷積層數(shù),|s|為句子長度,「?為向下取整操作。
針對經(jīng)典CNN模型中互熵目標函數(shù)微分在反向傳播過程中對低層次特征提取不充分,參數(shù)更新過程當中出現(xiàn)維度彌散現(xiàn)象,利用L2-SVM作為損失函數(shù)。給定訓(xùn)練數(shù)據(jù)(xn,yn),n=1,2,…,N,xn∈RD,tn∈{-1,1},帶有約束性的支持向量機:
(7)
目標函數(shù):
(8)
對于測試數(shù)據(jù),預(yù)測屬于的類別:
(9)
經(jīng)典CNN分類模型當中,全連接層和卷積層利用互熵目標函數(shù)進行參數(shù)優(yōu)化,學(xué)習底層的特征表述,優(yōu)化過程中出現(xiàn)梯度彌散,低層次特征不充分的現(xiàn)象。L2-SVM和互熵目標函數(shù)的不同在于權(quán)重向量的優(yōu)化過程。互熵函數(shù)通過極大似然估計或者最小化交叉熵,而L2-SVM挖掘不同類別數(shù)據(jù)點的最大邊緣,具有較好的可微可導(dǎo)性,正則化項對錯分數(shù)據(jù)懲罰力度更大。參數(shù)優(yōu)化如下:
目標函數(shù)用J(w)表示。微分公式如下:
(10)
式中:I(·)為指示函數(shù)。對于全連接層中L2-SVM可以得:
(11)
局部連接權(quán)重和偏執(zhí)向量的梯度向量為:
(12)
(13)
假設(shè)當前層為l,下一層為l+1,上一層為l-1,從l-1層到l層有:
(14)
卷積層l的各個神經(jīng)元的δ只和l+1層的神經(jīng)元有關(guān),卷積層l到池化層l+1做了下采樣的運算,使得矩陣維度減小,因此,δl+1需要上采樣up還原卷積層維數(shù),定義up運算為(2×2)為例:
(15)
因此,有:
(16)
(17)
(18)
公式符號見表1。
表1 公式符號
本文使用攜程網(wǎng)關(guān)于酒店評論情感數(shù)據(jù)集評估LDCNN模型。對語料進行預(yù)處理,包括中文分詞、移除標點和停用詞。處理完成的語料統(tǒng)計信息見表2。在LDCNN訓(xùn)練過程中,隨機選取80%作為訓(xùn)練集調(diào)試參數(shù),20%作為測試集。
表2 訓(xùn)練樣本
為解決短文本中文本稀疏問題,針對傳統(tǒng)Bow模型表示短文本特征緯度高、特征稀疏程度大的問題。LDCNN模型采用word2vec[14]詞向量表述,word2vec超參數(shù)統(tǒng)計如表3所示。
表3 詞向量參數(shù)
為了充分提取短文本情感特征,文中關(guān)于卷積核尺寸設(shè)定考慮到中文短文本語義特性,采用LDCNN模型,其模型的超參數(shù)見表4。
表4 LDCNN模型參數(shù)
為了衡量LDCNN情感分類性能,采用準確率、錯誤率兩個指標進行定量分析。實驗方案[15-18]見表5。
表5 實驗方案
SVM(Uni)和SVM(Bi)方案采用人工提取(一元、二元)詞情感特征相對于LDCNN、LSCNN、SoftmaxCNN方案在準確性上不足;SoftmaxCNN方案采用互熵損失函數(shù)無法解決參數(shù)優(yōu)化過程中梯度彌散問題;而LSCNN方案采用靜態(tài)池化不能充分依據(jù)實際情況提取情感特征;最后SSTM方案過分依賴情感詞典提取情感特征,過于局限;故通過上述分析比較可知LDCNN模型在短文本情感特征提取方面都優(yōu)于上述方案。
情感分類準確率結(jié)果見圖3。
圖3 情感分類準確率結(jié)果
LDCNN模型在epochs<5時保持增長的趨勢,在epochs=5時,保持穩(wěn)定,SoftmaxCNN模型隨著迭代次數(shù)變化上下波動,穩(wěn)定性差。驗證L2-SVM目標函數(shù)有效性。LDCNN模型平均準確率高于LSCNN,驗證動態(tài)K-Max池化操作的有效性。
為進一步驗證LDCNN分類性能,從召回率評價角度對模型進行評估。情感分類召回率結(jié)果見圖4。
圖4 情感分類召回率結(jié)果
隨著epochs增加,LDCNN和LSCNN對SoftmaxCNN召回率結(jié)果趨于穩(wěn)定,說明L2-SVM損失函數(shù)相對于互熵損失函數(shù)能夠改善參數(shù)更新過程梯度彌散現(xiàn)象。而LDCNN模型召回率結(jié)果明顯高于LSCNN和SoftmaxCNN模型,說明LDCNN情感分類的有效性。
為了進一步說明L2-SVM目標函數(shù)(見2.3節(jié))改善參數(shù)優(yōu)化過程梯度彌散現(xiàn)象,圖5列出SoftmaxCNN和LDCNN權(quán)重的更新對比。
圖5 softmax和L2-SVM權(quán)重更新對比
參數(shù)更新開始時刻二者趨勢相當,上下波動,二者在權(quán)重更新時有交叉的部分。當epochs=5,LDCNN模型權(quán)重趨于穩(wěn)定,不再變化,反觀SoftmaxCNN模型不停波動。說明L2-SVM能夠改善CNN參數(shù)優(yōu)化過程中梯度彌散問題,提高模型泛化能力。
為了得到情感分類的最佳表現(xiàn)能力,驗證正則化參數(shù)對實驗結(jié)果的影響。通過調(diào)整L2-SVM的懲罰系數(shù)C改善實驗性能。設(shè)置不同參數(shù)C的實驗結(jié)果見圖6。
圖6 不同懲罰系數(shù)C下實驗性能
不同懲罰系數(shù)C>55對實驗性能有很大影響。當C=55,得到最高準確性,當C>55時,懲罰參數(shù)對錯分類別懲罰過大,造成正則化損失與數(shù)據(jù)損失失去平衡,模型性能下降。
為驗證LDCNN模型夠解決短文本中的稀疏性問題,各種經(jīng)典方法識別情感極性錯誤率見圖7。
圖7 文本稀疏性結(jié)果
LDCNN隨著樣本數(shù)量的增多錯誤率明顯下降,體現(xiàn)LDCNN處理大規(guī)模樣本優(yōu)越性。SVM模型在文本數(shù)據(jù)規(guī)模小的情況下,模型性能逼近LDCNN模型,但隨著樣本數(shù)據(jù)增多,SVM模型受限于時間和空間復(fù)雜度,線性不可分現(xiàn)象嚴重錯誤率顯著增高,說明SVM在處理大樣本數(shù)據(jù)具有一定局限性。
本文提出了一種面向中文短文本情感分析模型LDCNN。利用L2-SVM方法對LDCNN模型進行優(yōu)化,解決了參數(shù)優(yōu)化的問題。采用動態(tài)池化函數(shù)不僅對輸入樣本實際情況動態(tài)壓縮文本特征,而且還保存了文本位置特征信息。在兩個真實評論數(shù)據(jù)集上的實驗結(jié)果說明了該模型有效性,LDCNN模型具有深度學(xué)習優(yōu)越特征,隨著樣本數(shù)據(jù)的增多,模型性能更加穩(wěn)定。LDCNN模型不同于傳統(tǒng)的統(tǒng)計模型或者基于規(guī)則的模型需要大量的數(shù)據(jù)樣本,將本模型應(yīng)用到更多更大的文本數(shù)據(jù)集,分布式LDCNN模型是今后的研究方向。
[1] Santos C N D,Gattit M.Deep Convolutional Neural Networks for Sentiment Analysis of Short Texts[C]//International Conference on Computational Linguistics.2014:69-78.
[2] Wang P,Xu J,Xu B,et al.Semantic Clustering and Convolutional Neural Network for Short Text Categorization[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing,2015:352-357.
[3] Jebaseeli A N,Kirubakaran E.A Survey on Sentiment Analysis of (Product) Reviews[J].International Journal of Computer Applications,2012,47(11):36-39.
[4] Dauphin Y N,Fan A,Auli M,et al.Language Modeling with Gated Convolutional Networks[DB].arXiv:1612.08083,2016.
[5] Kim Y.Convolutional Neural Networks for Sentence Classification[C]//Empirical methods in natural language processing,2014:1746-1751.
[6] Kalchbrenner N,Grefenstette E,Blunsom P,et al.A Convolutional Neural Network for Modelling Sentences[C]//Meeting of the association for computational linguistics,2014:655-665.
[7] 陳釗,需瑞峰,桂林.結(jié)合卷積神經(jīng)網(wǎng)絡(luò)和詞語情感序列化的中文情感分析[J].中文信息學(xué)報,2015,30(1):71-89.
[8] 李培,何中市,黃永文.基于依存關(guān)系分析的網(wǎng)絡(luò)評論極性分類研究[J].計算機工程與應(yīng)用,2010,46(1):138-144.
[9] 黃志勇.基于SVM和深度學(xué)習的情感分類算法研究[D].重慶:重慶郵電大學(xué),2016:20-25.
[10] Zhang Y,Ji D H,Su Y,et al.Joint Naive Bayes and LDA for Unsupervised Sentiment Analysis[M]//Advances in Knowledge Discovery and Data Mining.Springer Berlin Heidelberg,2013:402-413.
[11] Pang B,Lee L,Vaithyanathan S.Thumbs up:sentiment classification using machine learning techniques[C]//Proceedings of ACL 2002:79-86.
[12] Kharde V A,Sonawane S.Sentiment Analysis of Twitter Data:A Survey of Techniques[J].International Journal of Computer Applications,2016,139(11):5-15.
[13] Jo Johnson R,Zhang T.Effective Use of Word Order for Text Categorization with Convolutional Neural Networks[C]//North a merican chapter of the association for computational linguistics,2014:103-112.
[14] Mikolov T,Sutskever I,Chen K,et al.Distributed Representations of Words and Phrases and their Compositionality[C]//Neural information processing systems,2013:3111-3119.
[15] Zhang Y,Wallace B.A sensitivity analysis of (and practitioners’ guide to) convolutional neural networks for sentence classification[J].CoRR,2015,16(1):105-119.
[16] Tang Y.Deep learning using linear support vector machines[DB].arXiv preprint arXiv:1306.0239,2013.
[17] 張紫瓊,葉強,李一軍.互聯(lián)網(wǎng)商品評論情感分析研究綜述[J].管理科學(xué)學(xué)報,2010(6):84-96.
[18] 熊蜀峰,姬東鴻.面向產(chǎn)品評論分析的短文本情感主題模型[J].自動化學(xué)報,2016,42(8):1227-1237.