陳鄭淏 馮翱 何嘉
摘 要:針對(duì)情感分類中傳統(tǒng)二維卷積模型對(duì)特征語(yǔ)義信息的損耗以及時(shí)序特征表達(dá)能力匱乏的問題,提出了一種基于一維卷積神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的混合模型。首先,使用一維卷積替換二維卷積以保留更豐富的局部語(yǔ)義特征;再由池化層降維后進(jìn)入循環(huán)神經(jīng)網(wǎng)絡(luò)層,整合特征之間的時(shí)序關(guān)系;最后,經(jīng)過softmax層實(shí)現(xiàn)情感分類。在多個(gè)標(biāo)準(zhǔn)英文數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,所提模型在SST和MR數(shù)據(jù)集上的分類準(zhǔn)確率與傳統(tǒng)統(tǒng)計(jì)方法和端到端深度學(xué)習(xí)方法相比有1至3個(gè)百分點(diǎn)的提升,而對(duì)網(wǎng)絡(luò)各組成部分的分析驗(yàn)證了一維卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)的引入有助于提升分類準(zhǔn)確率。
關(guān)鍵詞:情感分類;卷積神經(jīng)網(wǎng)絡(luò);循環(huán)神經(jīng)網(wǎng)絡(luò);詞向量;深度學(xué)習(xí)
Abstract:Traditional 2D convolutional models suffer from loss of semantic information and lack of sequential feature expression ability in sentiment classification. Aiming at these problems, a hybrid model based on 1D Convolutional Neural Network (CNN) and Recurrent Neural Network (RNN) was proposed. Firstly, 2D convolution was replaced by 1D convolution to retain richer local semantic features. Then, a pooling layer was used to reduce data dimension and the output was put into the recurrent neural network layer to extract sequential information between the features. Finally, softmax layer was used to realize the sentiment classification. The experimental results on multiple standard English datasets show that the proposed model has 1-3 percentage points improvement in classification accuracy compared with traditional statistical method and end-to-end deep learning method. Analysis of each component of network verifies the value of introduction of 1D convolution and recurrent neural network for better classification accuracy.
Key words: sentiment classification; Convolutional Neural Network (CNN); Recurrent Neural Network (RNN); word embedding中文關(guān)鍵詞為詞矢量,此處是否應(yīng)該為word vector?請(qǐng)明確。回復(fù):詞向量是word embedding的常用翻譯,可不做修改; deep learning
0 引言
隨著互聯(lián)網(wǎng)和社交媒體的蓬勃發(fā)展,網(wǎng)絡(luò)用戶不再局限于瀏覽信息,更多的人開始表達(dá)自己的觀點(diǎn),分享知識(shí)并創(chuàng)作內(nèi)容?;ヂ?lián)網(wǎng)中出現(xiàn)了大量用戶產(chǎn)生的信息,例如對(duì)熱點(diǎn)新聞事件的討論、對(duì)特定商品的評(píng)價(jià)、對(duì)電影的評(píng)分等,這些評(píng)論信息都包含了各種復(fù)雜的情感色彩或情感傾向,如贊同、否定和喜怒哀樂等,企業(yè)、機(jī)構(gòu)或個(gè)人希望整合這些帶有主觀色彩的評(píng)論,來(lái)解析和跟蹤大眾輿論對(duì)于某一對(duì)象或某一事件的看法。對(duì)主觀評(píng)論的分析在業(yè)界被廣泛應(yīng)用于股票價(jià)格預(yù)測(cè)、產(chǎn)品分析、商品推薦等領(lǐng)域,在政府部門常常被應(yīng)用于輿情監(jiān)測(cè)、民意調(diào)研、異常檢測(cè)等方面。
由于網(wǎng)絡(luò)上這類評(píng)論信息激增,僅靠人工難以在海量的非結(jié)構(gòu)文本數(shù)據(jù)中收集和挖掘出有價(jià)值的情感信息,因此需要設(shè)計(jì)情感分析算法,利用計(jì)算機(jī)來(lái)幫助用戶快速、有效地獲取對(duì)于某一對(duì)象的情感傾向,這就是情感分析(Sentiment Analysis)的主要任務(wù)[1-2]。本文研究的是語(yǔ)句級(jí)情感分析,即通過算法判斷給定句子的情感傾向,對(duì)應(yīng)于機(jī)器學(xué)習(xí)領(lǐng)域的文本分類問題。
深度學(xué)習(xí)逐漸成為一種性能優(yōu)異的主流機(jī)器學(xué)習(xí)方法,它通過學(xué)習(xí)數(shù)據(jù)的多層特征表示,在很多領(lǐng)域取得優(yōu)于傳統(tǒng)方法的結(jié)果。近年來(lái),隨著深度學(xué)習(xí)在圖像處理、機(jī)器翻譯等領(lǐng)域的成功,深度學(xué)習(xí)也被用于文本情感分類任務(wù)中。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)是一種常見的多層神經(jīng)網(wǎng)絡(luò),由于能夠有效地捕獲時(shí)間和空間結(jié)構(gòu)的相關(guān)性,被廣泛應(yīng)用于計(jì)算機(jī)視覺和自然語(yǔ)言處理等領(lǐng)域。在文本情感分類任務(wù)中,CNN逐漸取代傳統(tǒng)基于文本統(tǒng)計(jì)信息的機(jī)器學(xué)習(xí)方法,成為主流模型之一。
目前,基于CNN的文本情感分類方法大多是利用文本局部的最大語(yǔ)義特征進(jìn)行情感極性判別[3]。Kim[4]提出的CNN模型是較為經(jīng)典的一種,它通過二維卷積獲取文本N-grams特征,再經(jīng)過最大池化層篩選出最顯著的語(yǔ)義特征,使用全連接層組合多個(gè)特征來(lái)判斷情感傾向。然而,對(duì)輸入文本使用二維卷積會(huì)壓縮特征圖(Feature Map)的維度,損失大量原始文本中的語(yǔ)義信息。從語(yǔ)言學(xué)的角度理解,該模型僅從文本中挖掘出包含情感的關(guān)鍵詞或詞組,對(duì)關(guān)鍵詞或詞組賦予不同的權(quán)重來(lái)判斷情感傾向,并未考慮文本的語(yǔ)序結(jié)構(gòu)。
針對(duì)上述CNN模型的缺陷,本文提出了一種基于一維卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的混合模型。首先,使用一維卷積替換二維卷積來(lái)提取文本特征,在獲取文本N-grams特征的過程中保持特征維度不變,將語(yǔ)義信息的損失降到最低。其次,通過RNN獲取高層特征之間的時(shí)序關(guān)系,理解文本的全局語(yǔ)義。相比文獻(xiàn)[4]的CNN模型,該混合模型具有更強(qiáng)的特征提取能力,且提取到的特征維度更高,種類更豐富。實(shí)驗(yàn)結(jié)果表明,該模型在多個(gè)標(biāo)準(zhǔn)數(shù)據(jù)集上的情感分類性能相比傳統(tǒng)統(tǒng)計(jì)方法和主流端到端深度學(xué)習(xí)模型均有明顯的提升。本文還在該模型的基礎(chǔ)上,對(duì)不同網(wǎng)絡(luò)層的特征提取模式進(jìn)行改進(jìn),對(duì)比多種網(wǎng)絡(luò)結(jié)構(gòu)的效果,驗(yàn)證了一維卷積在文本情感分類任務(wù)上的有效性。
1 相關(guān)工作
1.1 傳統(tǒng)情感分類方法
傳統(tǒng)的情感分類方法主要分為基于情感詞典和基于機(jī)器學(xué)習(xí)的方法[5]。
1.1.1 基于情感詞典的分類方法
該方法主要通過構(gòu)建情感詞典以及一系列的規(guī)則來(lái)判斷文本的情感極性。Kim等[6]使用已有的情感詞典,根據(jù)詞語(yǔ)的情感得分加和的方法來(lái)判斷文本的情感極性。Turney[7]利用點(diǎn)互信息方法擴(kuò)展正面和負(fù)面的種子詞匯,使用形容詞種子集作為語(yǔ)句中詞的評(píng)分,根據(jù)多個(gè)固定的句式結(jié)構(gòu)來(lái)判斷語(yǔ)句情感傾向。Hu等[8]通過詞匯語(yǔ)義網(wǎng)WordNet的同義詞、反義詞關(guān)系,得到形容詞情感詞典,并根據(jù)該詞典與一些簡(jiǎn)單規(guī)則判斷語(yǔ)句的情感極性。這類方法嚴(yán)重依賴情感詞典的質(zhì)量,并且詞典的維護(hù)需要耗費(fèi)大量的人力物力,隨著新詞的不斷涌現(xiàn),己經(jīng)不能滿足應(yīng)用需求。
1.1.2 基于機(jī)器學(xué)習(xí)的分類方法
該方法首先從文本中篩選出一組具有統(tǒng)計(jì)意義的特征,然后使用機(jī)器學(xué)習(xí)算法構(gòu)建分類模型判斷文本的情感極性。Pang等[9]最早使用機(jī)器學(xué)習(xí)方法對(duì)電影評(píng)論進(jìn)行情感極性判別,對(duì)比了樸素貝葉斯(Nave Bayes, NB)、最大熵(Maximum Entropy, ME)和支持向量機(jī)(Support Vector Machine, SVM)這三種機(jī)器學(xué)習(xí)算法在情感分類中的效果。Mohammad等[10]在Pang等[9]的方法基礎(chǔ)上,加入通過情感詞典構(gòu)建的特征,取得了更高的分類準(zhǔn)確度。Kim等[11]引入詞匯、位置和評(píng)價(jià)詞作為特征,使用SVM作為分類模型進(jìn)行情感極性判別。這類方法對(duì)不同的數(shù)據(jù)集選取不同的人工特征,模型泛化能力差,而且特征大多來(lái)自于文本的個(gè)別詞匯統(tǒng)計(jì)數(shù)據(jù),無(wú)法體現(xiàn)詞語(yǔ)間的關(guān)系以及上下文信息[12]。
1.2 基于深度學(xué)習(xí)的情感分類方法
在文本表示方面,Bengio等[13]最早提出用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)語(yǔ)言模型,訓(xùn)練得到詞在同一個(gè)向量空間上的表示,與one-hot表示方式相比維數(shù)大幅度降低。由于該模型參數(shù)較多,訓(xùn)練效率低下,Mikolov等[14]在此基礎(chǔ)上使用層次化Softmax進(jìn)行優(yōu)化,提出了Word2vec框架,使訓(xùn)練時(shí)間大幅度縮短的同時(shí),學(xué)習(xí)得到的詞向量在一定程度上可體現(xiàn)深層的語(yǔ)法和語(yǔ)義特征。
隨著Word2vec[14]和GloVe[15]等詞的分布式表示方法的出現(xiàn),詞向量表示維度大幅度降低,且包含更多明確的語(yǔ)義信息,這使深度學(xué)習(xí)方法逐漸成為情感分類任務(wù)的主流方法。深度學(xué)習(xí)相比傳統(tǒng)算法,具有更強(qiáng)的語(yǔ)義表達(dá)能力,在不需要人工進(jìn)行特征選擇的情況下取得了較好的性能。
基于深度學(xué)習(xí)的分類方法是一種多層表示學(xué)習(xí)方法。該方法可以利用深層神經(jīng)網(wǎng)絡(luò),從低層的文本表示中自動(dòng)學(xué)習(xí)高層的文本語(yǔ)義特征。基于深度學(xué)習(xí)的方法主要包含如下幾種。
1.2.1 基于遞歸神經(jīng)網(wǎng)絡(luò)
Socher等[16-17]提出了多個(gè)遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network)模型,將文本的句法結(jié)構(gòu)加入到神經(jīng)網(wǎng)絡(luò)模型中。Qian等[18]提出兩種基于短語(yǔ)詞性標(biāo)簽的遞歸網(wǎng)絡(luò)模型:標(biāo)簽引導(dǎo)遞歸神經(jīng)網(wǎng)絡(luò)(Tag-Guided Recursive Neural Network, TG-RNN)和標(biāo)簽嵌入遞歸神經(jīng)網(wǎng)絡(luò)(Tag Embedded Recursive Neural Network, TE-RNN),前者根據(jù)詞性標(biāo)簽選擇一個(gè)用于子節(jié)點(diǎn)詞嵌入的合成函數(shù),后者學(xué)習(xí)詞性標(biāo)簽的詞嵌入,并與子節(jié)點(diǎn)的詞嵌入結(jié)合。Tai等[19]將長(zhǎng)短期記憶(Long Short-Term Memory, LSTM)網(wǎng)絡(luò)改造為樹狀結(jié)構(gòu),相比線性的LSTM結(jié)構(gòu)效果有明顯提升。
1.2.2 基于循環(huán)神經(jīng)網(wǎng)絡(luò)
Irsoy等[20]利用循環(huán)神經(jīng)網(wǎng)絡(luò)獲取文本序列特征,對(duì)比了不同層數(shù)RNN對(duì)性能的影響;Liu等[21]提出了3種可用于多種數(shù)據(jù)集共同訓(xùn)練的RNN模型,將分布相似的數(shù)據(jù)集同時(shí)作為輸入,提高了模型的泛化能力;Qian等[22]在LSTM的基礎(chǔ)上對(duì)情感詞添加了正則化,不同類型情感詞的出現(xiàn)會(huì)調(diào)整當(dāng)前時(shí)刻情感表示的概率分布。
1.2.3 基于卷積神經(jīng)網(wǎng)絡(luò)
Kim[4]使用CNN捕獲文本的局部語(yǔ)義特征,結(jié)合靜態(tài)或微調(diào)的詞向量實(shí)現(xiàn)句子級(jí)情感分類;Kalchbrenner等[23]使用一維CNN獲取文本的N-grams特征,盡可能保留了原文本的語(yǔ)義信息,再經(jīng)過動(dòng)態(tài)K-Max池化篩選出最顯著的k個(gè)特征;Zhou等[24]提出了一種結(jié)合CNN和RNN的混合模型,利用CNN提取文本的N-grams特征,RNN整合文本的全局信息。
2 模型介紹
2.1 詞嵌入向量和N-grams特征
自然語(yǔ)言處理任務(wù)中大多數(shù)深度學(xué)習(xí)模型都需要詞向量作為神經(jīng)網(wǎng)絡(luò)的輸入特征[25]。詞嵌入(Word Embedding)是一種用于語(yǔ)言建模和特征學(xué)習(xí)的技術(shù),它將詞匯表中的單詞轉(zhuǎn)換成連續(xù)的實(shí)數(shù)向量。例如,單詞“cat”在一個(gè)5維詞嵌入模型中可表示為向量(0.15,0.23,0.41,0.63,0.45)。該技術(shù)能將高維稀疏的向量空間(例如one-hot向量空間,只有一個(gè)維度的值取1,其他全取0)轉(zhuǎn)換為低維稠密的向量空間。詞向量可編碼一定的語(yǔ)言學(xué)規(guī)則和模式,包含語(yǔ)義特征。
詞嵌入向量?jī)H僅涵蓋了詞級(jí)別(word level)的特征表示,無(wú)法表達(dá)固定短語(yǔ)和詞組的語(yǔ)義,對(duì)文本的表示能力不足。在傳統(tǒng)統(tǒng)計(jì)模型中,N-grams特征常被用于解決此類問題。神經(jīng)網(wǎng)絡(luò)模型中的卷積操作也能達(dá)到類似的效果,用于提升文本的語(yǔ)義表達(dá)能力。例如,“I get up early”這句話通過大小為2的卷積核處理后會(huì)得到Bigram特征:“I get”“get up”“up early”,其中“get up”為固定的短語(yǔ)搭配,經(jīng)過反向傳播后該特征能分配到更高的權(quán)重。
2.2 長(zhǎng)短期記憶網(wǎng)絡(luò)
由于原始的循環(huán)神經(jīng)網(wǎng)絡(luò)存在嚴(yán)重的梯度消失或梯度爆炸問題,對(duì)于較長(zhǎng)距離的特征處理能力弱,網(wǎng)絡(luò)的處理單元出現(xiàn)了若干的變體,其中長(zhǎng)短期記憶(Long Short-Term Memory, LSTM)網(wǎng)絡(luò)[26]已被廣泛應(yīng)用于自然語(yǔ)言處理領(lǐng)域。簡(jiǎn)單地說(shuō),在LSTM中,隱含狀態(tài)ht和存儲(chǔ)單元ct是它們前一時(shí)刻的狀態(tài)ct-1、ht-1和當(dāng)前時(shí)刻輸入向量xt的函數(shù),其表達(dá)式如下:
隱含狀態(tài)ht∈Rd是隱含層t時(shí)刻的向量表示,同時(shí)也編碼該時(shí)刻之前的上下文信息。
在單向LSTM中,每個(gè)位置ht的隱藏狀態(tài)只保留了前向的上下文信息,而沒有考慮反向的上下文信息。雙向長(zhǎng)短期記憶(Bi-directional Long Short-Term Memory, BiLSTM)網(wǎng)絡(luò)[27]利用兩個(gè)并行通道(前向和后向)和兩個(gè)LSTM的隱藏狀態(tài)級(jí)聯(lián)作為每個(gè)位置的表示。前向和后向LSTM分別表述如下:
其中,g(LSTM)與式(1)中的相同,但分別使用不同的參數(shù),在每個(gè)位置t,隱含狀態(tài)表示為ht=[t,t],它是前向LSTM和后向LSTM隱含狀態(tài)的聯(lián)結(jié)。以這種方式,可以同時(shí)考慮到向前和向后上下文信息,從而更有效地從文本中提取特征。
2.3 基于卷積神經(jīng)網(wǎng)絡(luò)的文本情感分類
卷積神經(jīng)網(wǎng)絡(luò)是一種多層神經(jīng)網(wǎng)絡(luò),由卷積層、池化層、全連接層等組成。由于能夠提取空間或時(shí)間結(jié)構(gòu)的局部相關(guān)性,CNN在計(jì)算機(jī)視覺、語(yǔ)音識(shí)別和自然語(yǔ)言處理等方面都取得了優(yōu)異的表現(xiàn)。對(duì)于句子建模,CNN通過卷積核在句子不同位置提取N-grams特征,并通過池化操作學(xué)習(xí)短、長(zhǎng)程的上下文關(guān)系。其中,Kim[4]提出了經(jīng)典的基于卷積神經(jīng)網(wǎng)絡(luò)的文本情感分析算法,本文采用其中的CNN-non-static作為對(duì)照算法(后文簡(jiǎn)稱為Kim-CNN),其結(jié)構(gòu)如圖1所示。
其中:xi:i+h-1∈Rkh表示從輸入文本第i個(gè)詞(第i列)開始鄰接的h個(gè)詞向量拼接而成的矩陣;b∈R表示偏置; f使用非線性激活函數(shù)ReLU(Rectified Linear Unit請(qǐng)補(bǔ)充ReLU的英文全稱);ci表示卷積核在文本第i個(gè)位置的特征值。
卷積核wc作用于句子中每一個(gè)可能的窗口{x1:h,x2:h+1,…,xn-h+1:n},獲得特征圖:
3)池化層。池化操作可改變句子的長(zhǎng)度,其主要目標(biāo)是獲取特征圖中最重要的特征,即最大的特征值=max{c},然后將得到的所有最大特征值拼接,生成文本的高層特征向量v=[1,2,…,m],其中m為卷積核數(shù)量。
4)Softmax層。以特征向量v作為輸入,使用Softmax分類,輸出當(dāng)前文本在各個(gè)類別上的概率:
其中:y∈Rs;ws為權(quán)重;bs為偏置,s為類別數(shù)目。預(yù)測(cè)出概率后,使用交叉熵形式的損失函數(shù)并反向傳播,進(jìn)行權(quán)值更新和詞向量微調(diào)(fine tuning),多次迭代后,取最優(yōu)的模型參數(shù)。
目前,基于CNN的情感分類方法大多使用二維卷積結(jié)構(gòu),但通過這種方式獲得的N-grams特征,相比輸入文本的詞向量,特征維度降低,特征包含的語(yǔ)法和語(yǔ)義信息較少。Kim-CNN模型可以理解為使用二維卷積從文本中捕獲對(duì)應(yīng)情感標(biāo)簽下語(yǔ)義特征最顯著的“關(guān)鍵詞”,通過全連接對(duì)多個(gè)“關(guān)鍵詞”加權(quán)求和,判斷情感類別。然而,使用二維卷積會(huì)壓縮獲取N-grams特征的維度,損耗特征的大量語(yǔ)義信息,無(wú)法實(shí)現(xiàn)多層神經(jīng)網(wǎng)絡(luò)來(lái)提取高層次的語(yǔ)義特征,而且CNN只能獲取文本的局部特征,對(duì)時(shí)序信息和全局特征不能有效地識(shí)別與表示。
2.4 基于一維卷積的混合網(wǎng)絡(luò)模型
由于Kim-CNN模型存在二維卷積損失特征語(yǔ)義信息以及CNN無(wú)法有效地識(shí)別和表達(dá)時(shí)序信息的問題,本文在該算法的基礎(chǔ)上進(jìn)行改進(jìn),在網(wǎng)絡(luò)結(jié)構(gòu)中加入一維卷積結(jié)構(gòu)和BiLSTM,提出了一種應(yīng)用于文本情感分類的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu):1D-CLSTM。具體改變?yōu)椋簩⒕矸e層的二維卷積操作替換成詞向量每個(gè)維度上的一維卷積操作,并在池化層和Softmax層之間增加一個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)層,其結(jié)構(gòu)如圖2所示。
從圖2可以看出,該網(wǎng)絡(luò)自底向上由5層結(jié)構(gòu)組成,分別如下。
1)輸入層。從文本D查找詞wi,得到對(duì)應(yīng)的詞向量xi∈Rk,k為詞向量的維度。在文本開始和末尾分別添加全0的Padding,以保證卷積后句子長(zhǎng)度不變。
2)一維卷積層。詞向量每一維(每一行)分別使用不同的一維卷積。一組一維卷積核表示為wc∈Rhk,可生成一個(gè)特征圖c,h為滑動(dòng)窗口大小。經(jīng)過卷積,文本第i個(gè)詞的第j維得到的特征值為:
其中,wcj∈Rh表示詞向量第j維上的一維卷積核。
3)池化層。池化操作的目標(biāo)是選取文本各個(gè)位置最重要的特征,對(duì)于每一個(gè)特征圖c,第i列的最大特征值i=max{ci},經(jīng)過池化層得到其中一個(gè)特征向量v=[1,2,…,L]。其中,ci∈Rk,L為文本長(zhǎng)度。
4)循環(huán)神經(jīng)網(wǎng)絡(luò)層。經(jīng)過池化層得到矩陣V=[v1,v2,…,vN],將其按列展開為[α1,α2,…,αL],N表示特征向量v的數(shù)量。向量αt作為BiLSTM網(wǎng)絡(luò)t時(shí)刻的輸入,由式(2)和式(3)分別求得t時(shí)刻前向和后向的隱藏狀態(tài)t和t,輸出為:
5)Softmax層。用Softmax作為分類器,輸出當(dāng)前文本在各個(gè)情感類別下的概率。
本文選用一維卷積替換二維卷積有兩點(diǎn)考慮:其一,通過一維卷積得到的特征圖可以保持與輸入文本相同的維度,將語(yǔ)義信息的損失降到最小;其二,詞向量可以認(rèn)為是神經(jīng)網(wǎng)絡(luò)訓(xùn)練語(yǔ)言模型的副產(chǎn)物[28],詞向量各維的值可以看作隱含層各個(gè)神經(jīng)元的輸出,詞向量的各個(gè)維度之間相互獨(dú)立,卷積應(yīng)該分別進(jìn)行,而不是將它們簡(jiǎn)單地進(jìn)行加權(quán)求和。
卷積操作雖然可以將相鄰詞或特征的語(yǔ)義進(jìn)行組合,但無(wú)法有效地識(shí)別和表示時(shí)序信息。為解決這一問題,本文采用BiLSTM將一維卷積提取出的N-grams特征按時(shí)間順序整合,挖掘特征之間的時(shí)序關(guān)系以及全局語(yǔ)義信息。
如上分析,本文提出的1D-CLSTM模型相對(duì)Kim-CNN模型來(lái)說(shuō),較好地避免了在二維卷積中損失語(yǔ)義信息,無(wú)法識(shí)別和表達(dá)時(shí)序信息等問題,第3章將用實(shí)驗(yàn)結(jié)果驗(yàn)證它在情感判別領(lǐng)域的應(yīng)用效果。
3 實(shí)驗(yàn)及結(jié)果分析
為了檢驗(yàn)1D-CLSTM模型的性能以及證明一維卷積在情感分類任務(wù)上的優(yōu)越性,將其與近年來(lái)一些經(jīng)典的文本情感分類算法進(jìn)行實(shí)驗(yàn)對(duì)比。在基本模型之外,還對(duì)一些其他的變體進(jìn)行實(shí)驗(yàn),以分析各種網(wǎng)絡(luò)結(jié)構(gòu)對(duì)于分類效果的影響。
3.1 情感分類數(shù)據(jù)集
本文在多個(gè)標(biāo)準(zhǔn)英文數(shù)據(jù)集上測(cè)試了上述模型,數(shù)據(jù)集的統(tǒng)計(jì)信息如表1所示。SST-1和SST-2[16]分別為五分類和二分類的影評(píng)情感分類數(shù)據(jù)集,來(lái)自Stanford Sentiment Treebank。MR是二分類的影評(píng)數(shù)據(jù)集,目標(biāo)是判斷評(píng)論的情感為正面還是負(fù)面。IMDB由100000條二分類的影評(píng)數(shù)據(jù)組成,每一條影評(píng)包含多個(gè)句子,屬于文檔級(jí)的情感分類數(shù)據(jù)集[29]。
由于IMDB數(shù)據(jù)集沒有明確的訓(xùn)練集、驗(yàn)證集劃分,采用10折交叉驗(yàn)證(10-fold cross-validation),將訓(xùn)練集隨機(jī)分成10組,每次使用訓(xùn)練數(shù)據(jù)的90%訓(xùn)練模型參數(shù),剩下10%作為驗(yàn)證集,驗(yàn)證模型優(yōu)劣,選取驗(yàn)證結(jié)果最優(yōu)的模型參數(shù),用于計(jì)算測(cè)試集上的情感分類準(zhǔn)確度。MR數(shù)據(jù)集使用81%作為訓(xùn)練集,9%作為驗(yàn)證集,10%作為測(cè)試集。SST-1和SST-2數(shù)據(jù)集有固定的驗(yàn)證集劃分,因此每輪實(shí)驗(yàn)隨機(jī)初始化參數(shù),重復(fù)訓(xùn)練10次,取這10次實(shí)驗(yàn)結(jié)果的平均值作為最終的情感分類準(zhǔn)確度。
3.2 參數(shù)設(shè)置
實(shí)驗(yàn)使用GloVe預(yù)訓(xùn)練的詞嵌入向量作為初始的輸入[3],維度為300。對(duì)于一維卷積層,采用1、2、3這三種尺寸的卷積核,每種尺寸的卷積核數(shù)量均設(shè)置為4,確保卷積網(wǎng)絡(luò)從不同維度不同位置提取多種文本特征。循環(huán)神經(jīng)網(wǎng)絡(luò)層使用BiLSTM,記憶單元的維度為150,詞向量和BiLSTM后均設(shè)置0.5的dropout。訓(xùn)練批次大?。╞atch size)為50,學(xué)習(xí)率為5E-4,進(jìn)行反向傳播的參數(shù)增加0.001的L2正則約束,選擇Adam作為優(yōu)化器(optimizer),訓(xùn)練階段最大迭代次數(shù)(epoch)為100。輸入的詞向量會(huì)根據(jù)反向傳播微調(diào),在1000個(gè)批次(batch)內(nèi)驗(yàn)證集上的準(zhǔn)確度沒有提升會(huì)提前停止訓(xùn)練(early stop),設(shè)置梯度截?cái)啵╣radient clipping)為3。
3.3 結(jié)果對(duì)比
為測(cè)試模型性能,本文將1D-CLSTM模型與主流的情感分類模型進(jìn)行對(duì)比。實(shí)驗(yàn)采用分類準(zhǔn)確度(Accuracy)作為情感分類算法的評(píng)價(jià)指標(biāo),結(jié)果以百分比為單位。實(shí)驗(yàn)結(jié)果如表2所示。
其中,SST-1和SST-2數(shù)據(jù)集下的短語(yǔ)和句子分別代表訓(xùn)練時(shí)使用短語(yǔ)級(jí)或句子級(jí)的標(biāo)注數(shù)據(jù),而驗(yàn)證和測(cè)試階段均使用句子級(jí)的標(biāo)注數(shù)據(jù)[16]。前5個(gè)模型的結(jié)果引用自Socher[16]。NB和BiNB均為樸素貝葉斯模型,前者僅使用unigram特征,后者同時(shí)使用unigram和bigram。SVM是使用unigram和bigram特征的支持向量機(jī)模型。RNN和RNTN(Recursive Neural Tensor Network)均是基于文本句法解析樹的遞歸神經(jīng)網(wǎng)絡(luò)模型。DCNN(Dynamic Convolutional Neural Network)[23]同樣采用一維卷積,但經(jīng)過動(dòng)態(tài)k-max池化后文本長(zhǎng)度會(huì)減小,僅保留了最顯著的k個(gè)N-grams特征。BiLSTM是以詞向量為輸入的雙向長(zhǎng)短期記憶網(wǎng)絡(luò),去掉了1D-CLSTM中的一維卷積層,其余參數(shù)設(shè)置相同。Kim-CNN[4]是根據(jù)原論文的參數(shù)設(shè)置和開源代碼復(fù)現(xiàn),將詞向量由Word2vec換作GloVe,由于文獻(xiàn)[4]對(duì)于數(shù)據(jù)集劃分、參數(shù)選擇和優(yōu)化的細(xì)節(jié)沒有說(shuō)明,導(dǎo)致復(fù)現(xiàn)結(jié)果相比原文略差。文獻(xiàn)[4]匯報(bào)了SST-1短語(yǔ)、SST-2短語(yǔ)和MR的結(jié)果,分別為48.0%、87.2%和81.5%此處的三個(gè)數(shù)字后面,是否應(yīng)該加個(gè)百分號(hào)?即48.0%、87.2%和81.5%,請(qǐng)明確。
從表2可以看出,基于深度學(xué)習(xí)的情感分類方法性能明顯優(yōu)于傳統(tǒng)機(jī)器學(xué)習(xí)方法,1D-CLSTM在各個(gè)數(shù)據(jù)集上的結(jié)果均優(yōu)于其他模型。對(duì)比BiLSTM,1D-CLSTM增加了一維卷積,使得各數(shù)據(jù)集的結(jié)果均有明顯提升。這表明,經(jīng)過一維卷積提取的N-grams特征,相比初始詞向量,包含了更有價(jià)值的語(yǔ)義信息,適合后續(xù)的池化和循環(huán)神經(jīng)網(wǎng)絡(luò)處理。對(duì)比Kim-CNN的重現(xiàn)模型,用一維卷積替換二維卷積并增加BiLSTM后,在各數(shù)據(jù)集上的結(jié)果都有一定的提升,最高達(dá)到2.9%。
為了進(jìn)一步驗(yàn)證一維卷積相對(duì)于二維卷積的優(yōu)勢(shì),本文在1D-CLSTM的基礎(chǔ)上修改了部分結(jié)構(gòu),提出了兩種變體:1D-2D-CNN與1D-2D-CLSTM,并通過實(shí)驗(yàn)對(duì)比了改進(jìn)前和改進(jìn)后分類準(zhǔn)確度的變化。
其中,1D-2D-CNN是在Kim-CNN的基礎(chǔ)上,輸入層和卷積層之間增加一個(gè)一維卷積層,其他參數(shù)與Kim-CNN一致。1D-2D-CLSTM是在1D-2D-CNN的基礎(chǔ)上,在池化層前添加一個(gè)BiLSTM網(wǎng)絡(luò)。
從表3可以看出,在SST-1數(shù)據(jù)集中,額外的一維卷積層為Kim-CNN模型帶來(lái)了1至2個(gè)百分點(diǎn)的提升。相比原始輸入的詞向量,經(jīng)過一維卷積的特征包含了更多額外的語(yǔ)義信息,說(shuō)明一維卷積在提取N-grams特征方面具有一定的優(yōu)勢(shì),但是IMDB數(shù)據(jù)集上增加一維卷積反而讓準(zhǔn)確度有所下降,可能原因是該數(shù)據(jù)集屬于文檔級(jí)的情感分類,輸入文本的平均長(zhǎng)度為294,僅使用卷積神經(jīng)網(wǎng)絡(luò)無(wú)法表征足夠的全局語(yǔ)義信息。
從表4可以看出,將最大池化層改為BiLSTM后,1D-2D-CLSTM模型相比1D-2D-CNN分類準(zhǔn)確度有1個(gè)百分點(diǎn)左右的提升。這表明使用LSTM的循環(huán)神經(jīng)網(wǎng)絡(luò)相對(duì)簡(jiǎn)單的池化操作具有更強(qiáng)的表達(dá)力,能夠提取和表達(dá)更復(fù)雜的語(yǔ)法和語(yǔ)義特征,適合情感分類任務(wù)。
1D-2D-CLSTM模型和1D-CLSTM模型的差別在,將池化層換成了二維卷積層,通過卷積來(lái)實(shí)現(xiàn)特征降維。從表4可以看到,1D-2D-CLSTM模型仍有微弱的提升。這說(shuō)明,在情感分類任務(wù)上,二維卷積層或許是比池化層更好的降維特征提取方式,當(dāng)然其代價(jià)是更大的網(wǎng)絡(luò)參數(shù)和更高的訓(xùn)練成本。
4 結(jié)語(yǔ)
本文針對(duì)文本情感分類任務(wù)提出了一種基于一維卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)的混合網(wǎng)絡(luò)模型。該模型使用一維卷積替代二維卷積提取N-grams特征,通過BiLSTM挖掘特征之間的時(shí)序關(guān)系,解決了Kim-CNN模型中卷積損失特征語(yǔ)義以及無(wú)法表示時(shí)序信息的問題。實(shí)驗(yàn)結(jié)果表明,該模型的情感分類性能相比同類主流算法有明顯的提升,并通過進(jìn)一步的對(duì)比實(shí)驗(yàn)驗(yàn)證了引入一維卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)分類性能的正面影響。
從現(xiàn)有實(shí)驗(yàn)結(jié)果來(lái)看,在詞嵌入向量的基礎(chǔ)上使用卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)進(jìn)行情感分類,對(duì)于最終分類性能的提升是有一定限度的,其中尤其是原始詞嵌入向量的質(zhì)量對(duì)于最終模型的分類效果有很大影響。傳統(tǒng)詞嵌入向量是在較大的無(wú)標(biāo)注文本集中通過計(jì)算各個(gè)關(guān)鍵詞共同出現(xiàn)的統(tǒng)計(jì)指標(biāo)得到的[14-15],Kim-CNN[4]的實(shí)驗(yàn)已經(jīng)證明這些原始向量并不適合情感分析任務(wù),一個(gè)重要證據(jù)是具有相似統(tǒng)計(jì)關(guān)系的反義詞會(huì)被表達(dá)為類似的嵌入向量,因此,最近的一些研究工作嘗試在另一個(gè)有監(jiān)督場(chǎng)景下訓(xùn)練上下文相關(guān)的嵌入向量[30],或者借用卷積神經(jīng)網(wǎng)絡(luò)逐層特征提取的思路來(lái)設(shè)計(jì)一個(gè)多層LSTM網(wǎng)絡(luò)以表達(dá)語(yǔ)言不同粒度的特征[31],將這些額外的關(guān)鍵詞表達(dá)與原始詞嵌入向量結(jié)合帶來(lái)了顯著提升的分類精度。
在計(jì)算機(jī)視覺領(lǐng)域使用遷移學(xué)習(xí)的方法可以最大限度地利用大規(guī)模數(shù)據(jù)集上預(yù)訓(xùn)練的模型參數(shù),使得在一個(gè)相似場(chǎng)景下進(jìn)行學(xué)習(xí)的效率大幅度提高,但是對(duì)于自然語(yǔ)言處理來(lái)說(shuō),大多數(shù)場(chǎng)景下除了詞嵌入向量可以重用以外,都需要從頭開始訓(xùn)練,這對(duì)于訓(xùn)練效率和最終效果都造成了較大影響。Howard等[32]提出了一個(gè)ULMFiT(Universal Language Model Fine-Tuning)模型,建立了自然語(yǔ)言處理領(lǐng)域中遷移學(xué)習(xí)的完整應(yīng)用框架。Radford等[33]則將遷移學(xué)習(xí)過程建立在一個(gè)深層的Transformer網(wǎng)絡(luò)[34]上,使用該框架預(yù)訓(xùn)練的模型通常在3次迭代左右就可以完成細(xì)調(diào)。同樣基于Transformer網(wǎng)絡(luò),BERT[35]設(shè)計(jì)了一個(gè)填空(Cloze)任務(wù),同時(shí)利用前向和后向的上下文,比之前的單向語(yǔ)言模型或者相互獨(dú)立的雙向LSTM都有明顯優(yōu)勢(shì),該模型在11個(gè)不同的公開任務(wù)中,都在之前最好的結(jié)果基礎(chǔ)上明顯提高。
未來(lái)的工作將會(huì)集中在以下幾個(gè)方面:首先是基于對(duì)現(xiàn)有詞嵌入向量及其在情感分析任務(wù)中的表達(dá)能力分析,嘗試運(yùn)用其他包含更豐富語(yǔ)義信息的特征表達(dá)方式;其次是進(jìn)一步比較卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)及Transformer網(wǎng)絡(luò)等不同的網(wǎng)絡(luò)結(jié)構(gòu)在該場(chǎng)景不同任務(wù)中的性能,選擇適當(dāng)?shù)木W(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行組合和優(yōu)化;最后是充分利用以BERT為代表的預(yù)訓(xùn)練模型,使用其網(wǎng)絡(luò)結(jié)構(gòu)和預(yù)訓(xùn)練參數(shù),結(jié)合其他網(wǎng)絡(luò)模型,該模型即使在不進(jìn)行原始參數(shù)細(xì)調(diào)的前提下也能取得接近最優(yōu)的效果。
參考文獻(xiàn) (References)
[1] 周立柱,賀宇凱,王建勇.情感分析研究綜述[J].計(jì)算機(jī)應(yīng)用,2008,28(11):2725-2728.(ZHOU L Z, HE Y K, WANG J Y. Survey on research of sentiment analysis [J]. Journal of Computer Applications, 2008,28(11): 2725-2728.)
[2] 趙妍妍,秦兵,劉挺.文本情感分析[J].軟件學(xué)報(bào),2010,21(8):1834-1848.(ZHAO Y Y, QIN B, LIU T. Sentiment analysis [J]. Journal of Software, 2010, 21(8): 1834-1848.)
[3] ZHANG Y, WALLACE B. A sensitivity analysis of (and practitioners guide to) convolutional neural networks for sentence classification[EB/OL]. (2016-04-06)[2018-06-07]. https://arxiv.org/abs/1510.03820.
[4] KIM Y. Convolutional neural networks for sentence classification [EB/OL]. (2014-09-03)[2018-06-01]. https://arxiv.org/abs/1408.5882.
[5] ZHANG L, WANG S, LIU B. Deep learning for sentiment analysis: a survey[J]. Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery, 2018, 8(4): e1253.
[6] KIM S-M, HOVY E. Extracting opinions, opinion holders, and topics expressed in online news media text[C]// Proceedings of the 2006 Workshop on Sentiment and Subjectivity in Text. Stroudsburg, PA: Association for Computational Linguistics, 2006: 1-8.
[7] 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. Stroudsburg, PA: Association for Computational Linguistics, 2002: 417-424.
[8] HU M, LIU B. Mining and summarizing customer reviews[C]// Proceedings of the Tenth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2004: 168-177.
[9] PANG B, LEE L, VAITHYANATHAN S. Thumbs up?: sentiment classification using machine learning techniques[C]// Proceedings of the ACL-02 Conference on Empirical Methods in Natural Language Processing-Volume 10. Stroudsburg, PA: Association for Computational Linguistics, 2002: 79-86.
[10] MOHAMMAD S M, KIRITCHENKO S, ZHU X. NRC-Canada: building the state-of-the-art in sentiment analysis of tweets[EB/OL]. (2013-08-28)[2018-07-02]. https://arxiv.org/abs/1308.6242.
[11] KIM S-M, HOVY E. Automatic identification of pro and con reasons in online reviews[C]// Proceedings of the 2006 COLING/ACL on Main Conference Poster Sessions. Stroudsburg, PA: Association for Computational Linguistics, 2006: 483-490.
[12] MEDHAT W, HASSAN A, KORASHY H. Sentiment analysis algorithms and applications: a survey [J]. Ain Shams Engineering Journal, 2014, 5(4): 1093-1113.
[13] BENGIO Y, DUCHARME R, VINCENT P, et al. A neural probabilistic language model[J]. Journal of Machine Learning Research, 2003, 3: 1137-1155.
[14] MIKOLOV T, SUTSKEVER I, CHEN K, et al. Distributed representations of words and phrases and their compositionality[C]// NIPS13: Proceedings of the 26th International Conference on Neural Information Processing Systems. North Miami Beach, FL: Curran Associates Inc., 2013: 3111-3119.
[15] PENNINGTON J, SOCHER R, MANNING C. GloVe: global vectors for word representation[C]// Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA: Association for Computational Linguistics, 2014: 1532-1543.
[16] SOCHER R, PERELYGIN A, WU J, et al. Recursive deep models for semantic compositionality over a sentiment treebank[C]// Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA: Association for Computational Linguistics, 2013: 1631-1642.
[17] SOCHER R, PENNINGTON J, HUANG E H, et al. Semi-supervised recursive autoencoders for predicting sentiment distributions[C]// Proceedings of the 2011 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA: Association for Computational Linguistics, 2011: 151-161.
[18] QIAN Q, TIAN B, HUANG M, et al. Learning tag embeddings and tag-specific composition functions in recursive neural network[C]// Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing. Stroudsburg, PA: Association for Computational Linguistics, 2015: 1365-1374.
[19] TAI K S, SOCHER R, MANNING C D. Improved semantic representations from tree-structured long short-term memory networks[EB/OL]. (2015-05-30)[2018-08-10]. https://arxiv.org/abs/1503.00075.
[20] IRSOY O, CARDIE C. Opinion mining with deep recurrent neural networks[C]// Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA: Association for Computational Linguistics, 2014: 720-728.
[21] LIU P, QIU X, HUANG X. Recurrent neural network for text classification with multi-task learning[EB/OL]. (2016-05-17)[2018-08-01]. https://arxiv.org/abs/1605.05101.
[22] QIAN Q, HUANG M, LEI J, et al. Linguistically regularized LSTMs for sentiment classification [EB/OL]. (2017-04-25)[2018-08-15]. https://arxiv.org/abs/1611.03949.
[23] KALCHBRENNER N, GREFENSTETTE E, BLUNSOM P. A convolutional neural network for modelling sentences [EB/OL]. (2014-04-08)[2018-07-16]. https://arxiv.org/abs/1404.2188.
[24] ZHOU C, SUN C, LIU Z, et al. A C-LSTM neural network for text classification[EB/OL]. (2015-11-30)[2018-08-22]. https://arxiv.org/abs/1511.08630.
[25] COLLOBERT R, WESTON J, BOTTOU L, et al. Natural lan-guage processing (almost) from scratch[J]. Journal of Machine Learning Research, 2011, 12: 2493-2537.
[26] HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735-1780.
[27] GRAVES A, JAITLY N, MOHAMED A. Hybrid speech recognition with deep bidirectional LSTM[C]// Proceedings of the 2013 IEEE Workshop on Automatic Speech Recognition and Understanding. Piscataway, NJ: IEEE, 2013: 273-278.
[28] MIKOLOV T, CHEN K, CORRADO G, et al. Efficient estimation of word representations in vector space[EB/OL]. (2013-09-07)[2018-09-02]. https://arxiv.org/abs/1301.3781.
[29] LIU B. Sentiment Analysis and Opinion Mining[M]. San Rafael, CA: Morgan and Claypool Publishers, 2012: 1-167.
[30] McCANN B, BRADBURY J, XIONG C, et al. Learned in translation: contextualized word vectors[C]// NIPS 2017: Proceedings of the 31st Annual Conference on Neural Information Processing Systems. North Miami Beach, FL: Curran Associates Inc., 2017: 6297-6308.
[31] PETERS M E, NEUMANN M, IYYER M et al. Deep contextualized word representations[EB/OL]. (2018-03-22)[2018-10-21]. https://arxiv.org/abs/1802.05365.
[32] HOWARD J, RUDER S. Universal language model fine-tuning for text classification[C]// Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: Association for Computational Linguistics, 2018: 328-339.
[33] RADFORD A, NARASIMHAN K, SALIMANS T, et al. Improving language understanding by generative pre-training[EB/OL]. (2018-06-11)[2018-10-22]. https://blog.openai.com/language-unsupervised/.
[34] VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need[C]// NIPS 2017: Proceedings of the 31st Annual Conference on Neural Information Processing Systems. North Miami Beach, FL: Curran Associates Inc., 2017: 5998-6008.
[35] DEVLIN J, CHANG M-W, LEE K, et al. BERT: pre-training of deep bidirectional transformers for language understanding[EB/OL]. (2018-10-11)[2018-11-13]. https://arxiv.org/abs/1810.04805.