喻 濤,羅 可
長沙理工大學(xué) 計算機(jī)與通信工程學(xué)院,長沙 410114
隨著互聯(lián)網(wǎng)相關(guān)技術(shù)的飛速發(fā)展,用戶通過微博等媒體自由地在社交網(wǎng)絡(luò)中表述自己的觀點,在電子商務(wù)平臺對購買的商品進(jìn)行評價,在豆瓣等網(wǎng)站進(jìn)行電影評論等行為已成為日常生活的一部分。如何利用機(jī)器學(xué)習(xí)、深度學(xué)習(xí)技術(shù)對海量信息進(jìn)行分析,獲得文本的觀點傾向、情感極性成為自然語言處理領(lǐng)域的一個重要研究課題[1]。
情感分析(sentiment analysis,SA)又稱傾向性分析和意見挖掘,它是對帶有情感色彩的主觀性文本進(jìn)行分析、處理、歸納和推理的過程。傳統(tǒng)的情感分析技術(shù)可分為兩類,第一類為基于情感詞典的方法,第二類為基于機(jī)器學(xué)習(xí)的方法。前者從語言學(xué)的角度出發(fā),每個詞或短語由專家賦予情感極性或者情感強(qiáng)度,研究者結(jié)合情感詞典數(shù)據(jù),構(gòu)建人工規(guī)則,判斷目標(biāo)文本的情感極性。在這類方法的研究上,謝松縣等人[2]采用混合特征的情感詞典方法進(jìn)行情感分析,楊小平等人[3]采用基于word2vec的情感詞典構(gòu)建方法完成情感分類。后者機(jī)器學(xué)習(xí)算法[4]借助于大量人工標(biāo)注的特征來確定給定文本的情感極性。該算法實現(xiàn)了很好的性能,但需要大量的人工操作和領(lǐng)域知識。近年來,隨著深度學(xué)習(xí)的研究不斷深入,將詞語編碼為詞向量,利用深度神經(jīng)網(wǎng)絡(luò)技術(shù)對文本進(jìn)行分析成為研究的新領(lǐng)域。例如,Kim[5]提出使用卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network,CNN)進(jìn)行句子建模;Socher等人[6-8]利用遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)提取句子的語義特征,進(jìn)行情感分析等。
在情感分析領(lǐng)域,詞作為最基本的研究單元,詞向量訓(xùn)練的好壞對情感分析任務(wù)的精準(zhǔn)度有重大影響。因此,研究者們提出了許多卓有成效的詞向量訓(xùn)練方法,主要包括基于主題模型的方法和基于語言模型的方法。基于主題模型的方法是指每個詞被表示成不同主題下的概率分布,較為典型的是基于LDA(latent Dirichlet allocation)的主題模型方法。如Mikolov等人[9]使用LDA方法,在大量的語料數(shù)據(jù)中學(xué)習(xí)到預(yù)定義數(shù)量的主題,每個詞在不同主題下的概率分布即為該詞的語義向量?;谡Z言模型的方法中經(jīng)典之作為Bengio等人[10]采用三層神經(jīng)網(wǎng)絡(luò)構(gòu)建語言模型的方法,把詞映射到低維實數(shù)向量,通過詞與詞之間的距離來判斷它們之間的語義相似度。Mnih等人[11]提出一種層級的思想,采用Hierarchical Log-Bilinear模型來訓(xùn)練語言模型。Mikolov等人[12-13]提出了word2vec框架,構(gòu)建了Continuous Bag-of-Words(CBOW)模型和Continuous Skip-Gram模型。
傳統(tǒng)基于詞向量的卷積神經(jīng)網(wǎng)絡(luò)模型在情感分析任務(wù)上取得了很好的效果,但存在兩個缺點:第一,傳統(tǒng)的詞向量僅考慮了文本中的語義或語法信息,未考慮詞語本身的情感極性,往往導(dǎo)致一些具有相同用法,情感極性卻相反的詞語被映射到相近的向量中,這對情感分析任務(wù)是致命性錯誤。第二,傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)由卷積層(convolution layer)、最大池化層(max-pooling layer)和全連接層(full connection layer)組成,卷積層提取句子特征,最大池化層選擇局部最大特征,全連接層完成任務(wù)分類。但是傳統(tǒng)模型中最大池化層是從整個句子的局部特征中提取最大值,沒有針對句子的結(jié)構(gòu)進(jìn)行多段分析。例如在某一轉(zhuǎn)折句中,情感極性為轉(zhuǎn)折后的消極,若轉(zhuǎn)折詞前正面情感詞多,提取的最大特征將句子誤分類為積極,這對情感分析任務(wù)同樣也是致命性錯誤。根據(jù)中文傾向性分析評測COAE2014(Chinese opinion analysis evaluation)數(shù)據(jù)集統(tǒng)計發(fā)現(xiàn),這種轉(zhuǎn)折類的句子占數(shù)據(jù)集的17.3%,這是一種不能忽略的現(xiàn)象。
針對以上兩點不足,本文提出一種基于情感詞向量的動態(tài)多池卷積神經(jīng)網(wǎng)絡(luò)(dynamic multi-pooling convolution neural network based on sentiment word vector,SDMCNN)模型。與僅以語義和句法為焦點的傳統(tǒng)詞向量學(xué)習(xí)不同,情感詞向量能夠根據(jù)它們的情感以及它們的語義和句法信息來區(qū)分單詞。同時卷積神經(jīng)網(wǎng)絡(luò)采用動態(tài)多池層[14]策略,以轉(zhuǎn)折詞分割,分段獲取句子每個部分的最大值,即保留多個局部最大特征值,更準(zhǔn)確地完成情感分析任務(wù)。
本文組織結(jié)構(gòu)如下:第2章介紹傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu);第3章介紹基于情感詞向量的動態(tài)多池卷積神經(jīng)網(wǎng)絡(luò)模型(即SDMCNN模型);第4章實驗證明SDMCNN模型的性能;最后總結(jié)本文。
卷積神經(jīng)網(wǎng)絡(luò)是一種前饋神經(jīng)網(wǎng)絡(luò),由卷積層、池化層和全連接層3種類型的神經(jīng)網(wǎng)絡(luò)層組成。每一層的輸出作為下一層的輸入。卷積層是特征提取層,通過濾波器提取局部特征,經(jīng)過卷積核函數(shù)產(chǎn)生局部特征圖,輸入到池化層。池化層是特征映射層,對卷積層提取的特征圖進(jìn)行采樣,輸出局部最優(yōu)特征。全連接層對最優(yōu)特征進(jìn)行任務(wù)分類。
依據(jù)文獻(xiàn)[15],簡化的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
Fig.1 Simplified CNN structure圖1 簡化的CNN結(jié)構(gòu)
給定長度為n的輸入句子s,每一列代表一個詞向量,句子s中的第i個詞xi∈Rd為d維詞向量,則s表示為:
其中,⊕是串接操作符,即xi:i+j是指詞xi,xi+1,…,xi+j的水平串接。卷積是權(quán)重矩陣w∈Rh×d與句子s中xi:i+h-1串接矩陣的點乘積運算。卷積的目的是獲得表示為句子s的最終特征圖C(C∈Rn-h+1),利用大小為h×d的濾波器對輸入特征矩陣進(jìn)行卷積操作,計算如下:
其中,f(·)為卷積核函數(shù),例如雙曲正切;w為卷積濾波器;h為滑動窗口大??;b為偏置項。卷積后得到的特征圖C為:
其中,ci表示特征圖中第i個特征值。為了捕獲每個特征映射ci的重要信息,呈現(xiàn)了幾種池化方法,如最大池化(即c=max{ci})和平均池化
由于每個濾波器在卷積過程之后僅獲得一個特征映射C,卷積神經(jīng)網(wǎng)絡(luò)模型通常通過使用多個不同窗口大小的濾波器,或者隨機(jī)地初始化具有相同窗口大小的幾個濾波器來產(chǎn)生多個特征。如圖1所示,使用窗口大小為3的6個濾波器。池化后生成的特征(即)進(jìn)入softmax層,來預(yù)測在預(yù)定義標(biāo)簽中的概率分布,計算公式如下:
卷積神經(jīng)網(wǎng)絡(luò)中的參數(shù)通過反向傳播微調(diào)[16]。
針對傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)模型未考慮詞語的情感信息和句子結(jié)構(gòu)兩點不足,本文提出的基于情感詞向量的動態(tài)多池卷積神經(jīng)網(wǎng)絡(luò)模型包括兩部分:第一部分是構(gòu)建情感詞向量;第二部分是訓(xùn)練動態(tài)多池神經(jīng)網(wǎng)絡(luò)模型。
詞語語義信息部分使用skip-gram模型[12]來訓(xùn)練語義詞向量xsem。其中skip-gram模型是根據(jù)給定中心詞預(yù)測它周圍的詞。假設(shè)句子中詞組序列為x1,x2,…,xn,其目標(biāo)是最大化式(5)中的條件概率:
其中,c是以當(dāng)前詞語為中心的上下文詞數(shù),c值越大模型訓(xùn)練效果越好,同時也會增加訓(xùn)練時間。
在skip-gram模型訓(xùn)練語義詞向量的基礎(chǔ)上,情感信息部分根據(jù)詞語本身的情感特征,利用情感詞典來構(gòu)建情感屬性向量xsen。
同時針對轉(zhuǎn)折句結(jié)構(gòu),模型采用標(biāo)注轉(zhuǎn)折連詞的方式訓(xùn)練情感屬性向量。表1和表2分別列出模型考慮轉(zhuǎn)折句式中使用的轉(zhuǎn)折詞和模型考慮的情感屬性特征。
Table 1 Turning word list表1 轉(zhuǎn)折詞列表
Table 2 Attributes of sentiment information表2 詞語情感信息的屬性特征
給定長度為n的輸入句子s,把句中每個詞語xi,1≤i≤n,映射到一個k維的0,1向量空間,即xi∈Rk。其中k代表模型考慮詞語本身具有的屬性特征個數(shù),每一維用數(shù)值0,1表示。0表示詞語不具有此屬性,1表示詞語具有此屬性。
假設(shè)x為情感詞向量,則表示為:
情感詞向量組成文本特征矩陣,作為動態(tài)多池卷積神經(jīng)網(wǎng)絡(luò)的輸入。傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)模型沒有分析句子結(jié)構(gòu),采用最大池化層提取整個句子的最優(yōu)特征,針對情感轉(zhuǎn)折句式問題,往往會忽略轉(zhuǎn)折之后情感極性的變化,導(dǎo)致情感分析錯誤。因此,本文采用動態(tài)多池的卷積神經(jīng)網(wǎng)絡(luò)模型,以轉(zhuǎn)折詞進(jìn)行分割,分段提取句子局部最大特征,通過模型訓(xùn)練完成情感分析任務(wù)。
本文提出的基于情感詞向量的動態(tài)多池卷積神經(jīng)網(wǎng)絡(luò)模型的整體架構(gòu)如圖2所示。模型包括4個層次,依次為情感詞向量輸入層、卷積操作層、動態(tài)多池層和情感分類輸出層。
Fig.2 Dynamic multi-pooling convolution neural network model based on sentiment word vector圖2 基于情感詞向量的動態(tài)多池卷積神經(jīng)網(wǎng)絡(luò)模型
(1)輸入層。由情感詞向量X構(gòu)成文本特征矩陣,語義詞向量長度為dsem,情感向量長度為dsen,令xi∈Rd是對應(yīng)于句子中第i個詞語的d維向量表示,其中d=dsem+dsen。長度為n的句子表示如下:
因此,組合語義詞向量和情感向量,將句子變換為特征矩陣X∈Rd×n。
(2)卷積操作層。卷積層旨在捕獲整個句子的組成信息,并將這些有價值的信息壓縮到特征映射中。xi:i+h-1是詞xi,xi+1,…,xi+h-1組成的局部特征矩陣。本文利用大小為h×d的濾波器對輸入特征進(jìn)行卷積操作,即:
其中,ci代表特征圖中第i個特征值,1≤i≤n-h+1;f(·)為卷積核函數(shù);w∈Rh×d為濾波器;h為滑動窗口大??;b為偏置項。為了捕獲不同的特征,通常在卷積中使用多個濾波器。假設(shè)使用m個濾波器W=w1,w2,…,wm,卷積運算可以表示為:
其中,1≤j≤m,卷積結(jié)果為矩陣C∈Rm×(n-h+1)。
(3)動態(tài)多池層。為了提取每個特征圖中最重要的特征,傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)采用一個特征圖作為池值。然而單個最大池不能很好地完成情感分析任務(wù),因為一個句子可能包含兩個相反極性的情感。為了準(zhǔn)確預(yù)測,需要捕獲情感改變中最有價值的信息。因此,在轉(zhuǎn)折句中,對轉(zhuǎn)折詞前后的情感詞進(jìn)行分割并多段保留最大值,將其稱為動態(tài)多池。與傳統(tǒng)的最大池相比,動態(tài)多池可以保留更多有價值的信息,而不會錯過最大化池值。
如圖2所示,特征映射輸出cj被“但”劃分為兩部分cj1、cj2。動態(tài)多池可以表示為:
其中,1≤j≤m和1≤i≤n。
通過動態(tài)多池層,獲得每個特征圖的pji。然后連接所有的pji形成一個向量P∈R2m。其中m是特征映射的數(shù)量,P稱為句子級特征。
(4)輸出層。由動態(tài)多池層得出的特征向量P作為softmax層的輸入。softmax層的訓(xùn)練過程中引入了Dropout策略,即隨機(jī)地將分段池化的結(jié)果向量按照一定比例ρ置0,沒有置0的向量進(jìn)行運算和連接,它將神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換成多個模型的組合,提高了模型分析的準(zhǔn)確率。最后得到情感分類的預(yù)測概率,同時根據(jù)訓(xùn)練數(shù)據(jù)的實際分類標(biāo)簽,對卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)采用反向傳播算法進(jìn)行梯度更新,即:
模型需要訓(xùn)練的參數(shù)包括詞向量和卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)。設(shè)詞向量為X,卷積操作的參數(shù)為W,分類器的參數(shù)為F,令θ={X,W,F}。設(shè)訓(xùn)練集樣本集合,其中Si表示第i個句子,yi表示句子的情感類別,k表示訓(xùn)練集樣本的個數(shù)。p(yi|Si,θ)表示在已知參數(shù)θ時,將句子Si的情感分類為yi的概率,則優(yōu)化的目標(biāo)函數(shù)為:
為了防止過擬合并提高泛化能力,模型利用L2正則化對網(wǎng)絡(luò)參數(shù)進(jìn)行約束,其中λ為正則化的參數(shù)。模型訓(xùn)練中,采用mini-batch梯度下降法進(jìn)行訓(xùn)練,即每次更新權(quán)值只需要一部分樣本參與計算,保證盡可能尋找到最優(yōu)解,并提高訓(xùn)練速度。則參數(shù)θ的更新方式為:
其中,α為學(xué)習(xí)率。
本文實驗環(huán)境配置具體如表3所示。
Table 3 Experimental environment configuration表3 實驗環(huán)境配置
情感屬性向量使用的情感詞典為HowNet情感詞典和大連理工大學(xué)細(xì)粒度情感詞典。本文實驗數(shù)據(jù)采用COAE2014微博數(shù)據(jù)集(http://download.csdn.net/detail/u013906860/9776509),數(shù)據(jù)集分為訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集。訓(xùn)練數(shù)據(jù)集選取手機(jī)、翡翠、保險3個話題,總共7 000條微博,其中正面情感3 776條,負(fù)面情感3 224條。測試數(shù)據(jù)選取1 838條同一主題微博,其中正面情感1 004條,負(fù)面情感834條。本文采用多次重復(fù)實驗來評估各個模型的性能,最終測評結(jié)果為實驗的平均值。
為了充分測試SDMCNN模型的性能,除了在COAE2014微博數(shù)據(jù)集上進(jìn)行情感分類,本文還將選取數(shù)據(jù)集4 286條,分為轉(zhuǎn)折句式(1 069條)和非轉(zhuǎn)折句式(3 217條)兩部分,分別在SVM(support vector machine)、W2V+CNN模型和SDMCNN模型上進(jìn)行情感分類實驗,來考察SDMCNN模型在轉(zhuǎn)折句上的分類性能。
數(shù)據(jù)集劃分之后,在訓(xùn)練過程中采用mini-batch訓(xùn)練模型,因此需要對句子進(jìn)行固定操作,對于長度小于句子最大長度lmax的句子進(jìn)行補零處理。對數(shù)據(jù)集進(jìn)行預(yù)處理過程包括:過濾所有的標(biāo)點符號和特殊字符;格式轉(zhuǎn)換;利用python中的jieba分詞工具進(jìn)行分詞處理,將每條微博轉(zhuǎn)化成以空格分隔的詞語序列;訓(xùn)練詞向量。一條微博為一行進(jìn)行詞向量學(xué)習(xí),本文詞向量采用word2vec工具(http://code.google.com/p/word2vec)中的skip-gram模型,它由2 000萬條的微博語料訓(xùn)練產(chǎn)生,保證了詞向量的高質(zhì)量。
本文實驗中卷積核函數(shù)采用Rectified linear函數(shù),模型中的參數(shù)由多次重復(fù)實驗進(jìn)行調(diào)節(jié)。參數(shù)主要有詞向量的維度d,卷積核滑動窗口大小h,卷積核數(shù)量m,Dropout算法的比率ρ,mini-batch算法的學(xué)習(xí)率α。其中d的取值范圍為{50,100,200},h的取值組合為(2,3,4)、(3,4,5)和(4,5,6),m在卷積操作的3個通道中保持不變,取值范圍是{100,200,300}。這3個參數(shù)構(gòu)成了27種參數(shù)組合,實驗通過網(wǎng)格搜索方法調(diào)參,確定平均實驗結(jié)果最優(yōu)的參數(shù)組合。本文實驗參數(shù)設(shè)置如表4所示。
Table 4 Model optimal parameter settings表4 模型最優(yōu)參數(shù)設(shè)置
圖3為目標(biāo)函數(shù)隨mini-batch迭代次數(shù)的變化曲線,當(dāng)?shù)螖?shù)達(dá)到50次以上時,目標(biāo)函數(shù)最小且保持不變,因此實驗設(shè)置訓(xùn)練迭代次數(shù)為50次。
為了驗證模型的有效性和準(zhǔn)確性,設(shè)計實驗與以下模型進(jìn)行性能對比:
Fig.3 Change of objective function圖3 目標(biāo)函數(shù)變化曲線
(1)傳統(tǒng)機(jī)器學(xué)習(xí)。在相同的數(shù)據(jù)集上,為了保證實驗的可比性,構(gòu)建輸入特征采用本文訓(xùn)練情感詞向量的方式,分別用線性回歸(Linear Regression)、隨機(jī)森林(Random Forest)、支持向量機(jī)(SVM)方法進(jìn)行情感分類來證明卷積神經(jīng)模型在情感分析任務(wù)上的性能優(yōu)勢。其中Linear Regression通過學(xué)習(xí)一個線性模型來預(yù)測實值輸出標(biāo)記。Random Forest是一個包含多個決策樹對樣本進(jìn)行訓(xùn)練并預(yù)測的分類器。SVM通過構(gòu)造一個超平面或無限維空間將訓(xùn)練樣本正確分類,在情感分類任務(wù)中取得過較好的結(jié)果[17]。
(2)Rand+DMCNN模型。按高斯分布隨機(jī)初始化詞向量,采用動態(tài)多池層的卷積神經(jīng)網(wǎng)絡(luò)(dynamic multi-pooling convolution neural network,DMCNN)模型,證明由skip-gram模型訓(xùn)練的詞向量在描述原始數(shù)據(jù)特征分布上的性能優(yōu)勢。
(3)skip-gram+DMCNN模型。采用skip-gram模型訓(xùn)練的詞向量作為二維特征矩陣輸入動態(tài)多池層的卷積神經(jīng)網(wǎng)絡(luò)模型,證明融合情感信息的情感詞向量在情感分析任務(wù)上的性能優(yōu)勢。
(4)SWV+CNN模型。采用情感詞向量(sentiment word vector,SWV)作為二維特征矩陣輸入傳統(tǒng)卷積神經(jīng)模型,證明動態(tài)多池層在處理情感轉(zhuǎn)折句式上的性能優(yōu)勢。
(5)W2V+CNN模型。文獻(xiàn)[5]中Kim提出了基于word2vec訓(xùn)練的詞向量的卷積神經(jīng)網(wǎng)絡(luò)模型,證明采用情感詞向量和動態(tài)多池策略的SDMCNN模型比傳統(tǒng)卷積方法更勝任情感分析任務(wù)。
在機(jī)器學(xué)習(xí)(machine learning,ML)、自然語言處理(natural language processing,NLP)、信息檢索(information retrieval,IR)等領(lǐng)域中評估是一個必要的工作,而其評價指標(biāo)往往有如下幾點:精確率(Precision)、召回率(Recall)和F1-Measure。Precision衡量的是查準(zhǔn)率,Recall衡量的是查全率,這兩個指標(biāo)共同衡量才能評價模型的輸出結(jié)果,F(xiàn)1值就是精確值和召回率的調(diào)和均值,即綜合評價指標(biāo)。各個模型在COAE2014微博數(shù)據(jù)集上對3個指標(biāo)的測評結(jié)果如表5所示。
Table 5 Experimental results on COAE2014 data set表5 COAE2014數(shù)據(jù)集情感分析測試結(jié)果
實驗結(jié)果表明,后4種采用CNN的模型在情感分類任務(wù)上總體優(yōu)于機(jī)器學(xué)習(xí)方法,SDMCNN模型在Precision上取得最好的結(jié)果,較Linear Regression、Random Forest和SVM有很大提升,比取得第二好的SWV+CNN模型提高了2.81%。僅采用情感詞向量的SWV+CNN模型和僅采用動態(tài)多池層的skip-gram+DMCNN模型較經(jīng)典模型W2V+CNN在Precision和Recall上都有提升。最終,在F1上SDMCNN模型分別高于SWV+CNN模型和skip-gram+DMCNN模型2.14%和2.10%,取得了最好的實驗結(jié)果。
分別將實驗?zāi)P瓦M(jìn)行對比,得出以下結(jié)論。
結(jié)論1將 Linear Regression、Random Forest和SVM方法與W2V+CNN模型對比,在情感分類任務(wù)上,針對詞向量這種分布式的特征表示,機(jī)器學(xué)習(xí)方法構(gòu)建和匹配特征的優(yōu)勢不如卷積神經(jīng)網(wǎng)絡(luò)模型,且卷積神經(jīng)網(wǎng)絡(luò)通過局部感知野和權(quán)值共享,減少了模型參數(shù),同時降低了模型復(fù)雜度。W2V+CNN模型在F1上明顯高于其他3種模型,證明了卷積神經(jīng)網(wǎng)絡(luò)在情感分類上的出色表現(xiàn)。
結(jié)論2將SDMCNN模型與Rand+DMCNN模型和skip-gram+DMCNN模型對比,在保持動態(tài)多池層卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)不變的前提下,融合情感信息的情感詞向量能有效提升文本情感分析的準(zhǔn)確率。相比按高斯分布隨機(jī)初始化詞向量,word2vec訓(xùn)練詞向量能夠在更抽象的層面上描述原始輸入數(shù)據(jù)的特征分布情況,而串接情感屬性向量的情感詞向量在模型迭代訓(xùn)練中不斷更新,按最優(yōu)的方向收斂得到最優(yōu)解,更適合情感分析任務(wù)。skip-gram+DMCNN模型比Rand+DMCNN模型在F1上提升了5.61%,在輸入特征為情感詞向量矩陣的基礎(chǔ)上,SDMCNN模型比skip-gram+DMCNN模型在F1上提升了2.10%。
結(jié)論3將本文提出的SDMCNN模型與SWV+CNN模型對比,在保持情感詞向量不變的前提下,動態(tài)多池卷積神經(jīng)網(wǎng)絡(luò)模型在轉(zhuǎn)折句式上能有效提升文本情感分類的準(zhǔn)確率。SDMCNN模型采用動態(tài)池化分段提取句中最大值,比最大池化方法能更準(zhǔn)確地完成情感轉(zhuǎn)折句式的情感分類。
結(jié)論4將SDMCNN模型與W2V+CNN模型對比,SDMCNN模型很好地結(jié)合了情感詞向量和動態(tài)多池層兩種方法的優(yōu)勢,在F1上比W2V+CNN模型高出5.67%,分類性能得到極大提升。
針對轉(zhuǎn)折句式和非轉(zhuǎn)折句式數(shù)據(jù)集來考察模型實驗性能,結(jié)果如圖4、圖5和圖6所示。
從整體來看,SVM和W2V+CNN模型的轉(zhuǎn)折句式的Precision、Recall和F1評價指標(biāo)都明顯低于非轉(zhuǎn)折句式,表明在含有幾個情感詞的轉(zhuǎn)折句中,這兩種模型訓(xùn)練特征并正確分類的性能較差。而SDMCNN模型在轉(zhuǎn)折句上的性能指標(biāo)極大提升,與非轉(zhuǎn)折句式保持很小的差別。特別從圖6得出,在總微博數(shù)、轉(zhuǎn)折句式和非轉(zhuǎn)折句式數(shù)據(jù)上的F1變化不大,同時也是實驗的最好結(jié)果,表明SDMCNN模型在轉(zhuǎn)折句式上準(zhǔn)確處理情感分類任務(wù)的充分優(yōu)勢。
Fig.4 Precision of experiment test data圖4 實驗測試結(jié)果的精確率
Fig.5 Recall of experiment test data圖5 實驗測試結(jié)果的召回率
Fig.6 F1 of experiment test data圖6 實驗測試結(jié)果的F1
針對詞向量缺乏情感信息和傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)未考慮句子結(jié)構(gòu)問題,本文提出了一種基于情感詞向量的動態(tài)多池卷積神經(jīng)網(wǎng)絡(luò)模型。一方面,在skip-gram模型訓(xùn)練包含語義和句法的詞向量的基礎(chǔ)上,利用情感詞典獲取詞語本身的情感屬性來訓(xùn)練情感詞向量。另一方面,在傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)模型的基礎(chǔ)上,采用動態(tài)多池策略,以轉(zhuǎn)折詞分割多段提取最大特征值。在COAE2014數(shù)據(jù)集進(jìn)行訓(xùn)練和測試,證明基于情感詞向量的動態(tài)多池卷積神經(jīng)網(wǎng)絡(luò)模型比傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)模型能更準(zhǔn)確地完成情感轉(zhuǎn)折句式的情感分析任務(wù)。本模型在真實的數(shù)據(jù)上進(jìn)行實驗,因而具有普遍的實用性。但微博中的網(wǎng)絡(luò)用語更新速度快,詞語的情感屬性依賴于情感詞典,因此研究情感詞典的擴(kuò)展方法,進(jìn)行情感詞向量訓(xùn)練將成為以后的一個方向。