馮 多 林 政 付 鵬 王偉平
1(中國科學(xué)院大學(xué) 北京 100049)2(中國科學(xué)院信息工程研究所 北京 100093)
基于卷積神經(jīng)網(wǎng)絡(luò)的中文微博情感分類
馮 多1,2林 政2付 鵬1,2王偉平2
1(中國科學(xué)院大學(xué) 北京 100049)2(中國科學(xué)院信息工程研究所 北京 100093)
微博是互聯(lián)網(wǎng)輿論演化的重要平臺,對微博進行情感分析,有助于及時掌握社會熱點和輿論動態(tài)。由于微博數(shù)據(jù)內(nèi)容簡短、特征稀疏、富含新詞等特征,微博情感分類依然是一個較難的任務(wù)。傳統(tǒng)的文本情感分類方法主要基于情感詞典或者機器學(xué)習等,但這些方法存在數(shù)據(jù)稀疏的問題,而且忽略了詞的語義、語序等信息。為了解決上述問題,提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的中文微博情感分類模型CNNSC,實驗表明相比目前的主流方法,CNNSC的準確率提高了3.4%。
情感分類 卷積神經(jīng)網(wǎng)絡(luò) 微博分類
情感分類是一種重要的信息組織方式,研究的是自動挖掘和分析文本中的觀點、看法、情緒和喜惡等主觀信息的方法。在商業(yè)領(lǐng)域,情感分類可用于產(chǎn)品評論挖掘,幫助消費者做出購買決定,幫助生產(chǎn)者獲得產(chǎn)品和服務(wù)的改進意見;在文化領(lǐng)域,情感分類可以實現(xiàn)影評、書評等資源的自動分類,便于用戶快速瀏覽各方的評論意見,減少觀影或者閱讀時的盲目性;從社會管理者的角度出發(fā),情感分類能夠幫助管理者更加及時地了解公眾對各類管理措施或熱點話題的反饋意見,從而作出相應(yīng)處置,妥善、積極地應(yīng)對網(wǎng)絡(luò)輿情,對于準確把握社會脈絡(luò),建設(shè)和諧社會有著重要意義。
情感分類研究具有廣泛的應(yīng)用前景,受到了學(xué)術(shù)界和工業(yè)界的普遍關(guān)注。目前,情感分類研究取得了很大的進步。傳統(tǒng)的情感分類方法大多數(shù)是基于長文本,大致可以分為有監(jiān)督的機器學(xué)習方法和無監(jiān)督的情感詞典方法。然而,中文微博是一種誕生于社交場景的短文本,具有數(shù)據(jù)量大、內(nèi)容簡略、特征稀疏、富含新詞、信息混雜等特征,這使得以往的情感分類方法在處理短文本時,難以保證其分析效果?;跈C器學(xué)習的方法受限于稀疏的特征表達,每一個特征都用一個高維的稀疏向量進行表達,難以判別語義相似的特征;基于詞典的方法受限于人工構(gòu)建情感詞典的代價和成本,網(wǎng)絡(luò)新詞層出不窮需要不斷更新詞典,除此之外,基于詞典的方法沒有考慮情感詞的上下文信息。
為了解決上述困難問題,本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的中文微博情感分類模型CNNSC。卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種特殊的人工神經(jīng)網(wǎng)絡(luò),在圖像識別領(lǐng)域表現(xiàn)出卓越的效果。CNN的卷積與池化操作可以自動抽取良好的特征表達,參數(shù)共享機制極大降低了模型的訓(xùn)練時間。本文將其引入中文微博的情感分類,不僅可以解決傳統(tǒng)詞袋模型的數(shù)據(jù)稀疏問題,還進一步考慮了詞匯的語義信息以及詞匯之間的語序信息。實驗結(jié)果表明,相比主流方法,本文提出的CNNSC模型提高了中文微博情感分類的正確率。此外,本文還針對中文的特殊性,研究了字、詞等不同的語義單元對CNNSC分類效果的影響。
1.1 情感分類研究
以學(xué)習方法為標準,可以將情感分類分為有監(jiān)督式、無監(jiān)督式及半監(jiān)督式的研究方法。
有監(jiān)督式主要采用機器學(xué)習方法實現(xiàn)情感分類。Pang等[1]通過樸素貝葉斯、最大熵及支持向量機(SVM)方法分別對影評數(shù)據(jù)進行情感分類,取得了不錯的效果。Ye等[2]將有監(jiān)督的情感分類方法應(yīng)用到在線游記上,提高了搜索引擎返回游記的準確率和召回率。無監(jiān)督式方法的數(shù)據(jù)集沒有任何標注信息,主要通過先驗知識進行情感分類。Turney[3]提出了結(jié)合詞性和語法結(jié)構(gòu)的情感分類方法,主要應(yīng)用在評論數(shù)據(jù)集上。Zagibalov 等[4]通過自動選取種子詞實現(xiàn)了一種無監(jiān)督的情感分類方法,并將其應(yīng)用在中文產(chǎn)品評論數(shù)據(jù)集上。
半監(jiān)督式方法適用于僅有少量標注的數(shù)據(jù)集。Dasgupta等[8]首先通過譜分析技術(shù)挖掘出態(tài)度明確無歧義的評論,然后在此基礎(chǔ)上結(jié)合主動學(xué)習、直推式學(xué)習等方法對有歧義的評論進行分類。Li等[7]提出的半監(jiān)督情感分類模型充分考慮了數(shù)據(jù)集中各個主題標注數(shù)不平衡的問題。
1.2 短文本情感分類研究
相對長文本而言,短文本通常僅包含一個或幾個句子,常見的短文本包括手機短信、聊天記錄、商品短評及微博等。研究短文本的情感分類方法時,考慮到短文本的特征向量稀疏、信息混雜、富含新詞等特征帶來的問題,已有研究工作主要從下述的幾個方面著手。
降低短文本特征向量的維度。單條短文本篇幅很短,但短文本數(shù)量大,且包含了豐富的口語詞匯,因此短文本數(shù)據(jù)集的特征空間維度極大,而特征向量又十分稀疏,帶來了極大的不確定性。通過如信息增益[9]、互信息[10]、隱語義索引[11]等特征選擇方法可以降低特征向量的維度,缺點是這些降維方法需要計算維度巨大的矩陣的特征向量或者進行頻繁的迭代分析,時間和空間復(fù)雜度都很高。
對由特征向量構(gòu)成的短文本特征矩陣進行擴充。這種思路是為了降低特征向量的稀疏性,從而減小對短文本處理的不確定性。Tan等[6]將用戶的社交信息融合到半監(jiān)督式方法中,提高了短文本情感分類的準確率。Wang等[12]通過聚類方法獲取短文本的上下文對其進行擴充。
將主題信息融合到對短文本的情感分類中。一種方法是首先對短文本進行主題劃分,為每個主題構(gòu)建特征空間。楊震等[13]首先對短文本進行主題劃分,然后對短文本按其所屬主題進行相關(guān)的內(nèi)容擴充。另一種方法是將主題信息融合到特征向量中,Liu等[26]提出了三種將主題信息融合到特征向量的思路,實驗結(jié)果表明將主題也作為特征參與進行訓(xùn)練的方法最優(yōu)。
通過對短文本特征進行再劃分,以減少新詞的影響。Socher等[5]將句子中的詞語兩兩合并,遞歸構(gòu)建短語樹,使用短語節(jié)點特征判斷句子情感類別。另一方面,已有一些網(wǎng)絡(luò)新詞挖掘的研究工作[14-15],結(jié)合新詞不斷更新詞典,可以提高短文本情感分類的準確率。
1.3 基于深度學(xué)習的情感分類研究
近幾年來,以人工神經(jīng)網(wǎng)絡(luò)為主的深度學(xué)習方法迅猛發(fā)展,為情感分類提供了新的思路。Glorot等[16]使用深度學(xué)習方法學(xué)習提取更具解釋性的文本表達,并將其應(yīng)用在大規(guī)模在線評論的情感分類中,準確率相比主流方法得到了提高。Zhou等[17]將深度置信網(wǎng)絡(luò)應(yīng)用到半監(jiān)督式的情感分類方法中,首先利用深度置信網(wǎng)絡(luò)學(xué)習未標注的數(shù)據(jù)的類別,再通過監(jiān)督式方法對文本進行情感分類。Kim[19]將CNN應(yīng)用到文本分類中的思想,實現(xiàn)了基于CNN的文本分類模型,實驗結(jié)果表明基于CNN的文本分類方法相比當時最優(yōu)的方法準確率更高。Johnson等[20]及Zhang等[21]對基于CNN的文本分類方法進行了特殊場景下的改良。
目前尚未出現(xiàn)基于CNN的中文微博情感分類相關(guān)研究工作,本文參考Kim[19]提出的模型,提出了基于CNN的中文微博(以下簡稱微博)的情感分類模型CNNSC。其中,引入CNN以充分考慮文本的語序信息,并自動提取特征。為了進一步提高CNNSC的分類準確率,引入了word2vec詞表達訓(xùn)練模型,該模型充分考慮了語義信息。相比隨機初始化的詞表達,引入word2vec的CNNSC分類準確率更高。
另一方面,除了詞語,中文的漢字本身具有豐富的語義信息,漢字也可以作為微博的語義單元。因此,本文研究了不同的語義單元對CNNSC準確率的影響。
2.1 CNN
CNN模型是一種特殊的人工神經(jīng)網(wǎng)絡(luò)(ANN)。ANN是一種模擬生物神經(jīng)網(wǎng)絡(luò)的計算模型,ANN由大量神經(jīng)元和神經(jīng)元之間的相互連接構(gòu)成[23]。每個神經(jīng)元代表一種特定的非線性輸出函數(shù),稱為“激勵函數(shù)”,信號通過神經(jīng)元時產(chǎn)生非線性變換。每兩個神經(jīng)元之間的連接代表一個通過該連接信號的權(quán)重值。ANN每一層的神經(jīng)元之間沒有連接,相鄰層之間的神經(jīng)元全連接,即當前層的神經(jīng)元接收到的信息與上一層所有的神經(jīng)元均有關(guān)聯(lián)。ANN通過有監(jiān)督式或無監(jiān)督式方法自動學(xué)習特征,無需人工進行特征劃分。
CNN受啟發(fā)于生物學(xué)中的視覺系統(tǒng)結(jié)構(gòu),視覺皮層的神經(jīng)元是局部接受信息的,即這些神經(jīng)元只響應(yīng)某些特定區(qū)域的刺激?;谶@種思路,在CNN中,相鄰層之間的神經(jīng)元并不像普遍ANN那樣全連接,而是部分連接,這一特征減小了反映網(wǎng)絡(luò)各層之間連接的權(quán)重轉(zhuǎn)移矩陣的規(guī)模。同時,CNN具有權(quán)重共享特征[24],即當前層的每個神經(jīng)元獲取到的信息,由同一個權(quán)重矩陣——卷積核與上一層同樣大小的子矩陣進行計算而來。權(quán)重共享特征進一步減小了權(quán)重轉(zhuǎn)移矩陣的大小,大大縮短了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時間。
典型的CNN包含若干個卷積層和池化層,如圖1所示為用于圖片特征提取的CNN示意圖。其中,卷積層的神經(jīng)元共享卷積核Ca×b,卷積層的特征矩陣S(m-a+1)×(n-b+1)的神經(jīng)元s11是通過輸入Pm×n的子矩陣P1…a,1…b與C進行卷積操作而來。像這樣,將C在P上向右向下滾動,分別與P的(m-a+1)×(n-b+1)個a×b維子矩陣進行卷積操作,就得到了特征矩陣S。整個過程P的子矩陣均是與同一個卷積核進行運算,實際上是一個特征泛化的過程。接著,CNN的池化層進一步將特征泛化。池化層對S的固定大小的子區(qū)域中的特征值進行例如取最大值、平均值等相同的運算。
圖1 典型CNN結(jié)構(gòu)圖
CNN中可以包含多個卷積層和池化層,根據(jù)需求對原始特征矩陣進行充分的泛化,最后將泛化后的特征根據(jù)具體的應(yīng)用場景進行處理。
2.2word2vec
以往的詞表達均采用one-hotrepresentation,就是用一個很長的向量來表示一個詞,向量的維度為詞典D的大小,向量只有某一個維度值為1,其余維的值均為0,1的位置對應(yīng)該詞在D中的索引。但是這種詞向量表達容易造成維數(shù)災(zāi)難,不能很好地刻畫詞與詞之間的相似性。
另一種詞表達是由Hinton[25]提出的distributedrepresentation,它可以克服one-hotrepresentation的缺點。其基本思想是:通過語言模型的訓(xùn)練,將某種語言中的每一個詞映射成一個固定長度的短向量(這里的“短”是相對于one-hotrepresentation的“長”而言),所有這些向量構(gòu)成一個詞向量空間,將每個向量視作空間中的一個點,語法、語義上相似的詞距離也相近。word2vec采用的就是distributedrepresentation。
word2vec是由Mikolov等[18]提出的一種用來訓(xùn)練詞表達的淺層神經(jīng)網(wǎng)絡(luò)模型。word2vec中提出了cbow和skip-gram兩種方法,前者通過上下文的詞表達來訓(xùn)練當前詞表達,后者反之,給定詞表達,預(yù)測該詞的上下文的概率。word2vec模型訓(xùn)練得到的詞表達充分考慮了詞的語義信息,表現(xiàn)為語義相近的詞其詞表達距離更小,以及反映了一詞多義的情況。本文將word2vec模型進行了修改,使之適用于中文語料,以獲取微博的詞表達。
CNNSC模型是在CNN模型的基礎(chǔ)上構(gòu)造而來,圖2為CNNSC的結(jié)構(gòu)圖。CNNSC包括了輸入層、卷積層、池化層和輸出層。
圖2 CNNSC結(jié)構(gòu)圖
3.1 微博特征矩陣
CNNSC首先從微博訓(xùn)練集中提取出每條微博的的特征矩陣。具體來說,先將微博集中的每條微博T進行分詞。在對整個微博集進行分詞的同時,CNNSC建立了微博集的詞典D,并將D中的所有詞的詞表達初始化,補充到D中。CNNSC提供了隨機初始化及通過word2vec模型初始化兩種方法,其中引入word2vec模型可以充分考慮詞的語義信息。接著,將T作為分詞工具的輸入,輸出的T被分為d個詞語w1,w2,…,wd,將T表示為:
T:{w1,w2,…,wd}
(1)
從D中獲取T的每個詞語wi的詞表達,將wi表示為Rv×1空間中的向量wi:
wi=(mi1,mi2,…,miv)i∈[1,d]
(2)
T的矩陣表示即是將T中所有詞語的詞表達按照詞序列從上至下排列起來:
w1:d=w1⊕w2⊕…⊕wd
(3)
這樣,微博T被轉(zhuǎn)換為Rd×v特征空間的矩陣:
(4)
CNNSC將T的特征矩陣作為CNN的輸入,然后通過CNN的卷積層、池化層進行特征提取,獲取微博的句子表達。
3.2 卷積層
CNN應(yīng)用在圖像識別中時,一般情況下,在卷積層的操作中,卷積核在像素矩陣的行列兩個方向都發(fā)生移動,正如在第2部分中的CNN示例。將CNN應(yīng)用到微博分類中時,以前述T的特征矩陣作為輸入,卷積核在行方向的移動不具有解釋性,因此CNNSC的卷積核與句子表達的行向量維數(shù)一致。在這里,輸入到CNN中的句子表達矩陣,在列方向上保留了文本的語序信息,卷積核在列方向上的移動可以獲取到原文本的固有特征,該特征的大小也是由原文本的語法特征決定的,無需人工干預(yù)。這樣,CNNSC實現(xiàn)了微博特征自動提取。
CNNSC在卷積層中設(shè)置了m個卷積核C1,C2,…,Cm。設(shè)置多個卷積核是為了能夠更加全面地獲取到微博句子表達中的特征,降低特征提取過程的偶然性。其中任意卷積核C∈Rk×v:
(5)
卷積層的操作是將微博的特征矩陣T的從上至下d-k+1個子矩陣Tp∈Rk×v,p∈[1,d-k+1],如下所示,分別與C進行(*)運算。
(6)
(*)運算的定義為:
(7)
其中biasij是偏置矩陣BIAS的一個分量,即對權(quán)重矩陣進行調(diào)整的偏差值。sigmod是激勵函數(shù),用來將特征值進行歸一化。這樣,微博T的句子表達與任意一個卷積核C均行了d-k+1次(*)運算,將每次(*)運算的輸出依次排列,得到卷積矩陣S∈R(d-k+1)×1。同樣地,將T與剩余m-1個卷積核進行卷積操作,得到了該條微博的所有卷積層輸出S1,S2,…,Sm,傳入到CNN的池化層中。
CNN的卷積層實際上是一個特征抽取的過程。一個卷積核抽取一種特征,得到一個特征矩陣。CNN在抽取某一種特征時,通過相同的卷積核對原始輸入的不同區(qū)域進行相同的信息轉(zhuǎn)換,將局部的特征泛化,而保留了整體的特征。這樣微博中原始的最能代表微博情感傾向性的語義和語序特征得以保留。
3.3 池化層
微博T的句子表達經(jīng)由m個卷積核進行卷積操作后,從卷積層傳遞了m個R(d-k+1)×1空間的矩陣表達的特征。池化層將這些特征進一步聚合,簡化特征的表達。在池化層定義了池化運算:
pooling(S(d-k+1)×1)=α(s1,s2,…,sd-k+1)
(8)
其中α算子是可選的,常見的為最大化算子、最小化算子、平均值算子及高斯化算子。在最大化算子的基礎(chǔ)上,文獻[6]采用了k最大化算子,即取S各維中最大的k維。一般而言,α算子需要通過對比實驗,為當前的應(yīng)用場景選擇最為合適的。CNNSC提供了可選的多種算子,第4部分的實驗展示了不同的池化方法對CNNSC分類性能的影響。
池化操作將每個卷積矩陣轉(zhuǎn)換為一個一維特征值,這樣得到了一個Rm×1空間的特征向量P:
P=(p1,p2,…,pm)
(9)
CNN的卷積層和池化層分別通過卷積操作和池化操作對微博T的句子表達進行了特征提取,得到泛化后的特征向量P。接著CNNSC將該特征向量傳遞到分類器中,計算微博T所屬的情感類別。
3.4 情感分類
CNNSC一開始將微博T轉(zhuǎn)換為特征矩陣,然后將該矩陣傳入到CNN中,提取到T的特征向量P。在CNN之后通過全連接方式連接了一層分類器,如圖3所示。
圖3 CNNSC的分類器示意圖
池化層傳遞過來的特征向量P即為微博T的句子表達。神經(jīng)元L即為CNN的分類器。文獻[21,24]的模型在池化層后連接了softmax分類器,分別計算微博T屬于各種情感極性的概率來確定其情感類別。根據(jù)具體需求及語料集的標注條件,已有情感極性分類工作主要包括正向、負向二分類及正向、中性、負向三分類兩種做法。結(jié)合爬取到的中文微博語料集,本文采取了正向、負向二分類的做法。這樣,CNNSC面向的是微博的情感極性二分類問題,分類器的激勵函數(shù)采用了sigmod函數(shù),將池化后的向量P轉(zhuǎn)換為一維數(shù)值,通過設(shè)置閾值θ確定微博的情感類別,如式(10)所示:
(10)
這樣,CNNSC通過將每條微博轉(zhuǎn)換為特征空間的句子表達,然后通過CNN的卷積和池化操作進行特征提取及泛化,最后通過分類器獲得了微博的情感分類。
3.5 模型訓(xùn)練
CNNSC采用了后向傳播算法來訓(xùn)練參數(shù)值。后向傳播算法(BP算法)的核心思想,就是通過輸出結(jié)果和期望輸出之間的誤差來調(diào)整各層之間的轉(zhuǎn)移矩陣的權(quán)重值。BP算法是ANN中用來訓(xùn)練網(wǎng)絡(luò)最常用的算法,而將其應(yīng)用在CNN中時,需要做一些修改。這里結(jié)合前面使用到的符號,說明CNNSC中BP算法的過程。首先,將CNNSC輸出值與期望值之間的誤差E定義如下:
(11)
這里的Y和O均為一維數(shù)值。進一步將上式展開到池化層:
(12)
其中fs為分類器采用的激勵函數(shù),fp為池化層的激勵函數(shù),CNNSC支持取最大值或取平均值,池化層的輸入為m個R(d-k+1)×1空間的向量。進一步,將上式展開到卷積層:
(13)
其中st的展開式為:
(14)
可以發(fā)現(xiàn),網(wǎng)絡(luò)的誤差E為卷積核C與偏置矩陣B的函數(shù),因此調(diào)整C與BIAS的分量值會使誤差發(fā)生改變。CNNSC的訓(xùn)練原則就是調(diào)整權(quán)值與偏差值使E不斷減小。具體的求解方法是,分別求E對cij、biasij的偏導(dǎo)數(shù),如下所示為E對cij的偏導(dǎo)數(shù)計算過程:
(15)
然后,可得cij的下降梯度為:
(16)
同樣地可以對biasij的偏導(dǎo)數(shù)和下降梯度求解。然后通過梯度下降法訓(xùn)練得到CNNSC的最優(yōu)卷積核及偏置矩陣,從而實現(xiàn)基于CNN的面向微博的情感分類模型。
為了驗證本文所提CNNSC模型的有效性,一共進行了四組實驗。下面首先介紹實驗設(shè)置,然后分別介紹四組實驗?zāi)康募皩嶒灲Y(jié)果,并對實驗結(jié)果進行分析。
4.1 實驗設(shè)置
本文爬取了來自新浪微博的約十萬條中文微博。在對其進行去重,人工標注后,最終保留了47 374條微博,其中包括35 164條正向微博及12 210條負向微博。下面的幾組實驗均采用了交叉驗證的方法,從數(shù)據(jù)集中隨機抽取語料集中的1/10作為測試集,剩下的作為訓(xùn)練集。
在第二組實驗中涉及到的參數(shù)的默認值分別為:梯度下降學(xué)習率(adaAlpha)為0.01,默認的池化算子(pooling)為取平均值算子,卷積核列向量維度(filterSize)分別為3、4、5,每種卷積核的個數(shù)(filterNumber)300,CNNSC設(shè)置了多個卷積通道——即多種大小不同的卷積核,可以進一步減少特征提取的偶然性。微博的詞表達由word2vec對微博訓(xùn)練集訓(xùn)練獲取,詞向量維數(shù)為100,每次迭代從訓(xùn)練集中隨機選取50條微博。對CNNSC進行的每次實驗進行了多次迭代,達到收斂條件時迭代停止,并返回迭代過程中出現(xiàn)的最高準確率。
在對比實驗中,本文選取了基于情感詞典的無監(jiān)督方法及樸素貝葉斯、最大熵、支持向量機三種基于機器學(xué)習的有監(jiān)督方法作為baseline。實驗的評價標準為微博情感分類的準確率,計算公式為:
(17)其中TP、FP、TN、FN分別代表正確分類的正向微博、錯誤分類的正向微博、正確分類的負向微博及錯誤分類的負向微博,該公式中的分母即為測試集的所有微博數(shù)。
4.2 實驗結(jié)果
(1) 第一組實驗將CNNSC與其他方法進行面向微博的情感分類準確率的比較。對每種方法進行了10次測試,每次隨機抽取微博語料集中的1/10作為測試集,剩下的則為訓(xùn)練集,然后取10次測試的分類準確率的平均值作為該方法的準確率,結(jié)果如表1所示。
表1 面向微博的情感分類準確率
實驗結(jié)果表明CNNSC相比基于情感詞典和基于機器學(xué)習方法,其準確率更高?;谇楦性~典的方法準確率僅為76.6%,這是由于每條微博的篇幅有限,其中包含的情感詞較少,加上微博的口語化及富含新詞的特征,基于情感詞典的方法在微博上的情感分類表現(xiàn)并不突出。三種機器學(xué)習方法的準確率相差不大,均優(yōu)于情感詞典方法。其中SVM方法的準確率達到了88.2%,SVM十分適用于二分類問題,它將微博情感分類問題視作普通的文本分類問題,但未能充分考慮微博的語義及語序信息。SVM方法將分詞結(jié)果作為微博特征,CNNSC在微博分詞后的特征矩陣基礎(chǔ)上更進一步,自動學(xué)習微博的特征表達。CNNSC的準確率比SVM方法高出3.4%,表明引入CNN提取微博特征可以提高情感分類準確率。
(2) 第二組實驗展示的是CNNSC在不同的參數(shù)設(shè)置下的分類準確率。本組實驗涉及到四個參數(shù)的調(diào)優(yōu)。
表2顯示了不同的學(xué)習率對CNNSC性能的影響,圖4更直觀地反映了實驗結(jié)果。在梯度下降算法中,若學(xué)習率設(shè)置過小,則算法收斂很慢;若學(xué)習率設(shè)置過大,則會導(dǎo)致代價函數(shù)震蕩。從表2可以看出,學(xué)習率在0.01時,CNNSC準確率達到峰值;學(xué)習率再增大時,正確率反而降低了。在接下來的實驗中,我們經(jīng)驗地將學(xué)習率設(shè)置為0.01。
表2 學(xué)習率對CNNSC準確率的影響
圖4 學(xué)習率對CNNSC準確率的影響
表3及圖5顯示了不同的卷積核數(shù)對CNNSC性能的影響。實驗結(jié)果表明,CNNSC的準確率隨著卷積核數(shù)的遞增呈現(xiàn)波動變化,當卷積核數(shù)大于200時,CNNSC準確率在0.4%范圍內(nèi)波動。當卷積核數(shù)取值為300時,準確率達到最大值,因此在接下來的實驗中將卷積核數(shù)經(jīng)驗地設(shè)置為300。
表3 卷積核數(shù)對CNNSC準確率的影響
圖5 卷積核數(shù)對CNNSC準確率的影響
表4顯示在不同大小的卷積核下CNNSC準確率的變化。實驗結(jié)果表明卷積核大小對CNNSC準確率影響較小,在0.6%內(nèi)波動。本文根據(jù)實驗結(jié)果,將卷積核大小經(jīng)驗地設(shè)置為3、4、5。
表4 卷積核大小對CNNSC準確率的影響
表5顯示采用不同的池化算子對CNNSC準確率的影響。三組對比測試結(jié)果表明,取平均值池化算子相比取最大值算子更適用于中文微博的情感分類。
表5 池化算子對CNNSC準確率的影響
第二組實驗結(jié)果顯示對于每個參數(shù)的波動,CNNSC準確率變化均在1%之內(nèi),且與參數(shù)值的變化之間呈非線性關(guān)系。整個調(diào)優(yōu)過程的準確率最低值為90.6%,高于基于SVM的情感分類方法2.4%,這說明CNNSC將CNN引入到中文微博的情感分類問題中來是行之有效的。
(3) 第三組實驗是為了研究詞表達對CNNSC分類準確率的影響。本組實驗測試了CNNSC在六種不同的詞表達下的情感分類準確率,涉及到隨機初始化的詞表達與通過word2vec訓(xùn)練所得詞表達,word2vec分別由中文維基百科及微博訓(xùn)練集訓(xùn)練得到的詞表達,以及不同維度的詞詞表達,如表6所示。實驗的其他設(shè)置為:學(xué)習率0.01,卷積核列向量大小分別為3、4、5,卷積核數(shù)為300,池化算子為取平均值算子。
表6 不同詞表達下CNNSC分類準確率
首先,將隨機初始化的詞表達作為CNNSC的輸入,準確率相比基于SVM的情感分類方法高出2.4%,這充分證明了本文引入CNN對中文微博進行分類的思路是正確的。其次,由word2vec模型訓(xùn)練得到的詞表達,相對隨機初始化的詞表達,提高了CNNSC的分類準確率。再次,word2vec以微博訓(xùn)練集本身訓(xùn)練所得詞表達,相比中文維基百科,將準確率提升了0.3%。最后,詞表達的維度對準確率的影響有限,在隨機初始化時100維詞表達的準確率低于50維詞表達,而由word2vec在微博訓(xùn)練集上訓(xùn)練所得的100維詞表達使準確率提升了0.1%,與經(jīng)驗值符合。這組實驗結(jié)果表明,不同詞表達會造成CNNSC的分類準確率有所變化,引入word2vec模型使準確率提升了1.0%。
(4) 第四組實驗研究不同語義單元對CNNSC分類準確率的影響,即漢字和詞語分別作為語義單元,通過隨機初始化或wordvec訓(xùn)練獲取語義單元的詞表達,最后傳給CNNSC進行情感分類。本組實驗的參數(shù)設(shè)置與第三組實驗一致,除了word2vec的語料集僅采用了微博訓(xùn)練集,實驗結(jié)果如表7所示。
表7 不同語義單元下CNNSC分類準確率
本組實驗一共進行了四次對比實驗,目的是為了減少結(jié)果的偶然性。這四次對比結(jié)果顯示,以漢字作為語義單元,相比詞語作為語義單元,CNNSC的準確率均有所下降,平均下降了2.3%。這表明將漢字作為微博的語義單元仍然損失了部分語義信息,并不適用于單獨作為中文微博的語義單元。
本文提出了一種基于CNN的中文微博情感分類模型CNNSC,該模型充分考慮了中文微博內(nèi)容簡短、特征稀疏及富含新詞等特征,實驗表明相比目前情感分類的主流方法,CNNSC在中文微博上的情感分類準確率提高了3.4%。為了進一步提高CNNSC準確率,本文引入了充分考慮微博語義信息的word2vec模型,對微博詞表達進行初始化。另一方面,考慮到中文的特殊性,本文探究了不同語義單元對CNNSC準確率的影響。實驗結(jié)果表明僅以漢字作為中文微博的語義單元會出現(xiàn)語義損失,使CNNSC準確率有所降低。未來的工作可以研究將漢字表達作為詞表達的輔助信息能否提高CNNSC準確率。此外,CNNSC對卷積核進行隨機初始化,通過改進對卷積核的初始化方法來提高CNNSC的準確率也是未來的研究點之一。
[1] Pang B,Lee L,Vaithyanathan S.Thumbs up?:sentiment classification using machine learning technique[C]//Proceedings of the ACL-02 Conference on Empirical Methods in Natural Language Processing,2002,10:79-86.
[2] Ye Q,Zhang Z,Law R.Sentiment classification of online reviews to travel destinations by supervised machine learning approaches[J].Expert Systems with Applications,2009,36(3):6527-6535.
[3] Turney P D.Thumbs up or thumbs down?:semantic orientation applied to unsupervised classification of reviews[C]//Proceedings of the 40th Annual Meeting on Association for Computational Linguistics,2002:417-424.
[4] Zagibalov T,Carroll J.Automatic seed word selection for unsupervised sentiment classification of Chinese text[C]//Proceedings of the 22nd International Conference on Computational Linguistics,2008,1:1073-1080.
[5] Socher R,Pennington J,Huang E H,et al.Semi-supervised recursive autoencoders for predicting sentiment distributions[C]//Proceedings of the Conference on Empirical Methods in Natural Language Processing,2011:151-161.
[6] Tan C,Lee L,Tang J,et al.User-level sentiment analysis incorporating social networks[C]//Proceedings of the 17th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,2011:1397-1405.
[7] Li S,Wang Z,Zhou G,et al.Semi-supervised learning for imbalanced sentiment classification[C]//Proceedings of the 22ndInternational Joint Conference on Artificial Intelligence,2011:1826-1831.
[8] Dasgupta S,Ng V.Mine the easy,classify the hard:a semi-supervised approach to automatic sentiment classification[C]//Proceedings of the Joint Conference of the 47thAnnual Meeting of the ACL and the 4thInternational Joint Conference on Natural Language Processing of the AFNLP,2009,2:701-709.
[9] Mitchell T M.Machine learning and data mining over the past[J].Communications of the ACM,1999,42(11):30-36.
[10] Wiener E,Pedersen J O,Weigend A S.A neural network approach to topic spotting[C]//Proceedings of the 4th Annual Symposium on Document Analysis and Information Retrieval,1995:317-332.
[11] Chen L,Tokuda N,Nagai A.A new differential LSI space-based probabilistic document classifier[J].Information Processing Letters,2003,88(5):203-212.
[12] Wang L,Jia Y,Han W.Instant message clustering based on extended vector space model[C]//Proceedings of the 2nd International Conference on Advances in Computation and Intelligence.Springer,2007:435-443.
[13] 楊震,賴英旭,段立娟,等.基于上下文重構(gòu)的短文本情感極性判別研究[J].自動化學(xué)報,2012,38(1):55-67.
[14] Liu Z,Zheng Y,Xie L,et al.User Behaviors in Related Word Retrieval and New Word Detection: A Collaborative Perspective[J].ACM Transactions on Asian Language Information Processing,2011,10(4):1-26.
[15] Sun X,Wang H,Li W.Fast online training with frequency-adaptive learning rates for Chinese word segmentation and new word detection[C]//Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics:Long Papers,2012,1:253-262.
[16] Glorot X,Bordes A,Bengio Y.Domain adaptation for large-scale sentiment classification:A deep learning approach[C]//Proceedings of the 28th International Conference on Machine Learning,2011:513-520.
[17] Zhou S,Chen Q,Wang X.Active deep networks for semi-supervised sentiment classification[C]//Proceedings of the 23rd International Conference on Computational Linguistics:Posters,2010:1515-1523.
[18] Mikolov T,Chen K,Corrado G,et al.Efficient estimation of word representations in vector space[DB/OL].http://arxiv.org/abs/1301.3781.
[19] Kim Y.Convolutional neural networks for sentence classification[DB/OL].http://arxiv.org/abs/1408.5882.
[20] Johnson R,Zhang T.Effective use of word order for text categorization with convolutional neural networks[DB/OL].http://arxiv.org/abs/1412.1058.
[21] Zhang X,Zhao J,LeCun Y.Character-level convolutional networks for text classification[C]//Proceedings of the 28thInternational Conference on Neural Information Processing Systems,2015:649-657.
[22] Severyn A,Moschitti A.Twitter sentiment analysis with deep convolutional neural networks[C]//Proceedings of the 38th International ACM SIGIR Conference on Research and Development in Information Retrieval,2015:959-962.
[23] Yegnanarayana B.Artificial neural networks[M].New Delhi,India:Prentice-Hall,2009.
[24] Krizhevsky A,Sutskever I,Hinton G E.Imagenet classification with deep convolutional neural networks[C]//Advances in Neural Information Processing Systems 25,2012:1106-1114.
[25] Hinton G E.Distributed representations[M].Cambridge,Mass,USA:MIT Press,1986.
[26] Liu Y,Liu Z,Chua T S,et al.Topical Word Embeddings[C]//Proceedings of the 29th AAAI Conference on Artificial Intelligence,2015:2418-2424.
CHINESE MICRO-BLOG EMOTION CLASSIFICATION BASED ON CNN
Feng Duo1,2Lin Zheng2Fu Peng1,2Wang Weiping2
1(UniversityofChineseAcademyofSciences,Beijing100049,China)2(InstituteofInformationEngineering,ChineseAcademyofSciences,Beijing100093,China)
Microblogging is an important platform for the evolution of Internet media, microblogging emotional analysis, help to grasp the social hot spots and public opinion. As the content of Micro-blog short, sparse features, rich in new words and other features, Micro-blog emotional classification is still a difficult task. Traditional text emotion classification methods are mainly based on emotional dictionary or machine learning, but these methods have sparse data, and ignore the semantic, word order and other information. In order to solve the above problem, this paper proposes a Chinese microblogging emotion classification model based on CNN. The experiment shows that the accuracy of the model is improved by 3.4% compared with the current mainstream method.
Emotion classification Convolutional neural network Micro-blog classification
2016-01-25。國家自然科學(xué)基金項目(61502478);國家核高基項目(2013ZX01039-002-001-001);國家高技術(shù)研究發(fā)展計劃項目(2013AA013204)。馮多,碩士生,主研領(lǐng)域:情感分析,大數(shù)據(jù)處理。林政,博士。付鵬,博士生。王偉平,研究員。
TP3
A
10.3969/j.issn.1000-386x.2017.04.027