摘 要:傳統(tǒng)的GRU分類模型是一種基于LSTM的模型變體,它在LSTM的基礎(chǔ)上將遺忘門和輸入門合并成更新門,使得最終的模型比標(biāo)準(zhǔn)的LSTM模型更簡單??墒荓STM和GRU均沒有體現(xiàn)每個隱層輸出的重要程度。為了得到每個輸出的重要程度,本文在GRU的基礎(chǔ)上加入了注意力(Attention)機制,設(shè)計了GRU-Attention分類模型,并通過對比實驗的方式說明了增加了Attention的GRU模型在分類效果上有了一定程度的提升。
關(guān)鍵詞:自然語言處理;文本分類;GRU;注意力機制
中圖分類號:TP183;TP391.1 文獻標(biāo)識碼:A 文章編號:2096-4706(2019)03-0010-03
Chinese Text Classification Based on GRU-Attention
SUN Mingmin
(Yangzhou University,Yangzhou 225000,China)
Abstract:The traditional GRU classification model is a model variant based on LSTM. It combines forgetting gate and input gate into update gate on the basis of LSTM,which makes the final model simpler than the standard LSTM model. However,LSTM and GRU do not reflect the importance of each hidden layer output. In order to get the importance of each output,Attention mechanism is added to GRU,and GRU-Attention classification model is designed,and the comparison experiment shows that the GRU model with Attention improves the classification effect to a certain extent.
Keyword:natural language processing;text classification;GRU;Attention mechanism
0 引 言
隨著互聯(lián)網(wǎng)行業(yè)的蓬勃發(fā)展,大數(shù)據(jù)時代已然來臨。每天互聯(lián)網(wǎng)中產(chǎn)生大批量的新聞文本數(shù)據(jù),給這些文本數(shù)據(jù)進行系統(tǒng)的分類變成了一項重要且極具挑戰(zhàn)的任務(wù)[1]。文本分類[2]是自然語言處理的重要應(yīng)用,也是最基礎(chǔ)的應(yīng)用。因此,在大批量的新聞文本數(shù)據(jù)中,如何精準(zhǔn)地進行文本分類成為一項極具價值的研究課題。
最初的文本分類基于規(guī)則,其分類規(guī)則需要人為定義,再按照定義的分類規(guī)則去構(gòu)建分類器,該方法的弊端是需要耗費大量的時間和精力。在今天,一個人工智能技術(shù)[3]、自然語言處理技術(shù)[4]已經(jīng)取得重大成果的新時代,文本分類也翻開了機器學(xué)習(xí)的新篇章。目前,文本分類又朝著深度學(xué)習(xí)方向在更新迭代。區(qū)別于傳統(tǒng)機器學(xué)習(xí)方法,深度學(xué)習(xí)最大的優(yōu)勢就是避免了繁瑣的特征提取過程,經(jīng)過預(yù)處理的文本可以使用詞向量的方法表示,然后使用深度學(xué)習(xí)方法進行特征提取,最后再進行分類。本文主要從深度學(xué)習(xí)的角度分析中文文本分類。
1 相關(guān)研究工作
在文本表征方面,通常首先將文本數(shù)學(xué)化,因為計算機只認(rèn)識數(shù)字。詞向量就是用來將文本中的詞進行數(shù)學(xué)化的一種方式,顧名思義,詞向量就是把一個詞表示成一個向量。一種最簡單的詞向量方式是One-Hot Representation,就是用一個很長的向量來表示一個詞,向量的長度為詞典的大小,向量的分量只有一個1,其他全為0,1的位置對應(yīng)該詞在詞典中的位置。但這種表示方法有兩個缺點:(1)容易受維數(shù)災(zāi)難的困擾;(2)不能很好地刻畫詞與詞之間的相似性。為了克服這些缺點,Hinton于1986年提出Distributed Representation這種表示,其基本想法是直接用一個普通的向量表示一個詞,這種詞向量需要經(jīng)過訓(xùn)練,其典型的訓(xùn)練方法是Word2Vec。Word2Vec就是將文本中的詞表征為實數(shù)值向量的算法模型,使用的詞向量是Distributed Representation的詞向量表示方式。Word2Vec一般分為CBOW(Continuous Bag-of-Words)與Skip-Gram兩種模型。CBOW模型的訓(xùn)練輸入是某一個特征詞的上下文相關(guān)的詞對應(yīng)的詞向量,輸出就是這特定的一個詞的詞向量。Skip-Gram模型和CBOW的思路是相反的,即輸入是特定的一個詞的詞向量,而輸出是特定詞對應(yīng)的上下文詞向量。CBOW對小型數(shù)據(jù)庫比較合適,而Skip-Gram在大型語料中表現(xiàn)更好。
在分類模型方面,深度學(xué)習(xí)中最常見的兩大類模型,即卷積神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),它們在文本分類中有很多應(yīng)用。卷積神經(jīng)網(wǎng)絡(luò)(CNN)早期更多地應(yīng)用在計算視覺領(lǐng)域。在2011年,Collobert等人首先提出使用CNN解決詞性標(biāo)注(POS)、命名實體識別(NER)和語義角色標(biāo)注(SRL)等自然語言處理領(lǐng)域的問題。CNN模型在捕捉長句依賴信息時,往往需要加深CNN的層數(shù)。與之相比,RNN模型更適合處理長距離依賴問題,但是RNN在建模過程中存在梯度消失的問題,所以后來的研究人員又提出了LSTM和GRU等RNN的變體,使LSTM和GRU成為解決自然語言處理領(lǐng)域問題的主流模型。
2 GRU模型
GRU(Gate Recurrent Unit)是循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的一種。與LSTM(Long-Short Term Memory)一樣,也是為了解決長期記憶依賴和反向傳播中的梯度消失等問題而提出來的。相比LSTM,使用GRU能夠達到相當(dāng)?shù)男Ч?,并且更容易進行訓(xùn)練,能夠很大程度上提高訓(xùn)練效率,因此,很多時候研究人員會更傾向于使用GRU。
2.1 GRU的整體結(jié)構(gòu)
GRU的輸入輸出結(jié)構(gòu)與普通的RNN是一樣的。有一個當(dāng)前的輸入xt,和上一個節(jié)點傳遞下來的隱狀態(tài)(hidden state),ht-1這個狀態(tài)包含了之前節(jié)點的相關(guān)信息。結(jié)合xt和ht-1,GRU會得到當(dāng)前隱藏節(jié)點的輸出和傳遞給下一個節(jié)點的隱狀態(tài)ht。GRU的結(jié)構(gòu)如圖1所示。
2.2 GRU的內(nèi)部結(jié)構(gòu)
首先,通過上一個傳輸下來的狀態(tài)ht-1和當(dāng)前節(jié)點的輸入xt來獲取兩個門控狀態(tài)。如下計算公式所示,其中rt為控制重置的門控(reset gate),zt為控制更新的門控(update gate)。
rt=σ(Wr·[ht-1,xt])
zt=σ(wz·[ht-1,xt])
得到門控信號之后,首先使用重置門控來得到重置之后的數(shù)據(jù)ht-1*rt,再將ht-1*rt與輸入xt進行拼接,通過一個tanh激活函數(shù)將數(shù)據(jù)放縮到-1~1的范圍內(nèi)。即得到如下公式所示的ht:
ht=tanh(wh·[ht-1*rt,xt])
這里的ht主要包含當(dāng)前輸入的xt數(shù)據(jù)。有針對性地將ht添加到當(dāng)前的隱藏狀態(tài),相當(dāng)于記憶了當(dāng)前的狀態(tài)。在這個階段,同時進行了遺忘和記憶兩個步驟。我們使用了先前得到的更新門控zt(update gate)。
更新計算公式:ht=(1-zt)*ht-1+zt*ht
門控信號(zt)的范圍為0~1。門控信號越接近1,代表記憶下來的數(shù)據(jù)越多;而越接近0則代表遺忘的越多。GRU的優(yōu)點在于可以使用同一個門控zt同時進行遺忘和選擇記憶(LSTM要使用多個門控)。結(jié)合上述,這一步的操作就是忘記ht-1中的某些維度信息,并且加入當(dāng)前輸入的某些維度信息。可以看到,這里的遺忘zt和選擇1-zt是聯(lián)動的,也就是說,對于傳遞進來的維度信息,會進行選擇性遺忘,則遺忘所占的權(quán)重zt,就會使用包含當(dāng)前輸入的ht中所對應(yīng)的權(quán)重進行彌補(1-zt),以維持一種恒定狀態(tài)。
3 GRU-Attention模型
注意力機制(Attention)最早是在視覺圖像領(lǐng)域提出來的,能夠使深度學(xué)習(xí)模型在處理視覺圖像領(lǐng)域問題時更好地提取重要特征,從而提升模型效果。近些年來,注意力機制逐漸被應(yīng)用到自然語言處理領(lǐng)域,并且能夠有效提高自然語言處理任務(wù)的效果,比如機器翻譯、情感分析等任務(wù)。注意力機制是一種類似人腦的注意力分配機制,通過計算不同時刻詞向量的概率權(quán)重,能夠使一些詞得到更多的關(guān)注,從而提高隱藏層特征提取的質(zhì)量。
在GRU模型中,由于輸入的詞向量是文本分詞預(yù)處理后的結(jié)果,所以詞向量之間會具有一些聯(lián)系,基于注意力機制的深度學(xué)習(xí)模型能夠通過訓(xùn)練詞向量識別文本中詞語的重要程度來提取文本中的重要特征。在GRU-Attention模型中,通過注意力機制所起的作用,可以找出文本中的關(guān)鍵詞,這些詞語往往是分類的重要信息。GRU-Attention模型的結(jié)構(gòu)如圖2所示。
圖2 GRU-Attention模型結(jié)構(gòu)
圖中的輸入為文本預(yù)處理后的各個詞的向量表示x1,x2,x3,…,xi,這些輸入會進入GRU模型中,經(jīng)過GRU模型計算之后會得到對應(yīng)輸出h1,h2,h3,…,hi,然后在隱藏層引入Attention,計算各個輸入的注意力概率分布值a1,a2,a3,…,ai,進一步提取文本特征,突出文本的關(guān)鍵詞語。其中,Attention機制的計算公式如下:
v=Σaihi
ei=witanh(Wihi+bi)
其中,ei是由Babdanau等人提出的一種校驗?zāi)P停琫i表示第i時刻隱層狀態(tài)向量hi所決定的注意力概率分布值,wi和Wi表示第i時刻的權(quán)重系數(shù)矩陣,bi表示第i時刻相應(yīng)的偏移量。通過上面的公式可以計算出最后包含文本信息的特征向量v。輸出層的輸入為上一層Attention層的輸出。最后利用softmax函數(shù)對輸出層的輸入進行相應(yīng)計算,從而進行文本分類,其計算公式如下:
y=softmax(wiv+bi)
其中:wi表示Attention機制層到輸出層待訓(xùn)練的權(quán)重系數(shù)矩陣,bi表示待訓(xùn)練相對應(yīng)的偏置量,y為輸出的預(yù)測標(biāo)簽。
4 實驗過程
4.1 實驗環(huán)境
本實驗采用Windows10操作系統(tǒng),i5四核處理器,運行內(nèi)存為16GB的運行環(huán)境。編程語言為Python3.6,并在Jupyter Notebook平臺上配合Tensorflow1.6版本深度學(xué)習(xí)框架進行開發(fā)。
4.2 實驗數(shù)據(jù)
為驗證本文提出的文本分類方法,本文采用Python爬蟲從騰訊新聞爬取的中文新聞文本數(shù)據(jù)進行實驗。實驗數(shù)據(jù)一共包括科技、汽車、娛樂、軍事和運動五大類別。數(shù)據(jù)量一共為87595條,并將數(shù)據(jù)集的75%作為訓(xùn)練集,25%作為驗證集來驗證算法的效果。所有數(shù)據(jù)均采用Jieba分詞工具進行分詞,去停用詞的操作之后,再將文本使用word2vec轉(zhuǎn)化成詞向量作為算法的輸入。
4.3 實驗設(shè)計
本文采用對比實驗的方式分別對GRU-Attention和GRU深度學(xué)習(xí)模型進行中文新聞文本分類實驗,用來說明注意力機制對文本分類結(jié)果的影響,然后在同樣的數(shù)據(jù)集上使用傳統(tǒng)的機器學(xué)習(xí)方法,包括支持向量機(SVM)、樸素貝葉斯(NB),并與前面的深度學(xué)習(xí)模型的分類效果做對比,來說明采用GRU深度學(xué)習(xí)模型的優(yōu)勢。本文的文本分類效果的評價指標(biāo)采用準(zhǔn)確率(Precision)、召回率(Recall)和F1值作為綜合評價指標(biāo)。各個評價指標(biāo)的計算公式如下:
4.4 實驗結(jié)果分析
實驗結(jié)果如表1所示,從中可以看出,在相同的數(shù)據(jù)集中,GRU-Attention模型的表現(xiàn)性能優(yōu)于經(jīng)典的GRU模型。另外,GRU模型以及GRU-Attention模型的性能效果要比傳統(tǒng)機器學(xué)習(xí)分類模型好,是因為注意力機制計算了文本中每個詞的注意力概率值,這樣可以更好地提取文本特征,從而提高文本分類的準(zhǔn)確率。這說明Attention對GRU文本分類模型性能的提升起到了一定的作用。
5 結(jié) 論
本文提出了一種新穎的混合模型GRU-Attention,將其在文本分類任務(wù)上進行實驗,并與當(dāng)前主流的深度學(xué)習(xí)模型以及經(jīng)典的機器學(xué)習(xí)模型進行對比,表明基于GRU-Attention模型可以體現(xiàn)文本中每個輸入詞的重要程度,從而可以更加精確地提取文本特征。不僅如此,加入注意力機制后,模型既可以計算每個輸入詞的注意力概率分布值,也減少了特征提取過程中的信息丟失問題,缺點是在引入Attention機制后,需要消耗一定的計算成本,如果文本輸入長度增加,隨之而來的計算量也會呈倍增長。在下一步的工作中,需要繼續(xù)探究優(yōu)化Attention的計算方法,減少計算量,進一步提高文本分類的效率和準(zhǔn)確率。
參考文獻:
[1] 相海泉.大數(shù)據(jù)時代 [J].中國信息界(e醫(yī)療),2013(5):36-37.
[2] 張磊.文本分類及分類算法研究綜述 [J].電腦知識與技術(shù),2016,12(34):225-226+232.
[3] 彭健.人工智能的關(guān)鍵性技術(shù) [J].互聯(lián)網(wǎng)經(jīng)濟,2018(12):46-51.
[4] 黃昌寧,張小鳳.自然語言處理技術(shù)的三個里程碑 [J].外語教學(xué)與研究,2002,34(3):180-187+239.
作者簡介:孫明敏(1993.07-),男,漢族,安徽巢湖人,碩士,研究方向:自然語言處理。