黃衛(wèi)春, 鄒 瑤*, 熊李艷, 陶自強(qiáng)
(1.華東交通大學(xué)軟件學(xué)院, 南昌 330013; 2.華東交通大學(xué)信息工程學(xué)院, 南昌 330013)
文本分類作為自然語言處理(natural language processing, NLP)中基礎(chǔ)且非常重要的一項(xiàng)任務(wù),被廣泛應(yīng)用于主題分類[1]、垃圾郵件檢測[2]、情感分析[3-4]等領(lǐng)域。面對(duì)日新月異的社會(huì)動(dòng)態(tài)以及錯(cuò)綜復(fù)雜的信息,如何能夠快速且有效地將這些信息進(jìn)行篩選與分類是一項(xiàng)非常困難的任務(wù)。句子分類對(duì)自然語言處理應(yīng)用是至關(guān)重要的,同時(shí)句子分類也是處理數(shù)據(jù)的關(guān)鍵步驟與核心任務(wù)。
近年來,深度學(xué)習(xí)模型被廣泛應(yīng)用在文本分類任務(wù)上,其中常見的是循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)和卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)[5],特別是CNN在計(jì)算機(jī)視覺領(lǐng)域取得的巨大成功,CNN也因此被成功的引用到自然語言處理領(lǐng)域[6]。眾多學(xué)者在深度學(xué)習(xí)模型下已經(jīng)提出了許多有效的文本分類算法,相對(duì)于傳統(tǒng)的方法有了較大的提升。但是傳統(tǒng)類長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)網(wǎng)絡(luò)存在不能同時(shí)對(duì)當(dāng)前時(shí)刻之前和之后信息進(jìn)行編碼以及大多數(shù)模型不能對(duì)文本語義信息進(jìn)行豐富表達(dá)的缺點(diǎn),導(dǎo)致最后的效果不佳。
為了克服上述問題,提出一種基于CNN的多通道特征表示文本分類模型(multi-channel feature representation text classification model based on CNN,MC-CNN)。通過不同來源的詞向量表示文本來豐富文本語義信息;利用雙向長短期記憶(bi-directional long short-term memory,Bi-LSTM)能夠在正反兩個(gè)方向上進(jìn)行時(shí)序特征提取的特點(diǎn)對(duì)不同來源詞向量所表示的文本進(jìn)行特征提取形成多通道特征表示;然后通過多尺度CNN網(wǎng)絡(luò)提取空間特征的同時(shí)進(jìn)一步實(shí)現(xiàn)對(duì)未來信息的考慮,進(jìn)而完成文本分類任務(wù)。
Johnson等[7]提出了一種單詞級(jí)別的深層CNN模型來做文本分類任務(wù)。該方法可以捕捉文本全局語義表征,在增加網(wǎng)絡(luò)深度的同時(shí)可以不增加太多計(jì)算開銷。Dong等[8]在文本情感分類問題上提出了一種可變卷積和池卷積的神經(jīng)網(wǎng)絡(luò)。該方法在詞嵌入維度引入4種卷積運(yùn)算來挖掘詞向量語義維度的局部特征并獲得了較好的效果。Wang等[9]提出了一種密集連接的CNN模型處理文本分類任務(wù),該方法通過在卷積層之間設(shè)計(jì)了密集連接和多尺度特征注意機(jī)制兩個(gè)方式來自適應(yīng)地選擇文本分類的多尺度特征,從而提高分類的準(zhǔn)確率。
Zhou等[10]提出了一種基于注意力機(jī)制的雙向長短期記憶(bi-directional long short-term memory, Bi-LSTM)用于文本關(guān)系分類任務(wù)。該模型通過在Bi-LSTM中引入Attention機(jī)制,來捕捉句子中最重要的語義信息,從而避免了傳統(tǒng)工作中復(fù)雜的特征工程,并在該任務(wù)中取得比較優(yōu)秀的效果。Zhao等[11]提出了一種基于RNN的層次多尺度密集連接文本分類模型。該方法通過密集連接的方式捕捉長期語義相關(guān)性,通過將多個(gè)密集連接的循環(huán)單元組織成層次多尺度結(jié)構(gòu)來獲取文本數(shù)據(jù)的尺度信息。最后模型取得了不錯(cuò)的效果。
張騰等[12]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)和雙向門控單元網(wǎng)絡(luò)注意力機(jī)制的情感分析模型。該方法將情感積分引入卷積神經(jīng)網(wǎng)絡(luò),利用情感詞自身信息,通過雙向門控循環(huán)網(wǎng)絡(luò)模型提取全局特征,對(duì)影響句子極性的否定詞等引入注意力機(jī)制實(shí)現(xiàn)對(duì)這類詞的重點(diǎn)關(guān)注,提取影響句子極性的重要信息。譚詠梅等[13]提出了基于CNN與Bi-LSTM的中文文本蘊(yùn)含識(shí)別方法,該方法通過使用CNN與Bi-LSTM分別對(duì)句子進(jìn)行編碼,自動(dòng)提取相關(guān)特征,然后通過全連接層進(jìn)行分類得到初步結(jié)果;最后使用語義規(guī)則對(duì)網(wǎng)絡(luò)識(shí)別結(jié)果進(jìn)行修正得到最終的蘊(yùn)含識(shí)別結(jié)果。王俊麗等[14]針對(duì)短文本分類提出了ResLCNN模型。該模型通過在3層LSTM和CNN網(wǎng)絡(luò)結(jié)構(gòu)中的第1層中加入恒等映射,構(gòu)建殘差層來避免梯度消失。實(shí)驗(yàn)效果表明相比單層的網(wǎng)絡(luò)結(jié)構(gòu),深層的模型效果相對(duì)較好。Liu等[15]提出基于注意力機(jī)制和卷積層的雙向LSTM文本分類模型(AC-BiLSTM)。該方法利用卷積層從詞嵌入向量提取高層次短語表示,利用Bi-LSTM訪問上下文信息,引入注意力機(jī)制對(duì)隱藏層輸出信息賦予不同權(quán)重。這樣模型既能捕獲短語局部特征,又能捕獲全局語義。
模型整體架構(gòu)如圖1所示,MC-CNN模型的整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)主要包含:雙向長短期記憶網(wǎng)絡(luò)層、多通道卷積網(wǎng)絡(luò)層和全連接網(wǎng)絡(luò)輸出層。
圖1 整體結(jié)構(gòu)Fig.1 Overall structure
長短期記憶網(wǎng)絡(luò)(LSTM)內(nèi)部結(jié)構(gòu)如圖2所示,LSTM的核心思想是通過引入自適應(yīng)的“門”機(jī)制來忘記歷史信息和篩選輸入信息。給定長度為l的序列S={x1,x2,…,xl},LSTM通過“詞組-詞組”的方式進(jìn)行序列建模。同時(shí),對(duì)于時(shí)刻t,LSTM單元中的記憶狀態(tài)ct和隱含狀態(tài)ht根據(jù)式(1)進(jìn)行更新:
圖2 LSTM網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)Fig.2 Internal structure of LSTM network
(1)
傳統(tǒng)的單向LSTM僅是“正向”的考慮了詞與詞之間的時(shí)序信息,而忽視了“逆向”這一重要信息,使得網(wǎng)絡(luò)在對(duì)當(dāng)前時(shí)刻的信息進(jìn)行編碼時(shí)只能考慮到之前的信息而無法顧慮到未來的信息。因此,引入Bi-LSTM機(jī)制在通過正向和逆向的LSTM循環(huán)單元來充分考慮在文本分類中詞與詞之間在當(dāng)前時(shí)刻與未來時(shí)刻的特殊序列關(guān)系。與傳統(tǒng)的利用Bi-LSTM進(jìn)行文本分類的方法不同,本文方法在處理Bi-LSTM的輸出結(jié)果時(shí)并不是將正向和逆向的輸出進(jìn)行結(jié)合,而是按序堆疊成兩個(gè)通道再利用CNN來進(jìn)行后續(xù)特征的提取,目的是更利于保留更多的空間語義信息,提高分類準(zhǔn)確率。
雙向長短期記憶網(wǎng)絡(luò)主要包含Bi-LSTM1和Bi-LSTM2,分別用于對(duì)glove預(yù)訓(xùn)練詞向量和word2vec預(yù)訓(xùn)練詞向量表示的文本進(jìn)行特征提取。對(duì)于其中任意一個(gè)分支結(jié)構(gòu)來說也包含兩個(gè)LSTM子網(wǎng)絡(luò),僅是在輸入順序上相反而結(jié)構(gòu)上完全一樣。因此給定序列S,對(duì)于任一分支結(jié)構(gòu)在t時(shí)刻的輸出結(jié)果表示為
(2)
圖3 多通道特征表示Fig.3 Multi-channel feature representation
(3)
圖4 多尺度卷積操作Fig.4 Multi-scale convolution operation
ci=f(W?Hi∶i+h-1+b)
(4)
式(4)中:b表示偏置,b∈R;f為非線性激活函數(shù);Hi∶i+h-1表示任意輸入序列經(jīng)Bi-LSTM處理后,第i~i+h-1個(gè)詞的特征向量所構(gòu)成的矩陣。最終,對(duì)于長度為l的序列經(jīng)卷積處理后將得到特征向量為
c=[c1,c2,…,cn-h+1]
(5)
(6)
最終,經(jīng)過多通道卷積網(wǎng)絡(luò)層處理后,將得到一個(gè)K維特征向量為
(7)
經(jīng)多通道卷積網(wǎng)絡(luò)層輸出的K維特征向量后,將最終的特征向量經(jīng)3個(gè)全連接層網(wǎng)絡(luò)得到最后的分類結(jié)果。為了避免模型發(fā)生過擬合現(xiàn)象,引入了L2正則化以及Dropout機(jī)制,L2正則化通過在損失函數(shù)中加入L2范數(shù)作為懲罰項(xiàng)來使得模型擬合更傾向于低維部分。實(shí)驗(yàn)采用了交叉熵作為目標(biāo)函數(shù),通過最小化交叉熵?fù)p失函數(shù)來優(yōu)化網(wǎng)絡(luò)模型,利用梯度下降算法來進(jìn)行參數(shù)優(yōu)化。交叉熵?fù)p失函數(shù)為
(8)
為了測試模型性能的有效性,使用了6個(gè)不同的數(shù)據(jù)集,其中包含3個(gè)短文本數(shù)據(jù)集,和3個(gè)長文本數(shù)據(jù)集,具體信息如表1所示。實(shí)驗(yàn)中所有數(shù)據(jù)集均為公開標(biāo)準(zhǔn)數(shù)據(jù)集。
表1 數(shù)據(jù)集設(shè)置
(1)AG的新聞?wù)Z料庫(AG’s News Corpus): 496 835條來自AG新聞?wù)Z料庫4大類別超過2 000個(gè)新聞源的新聞文章,數(shù)據(jù)集僅僅使用了標(biāo)題和描述字段。每個(gè)類別分別擁有30 000個(gè)訓(xùn)練樣本及1 900個(gè)測試樣本。
(2)Yelp評(píng)論數(shù)據(jù)集(Yelp review):Yelp評(píng)論數(shù)據(jù)集是來自2015年的Yelp數(shù)據(jù)集挑戰(zhàn)賽,該數(shù)據(jù)集包含了1 569 264個(gè)評(píng)論文本的樣本。Yelp_F (Yelp review full)是用于情感分類的用戶評(píng)論數(shù)據(jù)集,每個(gè)評(píng)級(jí)分別包含130 000個(gè)訓(xùn)練樣本和 10 000 個(gè)測試樣本。Yelp_P是一個(gè)二分類數(shù)據(jù)集,不同極性分別包含280 000個(gè)訓(xùn)練樣本和19 000個(gè)測試樣本。
(3)斯坦福情感樹數(shù)據(jù)庫(Stanford Sentiment Treebank,SST):是情感分類的數(shù)據(jù)集,電影評(píng)論分為5類(消極、稍微消極、中立、稍微積極、積極)。實(shí)驗(yàn)數(shù)據(jù)選取的是SST中的SST-2,在SST基礎(chǔ)上去除了中立評(píng)論,將數(shù)據(jù)集分為了積極與消極這兩類。
(4)問句類型數(shù)據(jù)集(text retrieval conference,TREC):是一種用于問題分類的數(shù)據(jù)集,具體可以分為縮寫、描述、實(shí)體、人物、地點(diǎn)、數(shù)值共六類。
(5)電影評(píng)論(movie reviews,MR):是針對(duì)電影的影評(píng)數(shù)據(jù)集,旨在將其劃分為積極與消極這兩種類別。
在對(duì)數(shù)據(jù)集的預(yù)處理中,僅保留了英文字符及標(biāo)點(diǎn),并將所有的字符轉(zhuǎn)換為小寫形式,將數(shù)據(jù)集中出現(xiàn)了例如“#”“*”“~”“$”等特殊符號(hào)進(jìn)行了刪除。同時(shí),還去除了一些“to”“of”等經(jīng)常出現(xiàn)但又毫無意義的停用詞。此外,對(duì)于英文中的部分縮寫進(jìn)行了還原,例如I’m將被還原為I am。
經(jīng)過預(yù)處理后的文本長度可能長短不一,為了更好地進(jìn)行模型的訓(xùn)練,將文本長度設(shè)置為默認(rèn)值,通過參數(shù)max_length來調(diào)節(jié),小于默認(rèn)值的句子進(jìn)行填充,超過默認(rèn)值的句子將多余的部分截取。
3.3.1 詞向量選擇
使用兩種訓(xùn)練好的詞向量模型glove和word2vec作為文本表示的原始輸入。其中g(shù)love預(yù)訓(xùn)練詞向量維度為300,word2vec預(yù)訓(xùn)練詞向量維度為200。
3.3.2 評(píng)價(jià)指標(biāo)
(9)
式(9)中:I(*)為指示函數(shù),當(dāng)內(nèi)容為真時(shí),其值1,反之為0。
3.3.3 超參數(shù)設(shè)置
參數(shù)設(shè)置如表2所示,其中,學(xué)習(xí)率為0.03,多通道卷積層中卷積核窗口大小為2、3、4、5;每個(gè)卷積核個(gè)數(shù)均為200,為防止過擬合使用dropout機(jī)制,dropout值設(shè)置為0.5;全連接節(jié)點(diǎn)數(shù)均為256。
表2 參數(shù)設(shè)置
3.4.1 模型整體結(jié)果分析
為了驗(yàn)證MC-CNN模型的有效性,選擇了近五年來提出的多個(gè)先進(jìn)模型,以不同的角度進(jìn)行了實(shí)驗(yàn)對(duì)比。
(1)DSCNN模型由Zhang等[16]提出,模型首先利用LSTM對(duì)時(shí)序信息特征提取,然后再利用CNN提取空間特征,目的是為了解決LSTM不能考慮到未來時(shí)刻信息的缺點(diǎn)。
(2)VeryDeep-CNN模型由Lecun等[17]提出,模型受到圖像領(lǐng)域加深模型深度提取特征效果更好的啟發(fā),使用了一個(gè)29層的CNN網(wǎng)絡(luò)來獲取文本數(shù)據(jù)長距離依賴關(guān)系。
(3)CNN由Kim[18]提出,該模型首次將卷積神經(jīng)網(wǎng)絡(luò)引入自然語言處理領(lǐng)域,模型僅僅使用了卷積層來對(duì)文本信息特征提取從而完成文本分類任務(wù)。
(4)fastText模型是由Grave等[19]提出的一種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),它是一個(gè)簡單而又高效的線性分類模型,能夠在很短的時(shí)間內(nèi)實(shí)現(xiàn)海量文本分類,支持億萬數(shù)據(jù)量。模型采用了對(duì)所有單詞的詞向量平均池化處理的方式來對(duì)文本進(jìn)行向量化表示。
(5)WE模型類似于fastText模型,僅僅只是將平均池化替換成了最大池化。
(6)MCTC-dense模型由Xu等[20]提出,其核心思想是在不同時(shí)間維度采用了不同尺寸的卷積核提取文本不同尺度信息,同時(shí)不同尺寸的卷積核提取的特征還可以用來解決長序列間的依賴關(guān)系。
實(shí)驗(yàn)在短文本和長文本數(shù)據(jù)集上結(jié)果分別如如表3、表4所示,其中MC-CNN-w2v(multi channels-convolutional neural network-word2vec)表示的是通過使用word2vec預(yù)訓(xùn)練詞向量作為輸入進(jìn)行文本分類;MC-CNN-glo(multi channels-convolutional neural network-glove)表示的是僅通過使用glove預(yù)訓(xùn)練詞向量進(jìn)行文本分類;SC-CNN(single channel-convolutional neural network)表示的是通過將4個(gè)通道賦以不同權(quán)重最后融合為一個(gè)通道的結(jié)果;MC-CNN則是采用兩種來源的詞向量和4個(gè)通道分開時(shí)的實(shí)驗(yàn)結(jié)果。
表3 各模型在短文本數(shù)據(jù)集準(zhǔn)確率對(duì)比
表4 各模型在長文本數(shù)據(jù)集準(zhǔn)確率對(duì)比
從表3可知,在短文本的分類任務(wù)中,所提出的MC-CNN模型在MR和TREC數(shù)據(jù)集上相比于其他模型都達(dá)到了最好的結(jié)果,尤其是在TREC數(shù)據(jù)集上達(dá)到了98.6%的結(jié)果,比DSCNN高出了3.2%,此外在MR數(shù)據(jù)集上的效果比fastText和WE均高出了6%以上。雖然模型在SST-2數(shù)據(jù)集上實(shí)驗(yàn)效果不及DSCNN模型,但是也取得了有競爭力的結(jié)果。通過以上實(shí)驗(yàn)結(jié)果可以得出本文模型可以很好地解決之前提出的問題。
實(shí)驗(yàn)進(jìn)一步分析了MC-CNN在AG、Yelp_F和Yelp_P這3個(gè)長文本數(shù)據(jù)上的表現(xiàn),結(jié)果如表4所示。實(shí)驗(yàn)結(jié)果顯示相較于其他5個(gè)模型,MC-CNN在這3個(gè)長文本數(shù)據(jù)集上均取得了最好的結(jié)果,并且比排名第2的模型準(zhǔn)確率分別提升了1.9%、0.2%和0.8%。與僅使用卷積神經(jīng)網(wǎng)絡(luò)來提取文本特征的模型相比,MC-CNN在3個(gè)長文本數(shù)據(jù)集上準(zhǔn)確率均提升高出3%左右,由此可以說明僅僅使用卷積神經(jīng)網(wǎng)絡(luò)忽略了文本很重要的序列特征導(dǎo)致效果不佳。此外MC-CNN在3個(gè)長文本數(shù)據(jù)集上實(shí)驗(yàn)結(jié)果都比Very-Deep CNN效果都好,側(cè)面也可以說明單純的增加網(wǎng)絡(luò)層數(shù)也并不能提高模型特征提取能力。
3.4.2 消融實(shí)驗(yàn)
為了更加證明MC-CNN模型的有效性,將MC-CNN3個(gè)衍生模型在6個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比,從表3、表4可知,使用一種詞向量來源的MC-CNN-w2v和MC-CNN-glo模型僅在數(shù)據(jù)集TREC和AG上的準(zhǔn)確率好于其他幾種模型,使用單通道特征表示的SC-CNN模型也僅在數(shù)據(jù)集TREC和AG上的效果優(yōu)于其他幾種模型。相較之下MC-CNN在6個(gè)數(shù)據(jù)集中有5個(gè)數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果優(yōu)于比其他模型。
為了說明多通道特征表示和使用不同來源詞向量的優(yōu)越性,將MC-CNN模型以及對(duì)應(yīng)的變體在6個(gè)數(shù)據(jù)集上的準(zhǔn)確率實(shí)驗(yàn)對(duì)比結(jié)果顯示在如圖5所示。從整體上來看,MC-CNN模型在6個(gè)數(shù)據(jù)集上的準(zhǔn)確率均好于其他3個(gè)變體模型在各個(gè)數(shù)據(jù)集上的準(zhǔn)確率;MC-CNN-glo模型在其中4個(gè)數(shù)據(jù)集上的結(jié)果均好于模型MC-CNN-w2v,在數(shù)據(jù)集TREC、AG、Yelp_F和Yelp_F分別高出0.8%、0.2%、0.7%和0.3%,側(cè)面可以說明glove預(yù)訓(xùn)練詞向量在本模型的效果比word2vec預(yù)訓(xùn)練詞向量效果好。使用單通道的模型SC-CNN在整體上也都略差于使用多通道的模型MC-CNN-w2v、MC-CNN-glo和MC-CNN,在數(shù)據(jù)集TREC、AG、Yelp_F和Yelp_F上的準(zhǔn)確率分別低了0.4%、0.7%、0.9%和0.8%,也可以反映利用多通道特征表示的優(yōu)點(diǎn)。同時(shí)使用不同來源詞向量的模型MC-CNN在6個(gè)數(shù)據(jù)集上的準(zhǔn)確率均優(yōu)于僅使用單一來源詞向量的MC-CNN-w2v和MC-CNN-glo模型,準(zhǔn)確率分別提升0.9%、0.1%、1.3%、0.8%、1.5%和1%,因此也可以說明同時(shí)使用多種來源詞向量文本表示的優(yōu)點(diǎn)。綜上實(shí)驗(yàn)結(jié)果分析表明,采用多通道和多種詞向量表示的MC-CNN模型整體效果要好于其他3種衍生模型。
圖5 模型結(jié)果對(duì)比Fig.5 Comparison of model accuracy
從總體上看,MC-CNN模型在絕大多數(shù)情況下都好于實(shí)驗(yàn)中所對(duì)比的模型,尤其是在長文本分類數(shù)據(jù)集中。其原因在于:①M(fèi)C-CNN模型采用了兩種不同方式的詞向量來源,其結(jié)合了各自所擁有的優(yōu)勢;②MC-CNN模型中的Bi-LSTM能夠較好的同時(shí)對(duì)時(shí)間序列進(jìn)行正序和逆序上的編碼;③MC-CNN模型采用了一種新的多通道形式來取代傳統(tǒng)的融合的特征表示方法并進(jìn)行卷積處理,使得整個(gè)模型能夠同時(shí)考慮到當(dāng)前時(shí)刻之前和當(dāng)前時(shí)刻之后的信息;這使本文所提出的MC-CNN模型能夠在大多數(shù)情況下優(yōu)于已有的文本分類模型。
以Bi-LSTM和CNN為基礎(chǔ)提出基于CNN的多通道特征表示文本分類模型。該模型首先通過Bi-LSTM對(duì)不同來源詞向量所表示的文本序列進(jìn)行正逆序上的特征提取形成多通道特征,然后利用多尺度CNN網(wǎng)絡(luò)來進(jìn)一步使得模型能夠同時(shí)考慮到當(dāng)前時(shí)刻之前以及之后的信息,并最終完成分類任務(wù)。同時(shí)為了證明多通道特征以及不同來源詞向量的有效性,實(shí)驗(yàn)對(duì)比了由MC-CNN所衍生出的3種模型。此外,由于注意力機(jī)制在自然語言處理領(lǐng)域越來越受到廣大研究者的喜愛,因此計(jì)劃下一步利用注意力機(jī)制來進(jìn)一步改善模型。