国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

池化和注意力相結(jié)合的新聞文本分類方法

2019-12-04 03:15陶永才楊朝陽
小型微型計算機系統(tǒng) 2019年11期
關(guān)鍵詞:池化集上正確率

陶永才,楊朝陽,石 磊,衛(wèi) 琳

1(鄭州大學 信息工程學院,鄭州 450001)2(鄭州大學 軟件技術(shù)學院,鄭州 450002)

1 引 言

文本分類(Text Categorization)是指依據(jù)文本的內(nèi)容,由計算機根據(jù)某種自動分類算法,把文本判分為預先定義好的類別[1].文本分類屬于數(shù)據(jù)挖掘和信息檢索的前提性工作,也是自然語言處理領(lǐng)域的常見任務(wù)[2].

近年來,在大規(guī)模數(shù)據(jù)集的文本分類工作中,基于神經(jīng)網(wǎng)絡(luò)的深度學習算法取得了良好的效果,成為主流方法.但是與傳統(tǒng)的機器學習算法相比,深度學習算法存在模型參數(shù)多、時間復雜度高等不足,導致模型的訓練時間長、所需計算資源大.此外,在長文本分類中,深度學習算法的訓練時間長、迭代速度慢的缺點更加明顯,而新聞文本就屬于一種信息密度大的長文本數(shù)據(jù).

為解決上述問題,本文提出了一種結(jié)合池化操作和注意力機制的簡單模型,池化操作用來提取文本的有效特征,注意力機制能夠關(guān)注到文本中的關(guān)鍵信息.實驗表明,該模型應用于新聞文本分類任務(wù)時具有速度快且正確率高的優(yōu)勢.

2 相關(guān)工作

在深度學習廣泛應用于自然語言處理領(lǐng)域之前,統(tǒng)計機器學習是文本分類中的主要方法.常見的機器學習分類算法主要有SVM[3]、樸素貝葉斯[4]、決策樹[5]等.一般來說,機器學習算法構(gòu)造的分類模型首先需要人工設(shè)計文本特征,然后訓練模型學習特征,最后給出分類結(jié)果.在小規(guī)模數(shù)據(jù)集上,這些模型取得了不錯的結(jié)果,而且計算速度快、可解釋性強.不過這類方法需要事先標注特征,特征的好壞直接影響了分類器的效果,對數(shù)據(jù)集質(zhì)量要求高,同時難以考慮詞義信息.

近年來深度學習算法在文本分類任務(wù)上得到了廣泛應用,能從大規(guī)模數(shù)據(jù)集中自動學習特征.深度學習是指基于深度神經(jīng)網(wǎng)絡(luò)的機器學習算法,深度神經(jīng)網(wǎng)絡(luò)主要可以分為卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolution Neural Network)、循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(Recurrent Neural Network)等[6].CNN最早應用在圖像領(lǐng)域,由LeCun等[7]提出,后來在自然語言處理領(lǐng)域中應用于關(guān)系分類和句子分類,其基本結(jié)構(gòu)是卷積層加池化層.當CNN的卷積層數(shù)增加時,模型能提取更深層的特征,但會遇到梯度消失的問題.于是Kaiming He等[8]提出了殘差結(jié)構(gòu),將上一層的梯度通過額外的映射傳遞到下一層,很大程度上緩解了梯度衰減,讓CNN的性能得到了大幅增強.RNN由Elman等[9]提出的簡單循環(huán)網(wǎng)絡(luò)改進而來,因為RNN能夠?qū)ψ冮L序列進行處理,它在語音識別和文本處理上應用廣泛,其基本結(jié)構(gòu)是對序列的循環(huán)編碼層.針對時間序列的長期依賴問題,產(chǎn)生了RNN的一些改進:長短時記憶網(wǎng)絡(luò)LSTM[10](Long Short Term Memory)和門循環(huán)單元GRU(Gate Recurrent Unit)[11].Gers等[12]首次將LSTM應用在文本分類上,相對機器學習算法取得了顯著提升,進一步雙向LSTM也被引入文本處理領(lǐng)域,Bi-LSTM(Bi-directional Long Short-Term Memory)的特點在于不僅可以提取前文特征,還可以獲得后面序列的特征.在Bi-LSTM的基礎(chǔ)上,Sutskever等[13]提出了結(jié)合注意力機制的Seq2Seq模型,該模型在包括文本分類的多個任務(wù)上得到了成功應用.

深度學習方法雖然能從大規(guī)模數(shù)據(jù)集中自動學習特征,但存在可解釋性差、收斂時間長等不足[14].考慮到深度學習模型復雜性,一些簡化的模型被提了出來,它們也能在大規(guī)模數(shù)據(jù)集上得到很好的效果.Joulin等[15]提出FastText模型,該方法基于CBOW(Continuous Bag of Words)語言模型,構(gòu)造了一種基于詞向量平均的非線性分類器.Shen等[16]提出SWEM(Simple Word Embedding Model)模型,該方法基于詞向量的最大池化和平均池化,沒有使用深度神經(jīng)網(wǎng)絡(luò).Vaswani等[17]提出生成模型Transformer,該模型使用多個并行的注意力層進行編碼,在機器翻譯上獲得了突破,證明了注意力機制的編碼效果優(yōu)于LSTM.Shen等[18]使用雙向自注意力機制的分類模型DiSAN(Directional Self-attention Network),在文本分類、文本推理等多個數(shù)據(jù)集上取得良好效果,該模型未使用CNN與RNN結(jié)構(gòu),僅包含了前饋神經(jīng)網(wǎng)絡(luò).

本文提出的注意力池化模型與SWEM模型相關(guān),其基本思想是對詞向量直接進行池化操作,以最大限度地保留詞義信息.考慮到新聞文本的特征,本文加入了注意力機制用于提取長文本的全局特征,并在中文新聞數(shù)據(jù)集上進行了實驗.

3 基于池化的分類模型

本文提出的結(jié)合了注意力機制的池化模型主要包含兩部分:池化層和注意力層.模型結(jié)構(gòu)如圖1所示,下面對該模型各部分進行詳細描述.

3.1 詞嵌入層

詞嵌入層的作用是將文本編碼成詞向量.該層輸入的是一個l×b的文本矩陣,其中l(wèi)是文本的固定長度,b是批處理的文本數(shù)量.然后將文本中的每個詞轉(zhuǎn)換為詞向量,得到用詞向量表示的文本序列s=(ω1,ω2,…,ωn),其中n為每個文本序列的長度,詞向量ω∈Rd,d是詞向量維數(shù).最終詞嵌入層的輸出是一個l×b×d的詞向量矩陣.

圖1 注意力池化模型結(jié)構(gòu)圖Fig.1 Attention pooling model structure chart

3.2 池化層

池化層的作用是提取詞向量序列中的全局特征,該部分包括最大池化和平均池化.詞向量上的每一維反映了不同信息,池化操作能提取詞向量中的綜合信息.池化層的操作如圖2所示.圖2的左側(cè)代表最大池化操作,即在每個詞向量的相應維度上取最大值;圖2的右側(cè)代表平均池化操作,即在每個詞向量的相應維度上取平均值.

圖2 詞向量池化操作示意圖Fig.2 Word vector using pooling operation schematic diagram

最大池化的具體操作是在詞向量矩陣的每一維上開辟一個滑動窗口,提取窗口中文本序列中所有詞在某一詞向量維度上的最大值.詞向量的值的大小代表詞與文本信息的相關(guān)性,所以最大池化每個窗口提取的是相關(guān)性最大的那個詞,不相關(guān)的詞則被過濾掉.在池化層對s進行最大池化操作.最大池化操作的形式化表示如式(1)所示.

v1=Max-pooling(ω1,ω2,…,ωn)

(1)

其中,v1表示最大池化操作后得到的向量.

平均池化是計算滑動窗口中所有詞在某一詞向量維度上的平均值,與最大池化不同,平均池化提取到的是文本序列上所有詞的綜合信息.在池化層對s進行最大池化操作的同時也進行平均池化操作.平均池化操作的形式化表示如式(2)所示.

(2)

其中,v2表示平均池化操作后得到的向量,ωj表示序列s上某一維詞向量的數(shù)值,j∈[1,n].

考慮到最大池化保留了詞向量的突出信息,平均池化保留了全部詞向量的信息,所以接下來對最大池化、平均池化的結(jié)果作向量拼接,之后通過一個全連接層F得到文本v,其形式化表示如式(3)所示.

v=F(v1⊕v2)

(3)

其中,⊕表示向量的拼接操作.

3.3 注意力層

注意力層的作用是注意到和整體文本序列關(guān)聯(lián)最緊密的局部特征.注意力機制是給定一個查詢,將模型的學習更集中在與查詢最相關(guān)的部分而非所有能獲取的信息上,過濾掉不相關(guān)的信息,能在一定程度上減少計算量.本文采用自注意力機制來獲取文本中最重要的特征,自注意力機制的特點在于查詢是文本內(nèi)部的詞,最后計算所有詞的權(quán)重分布.

注意力層能得到各個詞的權(quán)重,權(quán)重代表了詞在文本中的重要程度,最終通過詞的加權(quán)平均合成文本的表示u.本文對詞的打分函數(shù)使用多層感知機,以反映詞之間的相關(guān)性.自注意力機制的計算方法如式(4)~式(6)所示.

(4)

eij=f(ωi,ωj)

(5)

(6)

其中,ai代表詞對文本的注意力權(quán)重,⊙代表點乘操作,即向量間逐元素相乘,eij代表某個詞ωi與另一個詞ωj通過打分函數(shù)得到的分數(shù),f代表多層感知機構(gòu)成的打分函數(shù).

3.4 輸出層

z=G(v⊕u)

(7)

(8)

4 實驗設(shè)置

本節(jié)主要介紹注意力池化模型在中文新聞文本分類任務(wù)上進行實驗的相關(guān)設(shè)置.

4.1 實驗數(shù)據(jù)

本文采用NLPCC2014中文新聞分類評測數(shù)據(jù)集1http://tcci.ccf.org.cn/conference/2014/pages/page04_eva.html.該數(shù)據(jù)集具有兩級類別層次,一級類別包括24類,二級類別包括367個類.每個樣本由新聞標題、新聞內(nèi)容、一級類別、二級類別組成,圖3給出了樣本的格式.

訓練集中包含42689個樣本,測試集中包含11577個樣本,訓練集和測試集在類別分布上具有一致性.訓練集中的樣本平均長度為470.6個詞,屬于長文本數(shù)據(jù).在去除虛詞等停用詞后,樣本的平均長度為425.7個詞.

4.2 數(shù)據(jù)預處理

數(shù)據(jù)集的預處理階段包括分詞、去除停用詞等.原始樣本處理后有新聞標題、新聞內(nèi)容和一級標簽,為保留更多特征,實驗中將新聞標題與新聞內(nèi)容合并.實驗使用開源的jieba-0.39中文分詞工具2https://github.com/fxsjy/jieba對新聞文本內(nèi)容進行分詞.分詞后將每個文本采用較短補零、較長截斷的方式統(tǒng)一成固定長度,以方便矩陣運算.實驗中固定樣本長度設(shè)為420.

實驗采用的預訓練詞向量由SGNS[19](skip-gram model with negative sampling)模型在中文語料庫上訓練得到,向量維度為300.最后得到的有效詞向量個數(shù)為20542.對于訓練后詞表中的未登錄詞,使用[-1,1]內(nèi)隨機生成的300維向量初始化.

圖3 數(shù)據(jù)集格式
Fig.3 Data set format

4.3 評價指標

本文將宏查準率、宏召回率、宏F1值作為評價指標.其中,宏查準率MacroP用來評價分類器的正確率.宏召回率MacroR用來評價分類器的覆蓋率.宏F1值MacroF1是宏查準率與宏召回率的調(diào)和平均值,用來評價分類器的綜合性能.它們的計算方法如式(9)~式(11)所示.

(9)

(10)

(11)

其中,n代表類別總數(shù),correctk代表正確分類為類別k的標簽數(shù)目,predictk代表分類為類別k的標簽總數(shù),truek代表數(shù)據(jù)集中真實為類別k的標簽數(shù)目.

本文還將正確率作為評價指標,用于評價總體的分類效果.正確率Accuracy的計算方法如式(12)所示.

(12)

其中,correct代表所有分類正確的樣本數(shù),alldocuments代表數(shù)據(jù)集中的樣本總數(shù).

4.4 訓練環(huán)境

訓練環(huán)境為:Python 3.6,Tensorflow-GPU-1.4.0,GPU NVIDIA 1080ti,11G顯存,16G內(nèi)存,1TB硬盤,操作系統(tǒng)Ubuntu 16.04.主要超參數(shù)設(shè)置如下:dropout率設(shè)為0.7,詞向量維度設(shè)為300,全連接神經(jīng)網(wǎng)絡(luò)上的learning rate設(shè)為0.003,batchsize設(shè)為64,固定句長設(shè)為420.

訓練過程中優(yōu)化算法采用Adam optimizer,損失函數(shù)采用交叉熵函數(shù),另外使用早期停止策略(early stopping)預防過擬合.模型在驗證集上訓練取得最好表現(xiàn)后在測試集上進行測試.

5 實驗結(jié)果與分析

本節(jié)主要介紹注意力池化模型在中文新聞文本數(shù)據(jù)集上進行的相關(guān)實驗及分析.

5.1 模型對比

為了驗證注意力池化模型的有效性,本文將其與標準的深度學習模型CNN、LSTM以及池化模型SWEM進行了比較.基準模型為SWEM,各個模型的超參數(shù)設(shè)置與注意力池化模型中全連接神經(jīng)網(wǎng)絡(luò)層的相同.各個模型在訓練集上的正確率對比結(jié)果見表1.

表1 模型對比結(jié)果
Table 1 Model comparison result

Accuracy/%MacroP/%MacroR/%MacroF1/%CNN74.9776.3279.2677.68LSTM72.5371.5673.1271.82SWEM79.5176.9675.8876.42OURS83.9678.7477.5178.12

如表1所示,注意力池化模型在測試集上達到了83.96%的準確率,優(yōu)于標準的CNN、LSTM模型以及池化模型SWEM,并且在迭代速度和迭代次數(shù)上都存在優(yōu)勢.CNN模型的準確率達到了74.97%,效果不如SWEM和注意力池化模型,是由于對于長文本來說,CNN能提取出局部特征,但是不能注意到整個文本中最重要的部分,CNN分類的MacroF1值最高,證明其在各個類別上的準確率較好.LSTM在測試集上達到了72.53%的準確率,雖然LSTM能兼顧上文的信息,但是由于新聞文本的長度較長,LSTM中遺忘門會丟棄過長之前的文本特征,LSTM中的記憶門只會記住一段長度前的信息,導致在過長的文本處理中,正確率反而會有所下降.模型速度對比結(jié)果如表2所示.

表2 時間復雜度對比結(jié)果
Table 2 Time complexity comparison result

Epoch次數(shù)Epoch時間/sCNN9450LSTM12390OURS6180

由表2可以看出注意力池化模型在運算速度上也存在一定優(yōu)勢,在達到相同的最高準確率75%時,注意力池化模型用了6次epoch,共3min,而CNN模型用了9次epoch,共7.5min,LSTM模型使用了12次epoch,共6.5min.

實驗對不同長度樣本上的分類結(jié)果進行了統(tǒng)計,其中超過200長度的樣本共34269條,正確分類的樣本數(shù)為28450;不超過200長度的樣本共8420條,正確分類的樣本數(shù)為6399.注意力池化模型在超過200長度樣本上的分類正確率為83.21%,不超過200長度的分類正確率為76.61%.結(jié)果表明在注意力池化模型上,長文本的分類效果較好.在長度小于200的新聞文本中,正確率不高的原因除了更短的新聞文本蘊含著更少的類別信息外,更多在于本文的模型難以提取到較短新聞文本中的類別特征.

5.2 簡化測試

為了評估注意力池化模型中各個部分對于整體性能的貢獻度,本文對模型進行了簡化測試,即分別去除模型中某個部分,然后統(tǒng)計正確率的變化情況,實驗結(jié)果如圖4所示.結(jié)果表明最大池化部分對整個模型的貢獻度最大,因為在去除最大池化部分后,整個模型正確率下降了8.45%,下降得最多,這和最大池化的操作有助于捕捉新聞文本的信息的假設(shè)是相符的.去除注意力部分后,模型性能下降了3.93%,下降得最少,說明注意力機制對整個模型貢獻度最小,但是在加入注意力機制前,單純的池化模型的正確率為80.03%,自注意力機制的添加使得池化模型得到了一定程度的提升.而去除平均池化部分后,模型性能下降了6.32%,證明平均池化也在整個模型的性能中起到比注意力更重要的特征提取作用.

圖4 模型簡化測試結(jié)果Fig.4 Ablation study result

5.3 泛化能力分析

為了評估注意力池化模型的泛化能力,本文在整個數(shù)據(jù)集上做了五折交叉驗證實驗:將訓練集與測試集的所有樣本隨機打亂,劃分成五組分別進行訓練和分類.實驗結(jié)果如圖5所示.交叉驗證中各組的正確率都在82~84%之間,F1值的變化也相對平緩,說明整個模型穩(wěn)定性強.正確率未達到最佳的原因在于訓練集和測試集在劃分五組的時候采用了隨機打亂并劃分,導致與標準測試集存在一定偏差.

圖5 五折交叉驗證結(jié)果Fig.5 5-fold cross-validation result

在確定超參數(shù)dropout率時,本文統(tǒng)計了不同dropout率在訓練集和測試集上對模型正確率的影響,如圖6所示.由測試集上的正確率變化看出,當dropout率小于0.7時,模型表現(xiàn)出欠擬合;dropout率大于0.7時,模型出現(xiàn)過擬合現(xiàn)象.因此dropout率最終使用表現(xiàn)最好的數(shù)值0.7.

圖6 dropout率對模型正確率的影響Fig.6 Effect of dropout on accuracy

6 結(jié)論與展望

在中文文本分類工作中,采用深度神經(jīng)網(wǎng)絡(luò)算法存在訓練時間長等不足,因此本文提出了一種基于最大池化的模型.考慮到新聞文本的特征,該模型加入了自注意力機制.由于注意力機制能從長文本的編碼中獲得到更關(guān)鍵的信息,本文的模型更適合于長文本的特征抽取.最終注意力池化模型在NLPCC新聞數(shù)據(jù)集上達到了83.96%的正確率,相對標準深度學習算法,在保證正確率的情況下保持有速度優(yōu)勢.

目前模型存在的不足有對于短文本的處理效果并不理想,準確率還未達到最佳.為了使準確率進一步提高,下一步工作可以對該模型的編碼部分繼續(xù)改進以更好地提取句子特征,以及將其應用在其他更多領(lǐng)域的數(shù)據(jù)集上.

猜你喜歡
池化集上正確率
基于高斯函數(shù)的池化算法
個性化護理干預對提高住院患者留取痰標本正確率的影響
卷積神經(jīng)網(wǎng)絡(luò)中的自適應加權(quán)池化
關(guān)于短文本匹配的泛化性和遷移性的研究分析
基于互信息的多級特征選擇算法
基于卷積神經(jīng)網(wǎng)絡(luò)和池化算法的表情識別研究
用于手寫漢字識別的文本分割方法
基于兩種LSTM結(jié)構(gòu)的文本情感分析
生意
生意