滕金保,孔韋韋,田喬鑫,王照乾
1.西安郵電大學(xué),西安710121
2.陜西省網(wǎng)絡(luò)數(shù)據(jù)分析與智能處理重點(diǎn)實(shí)驗(yàn)室,西安710121
隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,大量文本信息不斷涌入到互聯(lián)網(wǎng)中,如何快速高效地將海量文本數(shù)據(jù)進(jìn)行歸類并提取其中的關(guān)鍵信息尤為重要。文本分類技術(shù)便于人們對文本數(shù)據(jù)處理,有助于提取文本中最有價(jià)值的信息,也是自然語言處理中一項(xiàng)最基本的任務(wù),在輿情分析[1]、垃圾郵件識(shí)別[2]、情感分析[3]任務(wù)中有重要的研究意義,受到了人們的高度重視。
傳統(tǒng)的文本分類算法主要是基于統(tǒng)計(jì)的分類算法,結(jié)合特征工程實(shí)現(xiàn)對文本的分類[4]。Chen等[5]提出了一種基于KNN 的新聞文本分類方法,首先對新聞文本進(jìn)行預(yù)處理和特征提取,然后進(jìn)行數(shù)據(jù)歸一化和降維處理,最后通過KNN 分類器進(jìn)行分類。Saigal 等[6]提出了一種最小二乘雙支持向量機(jī)(LS-TWSVM)方法用于文本分類,首先將數(shù)據(jù)集轉(zhuǎn)換成所需要的格式,然后執(zhí)行預(yù)處理標(biāo)記和刪除不相關(guān)的數(shù)據(jù),將特征集構(gòu)造為術(shù)語頻率和逆文檔頻率矩陣,從而得到每個(gè)文檔的代表向量,最后利用LS-TWSVM 進(jìn)行分類。文獻(xiàn)[7]提出用改進(jìn)的樸素貝葉斯來解決文本分類問題,通過構(gòu)造一個(gè)相關(guān)因子,該因子包含了不同類之間的總體相關(guān)性,有效地利用了自舉的思想,對于較小的訓(xùn)練集數(shù)據(jù)仍然有不錯(cuò)的效果。以上改進(jìn)算法雖然在一定程度上提高了文本分類的效果,但都需要人工提取文本特征,且沒有考慮特征之間的相關(guān)性,忽略了特征之間的相互影響,同時(shí)文本存儲(chǔ)存在高維稀疏、表達(dá)能力弱的缺點(diǎn)[8]。
隨著研究的深入,word2vec將文本表示成低維稠密的向量空間,大大降低了文本數(shù)據(jù)存儲(chǔ)的難度,且考慮了詞語之間的相關(guān)性,更好地表示了文本數(shù)據(jù),這極大地推動(dòng)深度學(xué)習(xí)在文本分類上的廣泛應(yīng)用[9]。卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)是近年來最流行的深度學(xué)習(xí)算法之一,卷積核通過設(shè)置不同的權(quán)重來提取多維特征,然后經(jīng)過池化層獲取局部關(guān)鍵信息,通過其特有的網(wǎng)絡(luò)結(jié)構(gòu)和權(quán)值共享策略使得降維速度更快且訓(xùn)練的參數(shù)相對較少,網(wǎng)絡(luò)結(jié)構(gòu)簡單高效且適應(yīng)性強(qiáng)[10]?;诟倪M(jìn)卷積神經(jīng)網(wǎng)絡(luò)的短文本分類模型[11]用改進(jìn)的CNN 提取不同粒度的短文本特征,有效提取到關(guān)鍵信息且模型分類準(zhǔn)確率較高。全卷積神經(jīng)網(wǎng)絡(luò)的字符級文本分類方法[12]使用字符級別CNN進(jìn)行文本分類,在二分類任務(wù)上取得了較好的成績。雖然CNN 和其改進(jìn)模型可以有效提取局部關(guān)鍵信息,且分類效果較好,但忽略了文本上下文語義信息。循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)作為自然語言的標(biāo)配,可以更好地處理文本上下文信息,高效地挖掘數(shù)據(jù)的局部特征,但由于在處理長文本時(shí)會(huì)導(dǎo)致部分信息的丟失,因此目前多采用循環(huán)神經(jīng)網(wǎng)絡(luò)的變體長短時(shí)記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)進(jìn)行文本上下文語義信息的提取。基于CNN和BiLSTM網(wǎng)絡(luò)特征融合的文本情感分析[13]首先用CNN 提取文本局部特征,同時(shí)用BiLSTM提取文本上下文語義特征,然后將兩個(gè)網(wǎng)絡(luò)的輸出進(jìn)行融合,該算法結(jié)合了CNN 和BiLSTM提取文本特征的優(yōu)點(diǎn),大幅度提高了模型預(yù)測的效果,但沒有考慮到文本中最關(guān)鍵的信息,沒有將注意力集中在重要的詞語上[14]。CNN 和LSTM 在提取文本信息時(shí)都有各自的優(yōu)勢,但都存在可解釋性弱的不足的缺點(diǎn),為此,Bahdanau等[15]將注意力(Attention)機(jī)制引入RNN并在機(jī)器翻譯任務(wù)中取得了不錯(cuò)的成績,開啟了Attention機(jī)制在自然語言的先河。Li 等[16]提出雙通道注意力模型(DCAM)用于文本情緒分析,首先用word2vec 訓(xùn)練詞向量并將文本表示成矩陣形式,然后用CNN和LSTM進(jìn)行特征提取,最后引入注意力機(jī)制把注意力集中在重要的詞語上,大幅度提高了模型預(yù)測的效果?;谟脩艉彤a(chǎn)品Attention 機(jī)制的層次BGRU 模型[17]提出利用奇異值分解得到語義的先驗(yàn)信息,然后利用雙向門循環(huán)單元提取上下文語義信息,結(jié)合注意力機(jī)制進(jìn)行情感分析,模型預(yù)測的準(zhǔn)確率和訓(xùn)練速度都有極大的提升。
為進(jìn)一步提升文本分類的效果,充分利用文本信息中最關(guān)鍵最有價(jià)值的信息,本文提出一種基于LSTMAttention 與CNN 混合模型的文本分類方法MLACNN(Merge-LSTM-Attention-CNN),主要內(nèi)容如下:
(1)利用詞嵌入技術(shù)訓(xùn)練詞向量,將文本信息表示成低緯的稠密矩陣。
(2)用LSTM 提取文本上下文特征,將LSTM 的輸出作為Attention層的輸入提取注意力分值,根據(jù)分值計(jì)算出文本經(jīng)過Attention 層的向量,同時(shí)用CNN 對文本矩陣進(jìn)行卷積、池化提取文本局部關(guān)鍵特征。
(3)將Attention 層的輸出向量與CNN 層的輸出向量融合,得到最終的文本信息向量表示,根據(jù)這個(gè)向量進(jìn)行文本分類。
本文提出的MLACNN 模型充分利用了LSTM 和CNN提取文本特征的優(yōu)點(diǎn),在此基礎(chǔ)之上引入Attention機(jī)制,根據(jù)不同單詞對分類結(jié)果影響的大小賦予不同的權(quán)重,使單詞在分類任務(wù)中起更不同的作用,達(dá)到提高分類效果的目的。
本文提出MLACNN 模型,主要包含詞嵌入層、LSTM層、Attention層、CNN層,其總體架構(gòu)如圖1所示。
圖1 模型總體架構(gòu)圖
在文本分類任務(wù)中,通常采用字或詞語作為處理的基本單元,并用固定長度的實(shí)數(shù)向量表示,這種表示方式稱為詞嵌入(Word Embedding)。發(fā)展初期一般用獨(dú)熱編碼(One-Hot Encoding)進(jìn)行表示,該方法首先根據(jù)詞語創(chuàng)建一個(gè)詞匯表,每個(gè)詞語按順序編號并表示成一個(gè)維度等于詞語數(shù)的向量,向量中只有對應(yīng)順序編號位置為1,其余位置為0,這種方式表示的詞向量無法體現(xiàn)詞語之間的相關(guān)性,且向量維數(shù)過高,容易導(dǎo)致維數(shù)災(zāi)難問題的發(fā)生。
為了避免以上問題的出現(xiàn),MLACNN 模型中采用word2vec模型訓(xùn)練詞向量,相較于傳統(tǒng)的獨(dú)熱編碼表示的詞向量,該模型是通過對大規(guī)模文本數(shù)據(jù)進(jìn)行訓(xùn)練而得到的低緯且稠密的詞向量,可以更好地表示詞語之間的關(guān)系及信息。word2vec 模型有CBOW 和Skip-gram兩種結(jié)構(gòu),如圖2所示。
圖2 CBOW結(jié)構(gòu)和Skip-gram結(jié)構(gòu)
CBOW和Skip-gram結(jié)構(gòu)都由輸入層、映射層、輸出層組成,在訓(xùn)練過程中CBOW 結(jié)構(gòu)使用周圍的詞來預(yù)測中心詞,而Skip-gram 結(jié)構(gòu)則使用中心詞來預(yù)測周圍的詞。在訓(xùn)練速度方面CBOW結(jié)構(gòu)要比Skip-gram快,但從表達(dá)語義信息準(zhǔn)確性方面來看Skip-gram 要比CBOW 表達(dá)的效果更好[18],因此本文選用Skip-gram 結(jié)構(gòu)訓(xùn)練詞向量。Skip-gram模型在訓(xùn)練時(shí)通過中間詞向量Wt的條件概率值來求解上下文詞向量,計(jì)算公式為:
假設(shè)輸入到模型中的一條文本的單詞數(shù)為K,用向量[W1,W2,…,Wk]來表示這條文本,在經(jīng)過詞嵌入層后文本表示轉(zhuǎn)換成X=[x1,x2,…,xk],xi∈Rd,其中d為詞向量維度。
RNN 是一種多用于處理可變長序列的神經(jīng)網(wǎng)絡(luò),在文本分類中應(yīng)用廣泛,但由于傳統(tǒng)的RNN 在處理長序列文本時(shí)容易產(chǎn)生梯度消失和爆炸的問題,因此目前多采用RNN的改進(jìn)結(jié)構(gòu)LSTM,通過在神經(jīng)元加入輸入門i、遺忘門f、輸出門o、內(nèi)部記憶單元c使得在處理長序列文本時(shí)更加有優(yōu)勢,緩解了梯度消失和爆炸現(xiàn)象的發(fā)生,相較于RNN 能更有效地提取文本上下文信息。輸入門i控制當(dāng)前時(shí)刻網(wǎng)絡(luò)的輸入Xt有多少保存到單元狀態(tài)Ct,遺忘門f決定上時(shí)刻的單元狀態(tài)Ct-1有多少保留到當(dāng)前時(shí)刻Ct,輸出門o控制單元狀態(tài)Ct有多少輸出到LSTM的當(dāng)前輸出值Ht。LSTM結(jié)構(gòu)圖如圖3所示。
圖3 LSTM結(jié)構(gòu)圖
當(dāng)輸入的文本詞向量矩陣為X=[x1,x2,…,xk]時(shí),則LSTM的更新公式為:
式中,Ht為最終的輸出,σ(?) 為Sigmoid 激活函數(shù),tanh(?)為雙曲正切函數(shù),W為對應(yīng)的權(quán)重,b為對應(yīng)的偏置。
Attention機(jī)制的本質(zhì)是一組權(quán)重值分布,在自然語言處理領(lǐng)域表示為權(quán)重越大的詞在整個(gè)文本中越重要,在整個(gè)分類任務(wù)中發(fā)揮的作用也就越大。將注意力放在對文本分類結(jié)果影響較大的詞可以有效提升分類的效果。本文將LSTM提取文本上下文信息后的輸出Ht作為Attention層的輸入,模型結(jié)構(gòu)如圖4所示。
圖4 LSTM-Attention結(jié)構(gòu)圖
假設(shè)詞向量x1,x2,…,xL經(jīng)過LSTM 處理后對應(yīng)不同時(shí)刻的輸出為Ht,計(jì)算每一時(shí)刻輸出與整個(gè)特征向量的匹配得分為:
式中是比詞向量更高一級的文本表示形式,開始時(shí)初始化該向量,隨著模型訓(xùn)練時(shí)更新,分?jǐn)?shù)值越大表明對應(yīng)注意力越大,該詞也越重要。每一時(shí)刻輸出得分占總體百分比為:
式中j∈[0,L],得到每一時(shí)刻對應(yīng)的百分比后再對所有時(shí)刻輸出進(jìn)行求和再平均,得到最終向量V,計(jì)算公式為:
經(jīng)過LSTM-Attention 后得到的矩陣V既包含了文本上下文信息,又將注意力放在了重要的詞語上,更好地表示了語義信息。
CNN由若干卷積層、Pooling層、全連接層組成。其中卷積層通過不同大小的卷積核進(jìn)行特征提取,池化層有最大池化和平均池化兩種方式,對輸入的特征圖進(jìn)行壓縮,一方面使特征圖變小,簡化網(wǎng)絡(luò)計(jì)算復(fù)雜度,另一方面提取主要特征,全連接層連接所有的特征,將輸出值送給分類器。CNN其獨(dú)特的結(jié)構(gòu)可以有效地提取局部關(guān)鍵特征,MLACNN 模型采用TextCNN[19]結(jié)構(gòu)提取特征,如圖5所示。
圖5 Text-CNN模型
首先將文本表示成矩陣形式,然后使用多個(gè)不同大小的卷積核對詞向量進(jìn)行卷積,將卷積后的結(jié)果進(jìn)行最大池化操作得到一個(gè)新的特征向量Y。
MLACNN模型把經(jīng)過最大池化得到的特征向量Y與LSTM-Attention 的輸出向量V進(jìn)行拼接,得到一個(gè)新的向量Z,這個(gè)新的向量既包含了上下文語義信息又融合了局部關(guān)鍵信息,還將注意力放在重要的詞上,經(jīng)過一個(gè)隱藏層后由Softmax計(jì)算進(jìn)行分類,計(jì)算公式為:
同時(shí)為了進(jìn)一步提高模型預(yù)測準(zhǔn)確率,在隱藏層和分類層之間加入dropout,緩解過擬合現(xiàn)象,提高模型的泛化能力。
為驗(yàn)證MLACNN 模型預(yù)測性能,本模型和基準(zhǔn)實(shí)驗(yàn)在Ubuntu 18.04 系統(tǒng)上進(jìn)行,CPU 為Intel?Xeon?Gold 5218,使用Python3.6 編程語言,為更好地表示語義信息采用word2vec訓(xùn)練詞向量,且采用CUDA10.1進(jìn)行加速計(jì)算,具體實(shí)驗(yàn)環(huán)境如表1所示。
表1 實(shí)驗(yàn)環(huán)境
實(shí)驗(yàn)采用的數(shù)據(jù)集來自中山大學(xué)中文新聞數(shù)據(jù)集、搜狗實(shí)驗(yàn)室中文新聞數(shù)據(jù)集以及AG_news英文新聞數(shù)據(jù)集。選取搜狗實(shí)驗(yàn)室數(shù)據(jù)集(體育、房產(chǎn)、財(cái)經(jīng)、經(jīng)濟(jì)、游戲、文化、科技、教育、娛樂、健康)10 個(gè)類別共計(jì)20 000 條數(shù)據(jù),中山大學(xué)數(shù)據(jù)集(健康、教育、交通、科技、經(jīng)濟(jì)、娛樂、文化、游戲、科技)9個(gè)類別共計(jì)18 000條數(shù)據(jù),AG_news數(shù)據(jù)集(Sport、Word、Sci/Tech、Business)4個(gè)類別共計(jì)27 200條數(shù)據(jù)。具體信息如表2所示。
表2 數(shù)據(jù)集統(tǒng)計(jì)信息
由于Skip-gram結(jié)構(gòu)訓(xùn)練的詞向量表達(dá)語義信息準(zhǔn)確性方面要比CBOW 效果好,因此在進(jìn)行詞向量訓(xùn)練時(shí)采用Skip-gram 結(jié)構(gòu),同時(shí)為避免不常用的單詞對實(shí)驗(yàn)結(jié)果造成影響,在訓(xùn)練詞向量時(shí)選取詞頻前6 000 的單詞。在LSTM、CNN網(wǎng)絡(luò)層中為防止過擬合現(xiàn)象設(shè)置Drop_out 數(shù)值為0.5,隨機(jī)失活50%的隱藏層單元的激活值,采用ReLu激活函數(shù)可以加速收斂速度,也可以進(jìn)一步防止過擬合現(xiàn)象的發(fā)生。設(shè)置損失函數(shù)為多分類任務(wù)中常用的交叉熵?fù)p失,優(yōu)化器為Adam,Epoch 為10,Batch_size為256,具體參數(shù)如表3~5所示。
表3 Word2vec網(wǎng)絡(luò)參數(shù)
表4 LSTM網(wǎng)絡(luò)參數(shù)
表5 CNN網(wǎng)絡(luò)參數(shù)
采用分類任務(wù)常見的評估標(biāo)準(zhǔn):準(zhǔn)確率、精確率、召回率以及F1 值對MLACNN 模型進(jìn)行評估。混淆矩陣如表6所示。
表6 混淆矩陣
表6 中行和列分別表示分類前樣本的實(shí)際類別及分類后對樣本的預(yù)測類別,具體評估方法如下:
(1)準(zhǔn)確率(Acc)表示預(yù)測正確的樣本占總樣本的比重,計(jì)算公式為:
(2)精確率(Pre)表示實(shí)際類別且預(yù)測類別都為正的樣本占所有預(yù)測類別正的樣本比重,計(jì)算公式為:
(3)召回率(Rec)表示實(shí)際類別且預(yù)測類別都為正的樣本占所有實(shí)際類別為正的樣本比重,計(jì)算公式為:
(4)F1 值為準(zhǔn)確率和召回率的加權(quán)調(diào)和平均值,計(jì)算公式為:
為驗(yàn)證提出的MLACNN 模型預(yù)測性能,在同等實(shí)驗(yàn)環(huán)境下與以下基準(zhǔn)模型進(jìn)行對比:
(1)Text-CNN-Char[20]:處理的最小單元是字,將文本表示成字向量矩陣由不同大小的卷積核進(jìn)行特征提取,經(jīng)過池化層后進(jìn)行分類。
(2)Text-CNN-Word[21]:處理最小的單元是詞語,需要先將文本進(jìn)行分詞處理,然后將文本表示成詞向量矩陣的形式,經(jīng)過卷積池化后進(jìn)行分類。
(3)LSTM[22]:將整篇文檔作為一個(gè)單獨(dú)的序列,把單詞隱藏狀態(tài)的平均值作為分類的特征。
(4)BiLSTM[23]:雙向的LSTM,把兩個(gè)方向單詞隱藏狀態(tài)的平均值作為分類的特征。
(5)RCNN[24]:先用RNN提取文本上下文語義信息,再用CNN提取局部關(guān)鍵信息,最后進(jìn)行分類。
(6)CNN-LSTM[25]:先用CNN 提取局部關(guān)鍵特征,再用LSTM提取CNN的輸出,最后進(jìn)行分類。
(7)LSTM-CNN[26]:先用LSTM提取上下文信息,再用CNN提取LSTM的輸出,經(jīng)過池化后分類。
(8)Bert-Softmax[27]:先用Bert 預(yù)訓(xùn)練模型對文本進(jìn)行特征向量表示,然后經(jīng)過Softmax層進(jìn)行分類。
(9)CNN-BiGRU-Attention(C-BG-A)[28]:先用CNN提取深層次文本特征,然后用BiGRU 進(jìn)行序列化信息學(xué)習(xí),最后用Attention機(jī)制提取對結(jié)果影響較大的詞然后進(jìn)行分類。
MLACNN 模型和以上基準(zhǔn)模型在3 個(gè)公開數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表7~9所示。
表7 搜狗數(shù)據(jù)集實(shí)驗(yàn)結(jié)果對比 %
表8 中山大學(xué)數(shù)據(jù)集實(shí)驗(yàn)結(jié)果對比 %
從表格中可以看出MLACNN模型相較于以上提及的9 個(gè)基準(zhǔn)模型在3 個(gè)相同的數(shù)據(jù)集下分類效果更優(yōu),大幅度提高了模型分類的效果。相較于傳統(tǒng)CNN模型分類的效果分別提升了1.36 個(gè)百分點(diǎn)、2.96 個(gè)百分點(diǎn)、4.01個(gè)百分點(diǎn)。傳統(tǒng)CNN模型使用卷積核進(jìn)行特征提取時(shí)只考慮到了局部特征,而MLACNN 模型綜合考慮了文本隱含的上下文語義信息,能更好地表示文本最真實(shí)的語義信息。同時(shí)可以看到CNN模型在處理字向量的效果要明顯比處理詞的效果好,這是因?yàn)槲谋驹谶M(jìn)行分詞時(shí)會(huì)有一定的分詞誤差,而該誤差在進(jìn)行特征提取時(shí)會(huì)進(jìn)一步向神經(jīng)網(wǎng)絡(luò)層傳遞,無法在網(wǎng)絡(luò)中將該誤差消除,從而導(dǎo)致采用同樣的模型處理字的效果要比詞語的效果好。相較于傳統(tǒng)LSTM 模型預(yù)測效果分別提升了2.63 個(gè)百分點(diǎn)、8.70 個(gè)百分點(diǎn)、2.87 個(gè)百分點(diǎn)。傳統(tǒng)LSTM 相較于CNN 雖然可以有效地提取文本上下文語義信息,但在進(jìn)行分類時(shí)認(rèn)為每個(gè)詞對最終的結(jié)果起同等作用,而在文本分類任務(wù)中一些詞語相對于其他詞語起的作用可能更大,甚至決定了最終分類的結(jié)果。MLACNN 模型不僅考慮了上下文語義信息,還綜合考慮了其他影響分類效果的因素,把注意力放在了更重要的詞上。相較于CNN、LSTM混合模型分類效果分別提升了1.05個(gè)百分點(diǎn)、2.04個(gè)百分點(diǎn)、2.34個(gè)百分點(diǎn)。CNN、LSTM 混合模型雖然可以有效地提取文本上下文語義信息和局部關(guān)鍵特征,相較于單個(gè)模型提升了分類的效果,但仍然沒有體現(xiàn)每個(gè)詞在文本中重要程度的問題,沒有將注意力放在對結(jié)果影響較大的詞上,而MLACNN模型不僅可以有效地提取文本上下文語義信息及局部關(guān)鍵特征,還識(shí)別到對分類結(jié)果影響大的詞語,從而將注意力放在該詞上,讓更重要的詞在分類時(shí)起到更大的作用,從而提升了分類的效果。相較于Bert-Softmax 模型分類效果分別提升了2.50 個(gè)百分點(diǎn)、3.44個(gè)百分點(diǎn)、3.61個(gè)百分點(diǎn),相較于C-BG-A混合模型分類效果分別提升了1.31 個(gè)百分點(diǎn)、2.16 個(gè)百分點(diǎn)、2.97 個(gè)百分點(diǎn),這是因?yàn)樵谶M(jìn)行特征提取時(shí)C-BG-A 混合模型首先用CNN提取深層的語義信息,然后用BiGRU提取序列信息,最后用Attention機(jī)制識(shí)別出每個(gè)單詞的重要程度,特征提取的有效性依賴于CNN 模型提取特征的特點(diǎn),而CNN 進(jìn)行特征提取時(shí)可能會(huì)導(dǎo)致部分語義信息的丟失,進(jìn)而影響模型分類的效果,且C-BG-A混合模型采用遞進(jìn)式的結(jié)構(gòu)更容易出現(xiàn)梯度消失和爆炸的問題,而MLACNN 模型采用并行結(jié)構(gòu),有效緩解梯度消失和爆炸的問題,進(jìn)行特征提取時(shí)更是結(jié)合了CNN和LSTM的提取特征優(yōu)勢,因此分類效果要明顯優(yōu)于C-BG-A混合模型。
表9 AG_news數(shù)據(jù)集實(shí)驗(yàn)結(jié)果對比 %
除此之外可以看出雖然同是CNN、LSTM 混合模型,但LSTM-CNN 分類的效果要比CNN-LSTM 效果好,因?yàn)镃NN提取的是局部關(guān)鍵特征,如果在LSTM之前提取文本局部關(guān)鍵信息則會(huì)導(dǎo)致對文本原始信息提取不全問題的發(fā)生,LSTM 提取的是CNN 的輸出,也無法彌補(bǔ)由CNN 提取局部特征所帶來的丟失信息的問題,而如果先用LSTM提取上下文語義信息則不會(huì)出現(xiàn)該問題,LSTM 可以有效提取文本上下文信息,在經(jīng)過CNN卷積、池化后得到局部關(guān)鍵信息,根據(jù)輸出的局部關(guān)鍵信息進(jìn)行分類,因此LSTM-CNN 的分類效果要比CNN-LSTM效果好。而對照RCNN和LSTM-CNN可以看出后者的分類效果要比前者更好,因?yàn)镽NN 在處理長序列文本時(shí)由于自身網(wǎng)絡(luò)結(jié)構(gòu)會(huì)出現(xiàn)信息丟失且容易發(fā)生梯度消失和爆炸等問題,而LSTM通過在神經(jīng)單元增加門控的形式可以處理更長的文本,可以有效地緩解梯度消失和爆炸等問題,因此分類效果要比用RNN結(jié)合CNN效果好。
從表7~9 中可以看出:MLACNN 模型不僅在分類的準(zhǔn)確率上有很大的提升,在精確率、召回率、F1 值上的提升效果也比較明顯,在搜狗數(shù)據(jù)集上精確率、召回率、F1值分別提升了0.99個(gè)百分點(diǎn)、0.97個(gè)百分點(diǎn)、0.84個(gè)百分點(diǎn),在中山大學(xué)數(shù)據(jù)集上分別提升了1.84個(gè)百分點(diǎn)、1.77 個(gè)百分點(diǎn)、1.86 個(gè)百分點(diǎn),在AG_News 數(shù)據(jù)集上分別提升1.51 個(gè)百分點(diǎn)、2.40 個(gè)百分點(diǎn)、2.26 個(gè)百分點(diǎn),在3個(gè)數(shù)據(jù)上精確率、召回率、F1值平均提升了1.45個(gè)百分點(diǎn)、1.71個(gè)百分點(diǎn)、1.65個(gè)百分點(diǎn),準(zhǔn)確率提升了1.81個(gè)百分點(diǎn),充分顯示了MLACNN模型的優(yōu)越性。
為進(jìn)一步展示MLACNN 模型的優(yōu)越性,本文對各個(gè)模型的訓(xùn)練過程進(jìn)行了進(jìn)一步探究,得出了中山大學(xué)中文新聞數(shù)據(jù)集訓(xùn)練過程的校驗(yàn)集準(zhǔn)確率,如圖6所示。
圖6 校驗(yàn)集準(zhǔn)確率變化曲線
從圖中可以看出傳統(tǒng)的CNN網(wǎng)絡(luò)和LSTM網(wǎng)絡(luò)曲線波動(dòng)較大,在第8 個(gè)Epoch 才開始收斂,改進(jìn)的CNN和LSTM 的混合模型曲線相對平緩,波動(dòng)較小,但收斂速度仍相對較慢,提出的MLACNN 模型不僅收斂速度更快,且曲線整體相對平緩,訓(xùn)練過程穩(wěn)定且準(zhǔn)確率高,且在后續(xù)的訓(xùn)練過程中一直處于領(lǐng)先優(yōu)勢,進(jìn)一步體現(xiàn)了MLACNN模型的優(yōu)勢。
為驗(yàn)證MLACNN 模型的有效性,進(jìn)行消融實(shí)驗(yàn)。將MLACNN模型分解,設(shè)置CNN、LSTM、CNN+LSTM、LSTM-Attention,實(shí)驗(yàn)結(jié)果如表10~12所示。
表10 搜狗數(shù)據(jù)集消融實(shí)驗(yàn)結(jié)果 %
表11 中山大學(xué)數(shù)據(jù)集消融實(shí)驗(yàn)結(jié)果 %
表12 AG_News數(shù)據(jù)集消融實(shí)驗(yàn)結(jié)果 %
從表中可以看出CNN 和LSTM 分類效果近似,CNN+LSTM 結(jié)合了兩個(gè)模型,在提取特征時(shí)綜合了全局與局部特征,分類的效果優(yōu)于單一的CNN、LSTM,但沒有將注意力放在對分類結(jié)果影響較大的單詞上,因此分類效果有待提升。而LSTM-Attention 在LSTM 后使用Attention 機(jī)制,將注意力放在對分類結(jié)果影響較大的單詞上,因此分類的效果要優(yōu)于單一的LSTM。MLACNN 模型在各項(xiàng)指標(biāo)上結(jié)果均為最優(yōu),比單一的CNN性能平均提升了3.84個(gè)百分點(diǎn),比單一的LSTM性能平均提升了5.51 個(gè)百分點(diǎn),比混合CNN+LSTM 性能平均提升了2.18個(gè)百分點(diǎn),比LSTM-Attention性能平均提升了3.93個(gè)百分點(diǎn)。以上實(shí)驗(yàn)結(jié)果驗(yàn)證了MLACNN模型通過混合LSTM-Attention與CNN可以有效提高文本分類效果。
針對文本分類問題本文提出一種基于LSTMAttention 與CNN 混合模型的文本分類方法MLACNN,該模型首先通過詞嵌入將文本表示成低緯稠密詞向量矩陣,然后利用CNN 提取文本局部關(guān)鍵特征,同時(shí)用LSTM 提取文本上下文語義信息從而彌補(bǔ)CNN 在提取文本上下文語義信息的不足,通過計(jì)算LSTM輸出向量的分值給予詞不同的注意力,然后與CNN 提取的局部關(guān)鍵特征進(jìn)行融合,減少了原始特征的損失,更好地表示了整個(gè)文本的信息,提升了文本分類的效果。通過與其他模型對比實(shí)驗(yàn)進(jìn)一步證明了MLACNN 模型的優(yōu)勢。下一階段的研究工作是分析MLACNN模型的各個(gè)參數(shù)對分類結(jié)果的影響,從而使模型分類效果更好,進(jìn)一步提高文本分類的準(zhǔn)確率。