胡豐麟,朱立忠(通信作者)
(沈陽(yáng)理工大學(xué)自動(dòng)化與電氣工程學(xué)院 遼寧 沈陽(yáng) 110159)
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,新聞作為信息的重要載體呈現(xiàn)出爆發(fā)式的增長(zhǎng),深度神經(jīng)網(wǎng)絡(luò)也正在逐步取代傳統(tǒng)算法和機(jī)器學(xué)習(xí)。與英語(yǔ)和其他語(yǔ)種的文本分類相比,中文文本分類由于漢字的獨(dú)特性變得更加困難。最初的文本分類是通過(guò)建立專家規(guī)則進(jìn)行分類,但由于在靈活性、可擴(kuò)展性和分類效果等方面存在許多不足,并未取得過(guò)多的關(guān)注。支持向量機(jī)、K 鄰近、決策樹(shù)和最大熵等機(jī)器學(xué)習(xí)算法由于對(duì)文本處理的效果較好,成為常見(jiàn)主流算法。當(dāng)數(shù)據(jù)量非常大時(shí),這些算法在處理時(shí)成本較高。
近年來(lái),由于深度學(xué)習(xí)模型能夠捕捉語(yǔ)義詞關(guān)系,在性能上優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)方法,因此在文本分類中使用深度學(xué)習(xí)模型引起了廣大學(xué)者極大的興趣。使用分布式表示方法來(lái)表示單詞和短語(yǔ),不僅可以獲得單詞在語(yǔ)言前后的關(guān)系特征,而且避免了數(shù)據(jù)的高維和稀疏問(wèn)題。Liu 等[1]提出了一種可以在中文文本中提取上下文信息的模型,這種模型主要是運(yùn)用LSTM 來(lái)對(duì)文本的上下文特征提取。在2013年,谷歌公司發(fā)布的Word2vec 工具可以將文本進(jìn)行向量化,從而得到文本的詞向量,挖掘出更加深層的聯(lián)系,而且Word2vec 輸出詞向量可以輸入到其他的深度學(xué)習(xí)網(wǎng)絡(luò)模型中進(jìn)一步處理,極大地提升了文本分類的準(zhǔn)確率。由于Word2vec 模塊的完善,人們已經(jīng)可以利用它對(duì)大量文字?jǐn)?shù)據(jù)進(jìn)行訓(xùn)練,把文字表示成低維稠密的矢量空間,從而降低了大量文字?jǐn)?shù)據(jù)存儲(chǔ)的困難度,并考慮到詞語(yǔ)之間的關(guān)聯(lián),從而更好地描述了大量文字?jǐn)?shù)據(jù),這將極大地促進(jìn)深度學(xué)習(xí)技術(shù)在文字分析上的發(fā)展和應(yīng)用[2]。閆秘[3]對(duì)fastText 算法進(jìn)行改進(jìn),通過(guò)改進(jìn)特征向量的權(quán)重,以及替換數(shù)據(jù)集中主題詞來(lái)提高模型的分類效率。肖琳等[4]都將注意力機(jī)制與CNN和RNN的結(jié)合應(yīng)用到了文本分類問(wèn)題中。陶文靜[5]在新聞文本分類任務(wù)的研究中提出了一種改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)模型,在多個(gè)數(shù)據(jù)集中取得了不錯(cuò)的效果。殷亞博等[6]將卷積神經(jīng)網(wǎng)絡(luò)和K 鄰近算法相結(jié)合,通過(guò)卷積神經(jīng)網(wǎng)絡(luò)對(duì)文本特征進(jìn)行提取,KNN 分類器進(jìn)行分類。經(jīng)過(guò)測(cè)試,該模型在多個(gè)數(shù)據(jù)集都有著較好的分類效果。高云龍等[7]通過(guò)在全連接層增加稀疏編碼的方法來(lái)降低模型的復(fù)雜度。該模型經(jīng)過(guò)反復(fù)實(shí)驗(yàn),具有較好的文本分類效果。胡杰等[8]提出了一種新模型,將卷積神經(jīng)網(wǎng)絡(luò)和隨機(jī)森林算法結(jié)合,通過(guò)卷積神經(jīng)網(wǎng)絡(luò)提出文本特征,隨機(jī)森林對(duì)文本進(jìn)行分類。陳可嘉等[9]將卷積神經(jīng)網(wǎng)絡(luò)和長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)相結(jié)合,通過(guò)將卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行動(dòng)態(tài)池化來(lái)提出更多的文本特征。經(jīng)過(guò)實(shí)驗(yàn)對(duì)比,該模型比其他模型擁有更高的精度。
傳統(tǒng)的CNN 網(wǎng)絡(luò)不能解決由于文本分類任務(wù)中上下文之間存在很強(qiáng)的依賴性和連續(xù)性,導(dǎo)致模型精度較低的問(wèn)題。本文提出了一種卷積神經(jīng)網(wǎng)絡(luò)(CNN)和長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)的混合文本分類模型,通過(guò)實(shí)驗(yàn),該模型與其他傳統(tǒng)的深度學(xué)習(xí)模型相比具有更高的準(zhǔn)確率。
CNN 和LSTM 的混合模型主要是保留了各自的優(yōu)點(diǎn),通過(guò)Word2vec 預(yù)處理所獲得的詞向量輸入在CNN 的卷積層中,把CNN 的輸出視為L(zhǎng)STM 第一層的輸入,在每一層的輸出都做歸一化處理。該模型既解決了CNN 模型只能提取局部特征的問(wèn)題,又能夠解決上下文的依賴關(guān)系,有效地提高了模型的準(zhǔn)確率。
由于神經(jīng)網(wǎng)絡(luò)需要輸入的是向量,需要先對(duì)新聞文本進(jìn)行預(yù)處理,將新聞文本映射成為向量,Word2vec 就是一個(gè)用來(lái)生成詞向量的工具。CBOW 和Skip-gram 是Word2vec 的兩個(gè)模型,CBOW 通過(guò)上下文預(yù)測(cè)目標(biāo)詞訓(xùn)練得到詞向量,并在小型語(yǔ)料庫(kù)上使用;Skip-gram 是用一個(gè)詞去預(yù)測(cè)它文本序列周圍的詞,適合在文本預(yù)料較多時(shí)使用。Skip-gram 模型中每個(gè)單詞在做中心詞前,都會(huì)經(jīng)過(guò)K 次的檢測(cè)和微調(diào),而這樣反復(fù)的微調(diào)就會(huì)導(dǎo)致單詞向量的變化比較精確。由于本文的新聞數(shù)據(jù)量較大,決定采用skip-gram 模型對(duì)文本進(jìn)行預(yù)處理。
Skip-gram 模型,其訓(xùn)練復(fù)雜度為:
式(1)中,C 為Word2vec 模型輸入層的窗口大小,D表示詞向量維度,V 表示訓(xùn)練語(yǔ)料的詞典大小。
長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)在處理文本分類任務(wù)上都有各自的優(yōu)勢(shì),CNN 雖然能夠保留文字的全局度量特性,并合理地挖掘文本中所有可能的語(yǔ)義關(guān)聯(lián)現(xiàn)象,但卻不能處理文本上下文的相互影響現(xiàn)象和上下文語(yǔ)義關(guān)聯(lián)現(xiàn)象。而由于LSTM 具備了對(duì)長(zhǎng)期語(yǔ)境信息依賴的特點(diǎn),可合理使用和記憶更大程度的長(zhǎng)期上下文語(yǔ)義關(guān)聯(lián),從而有效地分析文本序列的含義。因此根據(jù)二者的結(jié)構(gòu)特征,在本文中建立了一個(gè)CNN-LSTM 架構(gòu),作為對(duì)信息的分析。CNN-LSTM 的網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示。
圖1 CNN-LSTM 網(wǎng)絡(luò)模型結(jié)構(gòu)
卷積層:文中利用三層一維卷積,每個(gè)輸入層包含一個(gè)向量序列,并使用固定大小的濾波器進(jìn)行掃描,檢測(cè)文本的不同特征。在激活函數(shù)的選擇上,比較常用的是Sigmoid 函數(shù),但是這個(gè)函數(shù)的計(jì)算量比較大,在訓(xùn)練深度網(wǎng)絡(luò)時(shí)容易出現(xiàn)梯度消失的問(wèn)題,因此決定使用ReLU作為激活函數(shù)。這個(gè)函數(shù)更像一個(gè)線性函數(shù),當(dāng)神經(jīng)網(wǎng)絡(luò)的行為是線性或接近線性時(shí)會(huì)更容易優(yōu)化,也是因?yàn)榇颂匦?,在使用這個(gè)激活函數(shù)進(jìn)行訓(xùn)練的網(wǎng)絡(luò)幾乎完全避免了梯度消失的問(wèn)題,訓(xùn)練的速度也會(huì)比前者更快。
Batch Normalization 層:和Dropout 的作用相似,都是起到了防止模型過(guò)擬合的作用,而且相比Dropout,Batch Normalization 的調(diào)參過(guò)程也相對(duì)簡(jiǎn)便一些,能夠有效地提高模型的學(xué)習(xí)率,提高模型的訓(xùn)練速度和收斂過(guò)程,作用在每層卷積層之后。
池化層:在BN 層之后,采用max-pooling。選用最大池化層是為了捕捉最重要的特征并減少高級(jí)層中的計(jì)算。應(yīng)用衰減技術(shù)來(lái)減少過(guò)擬合,衰減值為0.5,這樣做能夠保留全局的序列信息。
時(shí)序?qū)樱涸搶泳哂幸欢〝?shù)量的單元,每個(gè)單元的輸入都是卷積層的輸出。通過(guò)LSTM 來(lái)解決在長(zhǎng)文本中,CNN 無(wú)法捕捉上下文中存在的依賴特性關(guān)系這一問(wèn)題。
輸出層:采用Softmax 分類器,使用Softmax 函數(shù)對(duì)獲得的特征T 進(jìn)行分類。由于T 是一個(gè)向量,因此不可能基于T 直接確定文檔的類別。因此,Softmax 函數(shù)用于執(zhí)行規(guī)范化方法,以獲得文檔屬于特定類別。公式如下:
文本預(yù)測(cè)的標(biāo)簽公式如下:
該模型中使用的損失函數(shù)是交叉熵?fù)p失,并引入了L2正則化。公式定義如下:
t 是文本真實(shí)標(biāo)簽的概率,p(y/s)是具有Softmax函數(shù)的每個(gè)類的概率,s 是目標(biāo)分類數(shù),λ 表示模型的復(fù)雜損失占總損失的比例。經(jīng)過(guò)Softmax 函數(shù)得到每個(gè)類別的概率,完成文本分類的任務(wù)得到最終的分類結(jié)果。
本實(shí)驗(yàn)所用的資料集為清華大學(xué)自然語(yǔ)言處理研究室提供的中文文本分析資料集。THUCNews 數(shù)據(jù)集包括了740 000 個(gè)新聞文本,十四種新聞?lì)愋?。文本采用了其中的十種類型,并選取50 000 條新聞數(shù)據(jù)作為訓(xùn)練集,10 000 條新聞數(shù)據(jù)作為測(cè)試集。為了滿足深度學(xué)習(xí)對(duì)于數(shù)據(jù)量的需求,將已經(jīng)標(biāo)注好的網(wǎng)絡(luò)新聞文本中的詞語(yǔ)通過(guò)同義詞替換等方式來(lái)擴(kuò)充數(shù)據(jù)。使用softsign 和Adam 作為Textcnn 和CNN-LSTM 的激活函數(shù)和優(yōu)化函數(shù),來(lái)測(cè)試兩種算法使用相同數(shù)據(jù)集的準(zhǔn)確率和損失函數(shù),結(jié)果如圖2和圖3所示。
從圖2和圖3得出,CNN-LSTM 模型比Textcnn 模型擁有更加的準(zhǔn)確率,且損失函數(shù)下降比較平穩(wěn),說(shuō)明了此模型相對(duì)其他算法模型具有良好的穩(wěn)定性。
圖2 Textcnn 的accuracy 和loss 趨勢(shì)變化
圖3 CNN-LSTM 的accuracy 和loss 趨勢(shì)變化
接著將Textcnn、LSTM 和CNN-LSTM 的準(zhǔn)確率進(jìn)行對(duì)比,如表1所示。
表1 分類準(zhǔn)確率對(duì)比
從表1可以看出,三個(gè)模型的準(zhǔn)確率分別為0.910、0.864 和0.962。其中CNN-LSTM 的準(zhǔn)確率達(dá)到了0.962,比Textcnn 的準(zhǔn)確率高出了0.052,與LSTM 相比準(zhǔn)確率更是高出了0.98,說(shuō)明了CNN-LSTM 模型能夠進(jìn)行更精確地分析,有著更高的準(zhǔn)確率,能夠有效地提高文本分類的效果。
實(shí)驗(yàn)數(shù)據(jù)表明,這個(gè)結(jié)構(gòu)的CNN-LSTM 模型與傳統(tǒng)的深度學(xué)習(xí)模型相比,具有較高的準(zhǔn)確率,訓(xùn)練效果比傳統(tǒng)的模型有較顯著的提升。該模型在保證每條數(shù)據(jù)結(jié)構(gòu)不變的情況下,挖掘出更深層的語(yǔ)義結(jié)構(gòu),更好地表達(dá)數(shù)據(jù)的原始特征,有助于提高文本分類的效果。
針對(duì)傳統(tǒng)的深度學(xué)習(xí)模型在文本分類任務(wù)上的準(zhǔn)確率不高的問(wèn)題,文中提出了一種將CNN 模型和LSTM 模型的優(yōu)勢(shì)相結(jié)合的混合模型,將CNN 的輸出作為L(zhǎng)STM 的輸入,并在原始的卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,采用計(jì)算速度和收斂速度更快的ReLU 函數(shù)作為模型的激活函數(shù),將BN 層加入到卷積神經(jīng)網(wǎng)絡(luò)中來(lái)加快網(wǎng)絡(luò)的收斂速度。通過(guò)實(shí)驗(yàn)比較,在對(duì)海量的新聞信息進(jìn)行分析時(shí),混合模型的準(zhǔn)確率達(dá)到了96.2%,說(shuō)明混合模型比傳統(tǒng)的深度學(xué)習(xí)模型擁有更高的預(yù)測(cè)精度,具有更好的分類效果,因此能適用于網(wǎng)絡(luò)新聞的分類任務(wù)。