楊 東,王移芝
(北京交通大學計算機與信息技術學院,北京 100044)
文本分類作為自然語言處理中的經(jīng)典任務,包括文本預處理、特征提取以及分類器訓練等過程。其中最關鍵的問題是特征提取,傳統(tǒng)的方式為詞袋法或者空間向量模型,然而這些方式?jīng)]有考慮文本的語序或上下文信息,且這種淺層表示方法在處理過程中會面臨著稀疏性、維度災難以及丟失大量文本信息等問題。
為了克服淺層表示的缺點,Word Embedding[1]這種詞嵌入表示方法被提出,并且取得了良好的表現(xiàn)。同時,深度學習方法不僅在語音識別[2]和機器翻譯[3]等領域取得了突出的成績,在自然語言處理任務中也表現(xiàn)出色。LeCun等人[4]提出了將CNN應用于文本處理,采用卷積層和降采樣來提取特征,通過共享權(quán)重減少模型參數(shù)數(shù)量,提高了文本分類的分類效果,CNN是一種典型的空間神經(jīng)網(wǎng)絡。
Mikolov等人[5]提出將基于時間序列的深度神經(jīng)網(wǎng)絡RNN應用于文本分類任務,該模型在隱層中加入了自連接和互連結(jié)構(gòu),這樣當前的節(jié)點狀態(tài)就可以影響下一個節(jié)點的狀態(tài)。RNN在學習長期依賴信息時會面臨梯度爆炸或梯度消失等問題,為了避免長期依賴,LSTM和GRU等眾多改進結(jié)構(gòu)及變體被提出,其把記住長期消息作為模型的默認行為,而不需付出很大代價去獲得。
還有一些人提出了混合模型,例如Lai等人[6]提出了RCNN混合模型,該模型結(jié)合了CNN和RNN模型,通過循環(huán)網(wǎng)絡結(jié)構(gòu)去學習上下文信息,之后采用動態(tài)池化層提取文本的關鍵組成部分,從而提高文本分類的效果。
Attention機制是一種資源分配機制,即在某個時刻你的注意力總是集中在屏幕的某個固定位置而不去關注其他部分。Attention機制最初只應用于計算機視覺中的圖片識別任務中,隨后被應用于圖文轉(zhuǎn)換。在自然語言處理中,Attention機制通常結(jié)合Encoder-Decoder模型使用,應用場景非常廣泛。
本文設計的混合模型Attention-based C-GRU所提取的深層次特征表示,既考慮了上下文詞序關系,又能反映句中關鍵詞的影響權(quán)重,通過該模型進一步優(yōu)化了特征提取過程,并提高了分類器的分類效果。在相關數(shù)據(jù)集上與對比模型及表現(xiàn)最優(yōu)方法相比,實驗表明本文的模型表現(xiàn)出更好的分類效果。
最近幾年隨著深度學習網(wǎng)絡優(yōu)化方法的突破,基于神經(jīng)網(wǎng)絡的表示方法也取得了很大的發(fā)展,在此基礎上許多基于神經(jīng)網(wǎng)絡的文本分類任務獲得了更大提升,其中CNN和RNN是最流行的模型。
CNN廣泛用于文本分類是因為其與N-grams模型很類似,不同之處在于CNN擁有卷積層和池化層,其不僅可以減少訓練參數(shù),而且有能力提取文本的更高層次的文本特征。為了突出CNN的特性,許多CNN的優(yōu)化結(jié)構(gòu)也被提出,Kim等人[7]提出通過動態(tài)窗口和2個詞向量頻道的CNN結(jié)構(gòu)來改進特征提取過程,Mou等人[8]則提出了基于樹狀結(jié)構(gòu)的卷積模型來提高特征提取表現(xiàn)。
RNN用來處理序列數(shù)據(jù),該模型具有處理變長輸入和發(fā)掘長期依賴的能力。許多RNN的變體被提出用來克服RNN的不足之處,并且獲得了很好的表現(xiàn)。例如Koutnik等人[9]提出了CW-RNNs,其使用時鐘頻率來驅(qū)使RNN獲得優(yōu)于序列LSTM的結(jié)果表現(xiàn),Cho等人[10]提出GRU模型,該模型采用更新門和重置門處理節(jié)點的隱層狀態(tài)和新記憶內(nèi)容來獲得最終的記憶內(nèi)容。
基于Attention機制的學習模型可以有效應對信息冗余和信息丟失等問題。Attention是通過計算歷史節(jié)點對當前節(jié)點的影響權(quán)重,其本質(zhì)就是注意力分布概率。Luong等人[11]在機器翻譯中定義了全局Attention和局部Attention的概念。
本文設計一種名為Attention-based C-GRU的模型,該模型將CNN中的卷積層和GRU以統(tǒng)一的架構(gòu)組合,并且在卷積層與GRU之間引入Attention機制。該模型的工作原理如下:首先通過卷積層去捕獲初步的特征表示,之后利用Attention機制和GRU模型,在GRU隱層獲得具有關鍵詞區(qū)分度的深層特征表示,最后將隱藏狀態(tài)輸入到Softmax進行回歸完成分類。該模型不僅融合了CNN和GRU的模型優(yōu)勢,而且通過Attention機制計算輸入節(jié)點的注意力概率,進一步優(yōu)化語義特征表示。通過在主題分類、問題分類及情感分類等3類文本分類任務的實驗表明,本文提出的混合模型能夠突出關鍵信息,挖掘更加豐富的語義,獲得更佳的分類表現(xiàn)。
本文提出的模型結(jié)構(gòu)如圖1所示。首先,模型通過卷積層模塊來提取初步的特征表示,然后通過Attention機制和GRU模塊來對初步特征表示進行關鍵詞加強和進一步的優(yōu)化,最后在GRU的隱層生成最終的深層特征表示,并將其輸入到Softmax中進行回歸,完成分類。
圖1 Attention-based C-GRU文本分類模型架構(gòu)圖
模型的第一個模塊是通過CNN中的卷積層來提取初步特征表示。該模塊中新定義一個向量:區(qū)域序列向量RSV,通過該向量保持與輸入語句對應的原始序列,這為指定序列輸入的GRU模型提供了合理的輸入。在一維卷積層中定義過濾器用來提取不同位置的局部特征表示。其中wj∈RD表示句中第j個單詞的D維詞嵌入表示,x∈RL×D表示長度為L的輸入語句的表示,f∈Rk×D為在卷積層長度為k的過濾器。用Si標記區(qū)域序列向量,其構(gòu)成是由輸入語句i位置開始的連續(xù)k個詞的詞嵌入表示組構(gòu)成,定義如下:
si=[wi,wi+1,…,wi+k-1]
(1)
對輸入語句中的位置i,通過卷積層的過濾器對其進行處理,產(chǎn)生一個新的特征映射c∈RL-K+1,轉(zhuǎn)換公式如下:
ci=ReLU(si° f+θ)
(2)
其中° 表示元素級相乘,θ∈R表示偏移量,ReLU函數(shù)是一種經(jīng)典的非線性激活函數(shù)。在該模塊中,采用若干個相同長度的過濾器來生成特征,然后將這些特征表示成一個如下的特征矩陣:
(3)
該矩陣中行向量表示通過第n個過濾器產(chǎn)生的特征向量映射,列向量表示n個過濾器在i位置產(chǎn)生的多個區(qū)域序列向量表示。矩陣中的所有列向量構(gòu)成輸入語句的順序語義表示,作為后面GRU的輸入向量。在該模塊中只使用卷積層,而不使用池化層的原因是,池化層會破壞句子的原始語序,否則經(jīng)過池化層處理形成的輸入表示對指定序列輸入的GRU是不合理的。
Attention機制在NLP中通過計算注意力分布概率,可以突出輸入對輸出的影響,優(yōu)化傳統(tǒng)模型。本文模型中通過在卷積層模塊與GRU模塊之間引入Attention機制,生成含有注意力概率分布的語義編碼,并生成最終的特征向量,由此突出輸入語句中不同的關鍵詞對不同輸出的區(qū)分化影響作用,引入Attention機制后的混合模型結(jié)構(gòu)如圖2所示。
圖2 引入Attention機制的模型結(jié)構(gòu)圖
在本文提出的模型中每一個輸出元素按公式(4)計算得到:
yi=F(Ci,y1,y2,…,yi-1)
(4)
從公式中可以看出每一個輸出都有一個對應的語義編碼Ci,該編碼是在卷積層模塊中根據(jù)輸入語句的分布生成的,具體而言,Ci由輸入語句x1,x2,x3在卷積層中經(jīng)過卷積運算后的隱層狀態(tài)進行非線性轉(zhuǎn)化得到的,轉(zhuǎn)化公式如下:
(5)
其中S(xj)表示經(jīng)過卷積模塊的隱層狀態(tài)值,即第j個詞的詞嵌入表示經(jīng)過卷積層處理所對應的隱層狀態(tài),T表示輸入序列元素的個數(shù)。aij表示輸入j對輸出Yi的注意力分布概率,定義如下:
(6)
eij=score(si-1,hj)=vtanh(Whj+Usi-1+b)
(7)
其中eij是由Babdanau等人[12]提出的一種校驗模型,其本質(zhì)為第j個輸入對第i個輸出的影響力評價分數(shù),hj為卷積層模塊中第j個輸入的隱層狀態(tài),si-1為上一步GRU的輸出,W和U是權(quán)重轉(zhuǎn)化矩陣,b為偏移量。最終形成的Attention語義編碼會作為GRU模塊的輸入,生成最后的深層特征表示,突出了關鍵信息的語義表示和區(qū)分化作用。
傳統(tǒng)的RNN模型在處理長期依賴問題時面臨著梯度爆炸或者梯度消失的問題,為此很多改進結(jié)構(gòu)被提出,其中作為一種經(jīng)典的改進模型,GRU在很多任務中表現(xiàn)良好,GRU模型結(jié)構(gòu)如圖3所示。
圖3 GRU模型結(jié)構(gòu)
圖3中r,z分別表示重置門和更新門,h和hc表示激活狀態(tài)和候選激活狀態(tài)。可以看出該模型處理信息流是通過內(nèi)置在結(jié)構(gòu)單元中的門結(jié)構(gòu)來完成的,GRU結(jié)構(gòu)中t時刻的激活狀態(tài)ht:
ht=(1-zt)ht-1+zthc
(8)
其中ht與前一個時刻的激活狀態(tài)ht-1是線性相關的,公式(8)中zt表示更新門狀態(tài),zt和候選激活狀態(tài)hc的計算如下:
zt=σ(Wzxt+Uzht-1)
(9)
hc=tanh (Wxt+U(rtΘht-1))
(10)
rt=σ(Wrxt+Urht-1)
(11)
公式(10)中rt表示重置門。GRU相比于LSTM有更少的參數(shù),更簡單的結(jié)構(gòu),且更容易收斂,所以選擇GRU作為最后一層去提取深層的特征表示。通過如上所述的模型,可以獲得一種深層次特征表示,最后采用Softmax進行回歸獲得最終的文本分類結(jié)果。
分別在主題分類、問題分類和情感分類這3類文本分類任務上對提出的Attention-based C-GRU模型進行評估,對應的數(shù)據(jù)集分別為20Newsgroups,TREC以及SST-1數(shù)據(jù)集。本章分別從數(shù)據(jù)集和實驗設置2個方面進行闡述。
1)20Newsgroups。
該數(shù)據(jù)集包含20組不同主題的英文新聞數(shù)據(jù),目前共有3個版本,本文選取共有18828篇文檔的第三個版本,以及采用按照類別相似合并的6大類劃分分類標簽。
2)TREC。
該數(shù)據(jù)集是一個經(jīng)典的問題分類語料集,這里使用Silva等人的標準TREC[13],它將所有的問題分為6類,分別是位置、人類、描述、實體、數(shù)字和縮寫,共包含5452條帶有問題標簽的訓練集和500個問題的測試集。
3)SST-1。
該數(shù)據(jù)集為情感分類數(shù)據(jù)集,共包含11800條電影評論語句。本文采用Socher標記的語句情感分類版本[14],其將數(shù)據(jù)集按8544,1101,2210劃分為訓練集、開發(fā)集和測試集,標簽設置共有非常積極、積極、中性、消極和非常消極5類。
在TensorFlow平臺上對本文的模型進行實驗,該平臺集成了CNN,RNN以及LSTM等深度學習模型,此外它也支持例如邏輯回歸等其他算法。因為除SST-1數(shù)據(jù)集外,其他2個數(shù)據(jù)集沒有預定義訓練集、開發(fā)集、測試集的劃分,所以對20Newsgroups數(shù)據(jù)集采用7:1:2的比例隨機分為訓練集、開發(fā)集、測試集;對TREC數(shù)據(jù)集,隨機選取訓練集10%的語料作為開發(fā)集,具體劃分情況如表1所示。
表1 數(shù)據(jù)集信息劃分表
數(shù)據(jù)集類別訓練集/開發(fā)集/測試集20Newsgroups612953/2377/3858TREC64907/545/500SST?158544/1101/2210
對語料集利用Stanford Tokenizer進行預處理,并且把數(shù)據(jù)集中的所有字符全部轉(zhuǎn)化為小寫,所有單詞通過Word2Vec處理成50維的詞嵌入表示。
模型中第一個模塊是卷積層模塊,因為卷積層要求是固定長度的輸入,為此定義一個閾值maxsize來表示輸入語句所允許的最大長度。通過閾值對輸入語句進行處理,對于語句長度比maxsize小的句子,在句尾通過填充一定數(shù)量特殊的字符來格式化語句;對于長度比maxsize大的句子,可以將句末多于閾值長度的句子清除掉。通過以上措施,得到固定長度的輸入語句。除此之外,設定以下參數(shù):區(qū)域序列向量的長度設為5,過濾器的數(shù)量設為2。
模型中的下一個模塊是基于Attention機制的GRU模塊,本文定義該模塊中只有1個隱層狀態(tài),隱層節(jié)點數(shù)量為256,學習率為0.01,batch_size為20。GRU的隱層狀態(tài)作為Softmax的輸入,分類器中檢測間隔步數(shù)設為100,batch_size為20,優(yōu)化方法采用隨機梯度下降法。
將本文提出的模型與文本分類常用模型及3個數(shù)據(jù)集上表現(xiàn)最優(yōu)的方法進行對比,采用準確率和F1值作為評價指標,來驗證本文模型的有效性。以下為對比模型及各個數(shù)據(jù)集的最優(yōu)方法:
1)CNN。Kim等人提出采用CNN進行語義分類,而且提出了很多改進結(jié)構(gòu),并列舉了詳細的調(diào)參過程。在此選用該模型作為對比試驗,它包括卷積層,動態(tài)池化層和Softmax回歸分類。
2)GRU。該模型由Cho等人[15]提出,是RNN的改進模型,它的參數(shù)相對于LSTM更少,而且在收斂方面表現(xiàn)更優(yōu)。采用該模型作為對比試驗,分類過程包括GRU特征提取,然后Softmax進行分類。
3)Attention-based LSTM。該模型由張沖[16]提出,首先通過Word Embedding獲得輸入語句的詞嵌入表示,之后利用結(jié)合Attention機制的LSTM模型進行特征提取獲得深層特征表示,將其輸入到Softmax中完成分類。
4)HDBN。閆琰等人[17]提出了將深度玻爾茲曼機(DBM)和深度置信網(wǎng)絡(DBN)混合的HDBN模型,該模型利用底層的DBM對文檔進行去噪降維,利用高層的DBN進行特征抽取形成高層次文本表示,然后采用Softmax作為分類層,該模型目前是20Newsgroups六大類劃分數(shù)據(jù)集上表現(xiàn)最優(yōu)的模型。
5)S-LSTM。該模型由Zhu等人[18]提出,將LSTM模型拓展到樹結(jié)構(gòu),并通過記憶單元反映歷史信息。目前該模型是SST-1數(shù)據(jù)集上表現(xiàn)最優(yōu)的模型。
6)SVMs。該模型由Silva等人提出,是TREC數(shù)據(jù)集上表現(xiàn)最優(yōu)的模型,它是一個基于規(guī)則的問題分類器,通過結(jié)合了uni-bi-trigrams,POS,語義樹等眾多特征的緊湊特征空間來進行匹配,獲取更加準確的分類。
實驗結(jié)果如表2和表3所示。
表2 數(shù)據(jù)集分類正確率/%
模型數(shù)據(jù)集20NewsgroupsTRECSST?1CNN84.3292.4344.64GRU84.2991.8245.32Attention?basedLSTM86.1193.5446.27HDBN86.94????SVMs??95.0??S?LSTM????48.9Attention?basedC?GRU87.7494.6449.21
表3 數(shù)據(jù)集分類F1值/%
模型數(shù)據(jù)集20NewsgroupsTRECSST?1CNN85.3485.7846.71GRU85.6184.2247.23Attention?basedLSTM87.7382.4348.45Attention?basedC?GRU89.2883.8650.87
表2以準確率作為評價指標,表3以F1值作為評價指標,將本文提出的模型與對比模型及各數(shù)據(jù)集上表現(xiàn)最優(yōu)的方法作對比。從整體來看,在20Newsgroups和SST-1這2個數(shù)據(jù)集上,本文提出的模型與對比實驗相比均表現(xiàn)出很好的準確率,F(xiàn)1值提升,而且勝過了各個數(shù)據(jù)集上表現(xiàn)最優(yōu)方法;在TREC數(shù)據(jù)集上,本文模型的正確率雖然沒有勝過最優(yōu)結(jié)果,但也與之較為接近。由此證明本文提出的模型在文本分類任務的有效性。
將本文模型與Attention-based LSTM模型進行對比,在3個數(shù)據(jù)集上正確率、F1值均有很好的提升,這說明混合模型在一定程度上可更好地彌補單一深度學習模型CNN,LSTM或GRU所缺失的學習能力。
在TREC數(shù)據(jù)集的實驗中,本文模型的準確率并沒有勝過最優(yōu)模型,F(xiàn)1值也低于CNN,GRU等對比實驗。通過分析數(shù)據(jù)集的特點以及本文模型對不同數(shù)據(jù)集的優(yōu)化程度,可以發(fā)現(xiàn)20Newsgroups和SST-1數(shù)據(jù)集的平均句長分別為20和19,而TREC數(shù)據(jù)集的平均句長為10,且在多組對比實驗中本文模型在前者的優(yōu)化程度要明顯大于后者。由此對本文模型進一步分析,模型中的Attention機制和GRU都是基于歷史節(jié)點對當前節(jié)點的影響,而在文本特征提取的過程中,當文本平均句長太短時,無法充分發(fā)揮本模型的學習能力,由此說明本文設計的模型對于長文本分類提升效果更加明顯,更能發(fā)揮本文模型能夠?qū)W習長期信息的特性。由此得出,該模型的使用場景更適合于新聞文本類的長文本分類,而不適應于微博、推特等短文本類分類任務。
本文提出了一種新穎的混合模型Attention-based C-GRU,并將其在主題分類、問題分類及情感分類3個文本分類任務上進行評估。通過與目前比較流行的幾種模型以及最優(yōu)方法的對比實驗,表明本文模型可以考慮上下文信息,獲得更深層次的特征表示,不僅如此,引入的Attention機制可以捕獲輸入節(jié)點對輸出節(jié)點的影響力度,更加豐富語義,減少特征提取過程中的信息丟失問題。
在未來的工作中,筆者將繼續(xù)探究類似于改進Attention計算方法的優(yōu)化方法,使得文中的混合模型在文本分類中獲得更好的表現(xiàn),并將該模型應用于其他的場景中。
[1] Bengio Y, Dvcharme R, Vincent P, et al. A neural probabilistic language model[J]. Journal of Machine Learning Research, 2003,3(6):1137-1155.
[2] Graves A, Mohamed A R, Hinton G. Speech recognition with deep recurrent neural networks[C]//2013 IEEE International Conference on Acoustics, Speech and Signal Processing. 2013:6645-6649.
[3] Sutskever I, Vinyals O, Le Q V. Sequence to sequence learning with neural networks[C]// Proceedings of the 27th International Conference on Neural Information Processing Systems. 2014:3104-3112.
[4] Lecun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998,86(11):2278-2324.
[5] Mikolov T, Sutskever I, Chen Kai, et al. Distributed representations of words and phrases and compositionality[C]// Proceedings of the 26th International Conference on Neural Information Processing Systems. 2013:3111-3119.
[6] Lai Siwei, Xu Liheng, Liu Kang, et al. Recurrent Convolutional neural network for text classification[C]// The 29th AAAI Conference on Artifical Intelligence. 2015,333:2267-2273.
[7] Kim Y. Convolutional neural networks for sentence classification[J]. Computer Science, 2014: arXiv:1408.5882.
[8] Mou Lili, Peng Hao, Li Ge, et al. Discriminative neural sentence modeling by tree-based convolution[J]. Computer Science, 2015: arXiv:1504.01106.
[9] Koutnik J, Greff K, Gomez F, et al. A clockwork RNN[L]. Computer Science, 2014: arXiv:1402.3511.
[10] Cho K, Merrienboer B V, Gulcehre C, et al. Learning Phrase representations using RNN encoder-decoder for statistical machine translation[J]. Computer Science, 2014: arXiv:1406.1078.
[11] Luong M T, Pham H, Manning C D. Effective approaches to attention-based neural machine translation[J]. Computer Science, 2015: arXiv:1508.04025.
[12] Bahdanau D, Cho K, Bengio Y. Neural machine translation by jointly learning to align and translate[J]. Computer Science, 2014: arXiv:1409.0473.
[13] Mendes A C, Wichert A. From symbolic to sub-symbolic information in question classification[J]. Artificial Intelligence Review, 2011,35(2):137-154.
[14] Socher R, Perelygin A, Wu J, et al. Recursive deep models for semantic compositionality over a sentiment treebank[C]// Conference on Empirical Methods in Natural Language Processing (EMNLP 2013). 2013:1631-1642.
[15] Collobert R, Weston J, Bottou L, et al. Natural language processing(almost)from scratch[J]. Journal of Machine Learning Research, 2011,12(1):2493-2537.
[16] 張沖. 基于Attention-Based LSTM模型的文本分類技術的研究[D]. 南京:南京大學, 2016.
[17] Yan Yan, Yin Xu-Cheng, Li Sujian, et al. Hybrid deep belief network[J]. Computational Intelligence and Neuroscience, 2015(5):650527:1-650527:9.
[18] Zhu Xiaodan, Sobhani P, Guo Hongyu. Learning document Semantic representation with long short-term memory over recursive structures[C]// Proceedings of the 32nd International Conference on International Conference on Machine Learning. 2015:1604-1612.