秦 碩,鄭 虹,侯秀萍,鄭肇謙
(長春工業大學 計算機科學與工程學院, 吉林 長春 130102)
網絡新聞的用戶規模達到6.86億人,占網民總體的80.3%。如何對這些龐雜的網絡新聞數據進行高效的分類和管理,用戶又該如何快速地獲取自己感興趣的新聞,已然成為亟待解決的問題。對新聞文本分類任務可以解決上述問題。
傳統的文本分類方法不能自提取特征,需要人工提取特征。深度學習作為當下人工智能領域最熱門前沿的技術,在自然語言處理中具有廣泛應用,使用深度學習方法的文本分類不僅能夠解決傳統機器學習不能處理語義層面的問題,而且能夠解決當數據量較大時分類效率低下等問題,是一個極其重要的研究課題,因此,使用深度學習的方法對文本分類進行研究在理論和應用上都有重要意義。
在數據預處理階段,一般對長文本信息分類時采用截斷式方法,這種方法無法確保截取后的文本還具有原文本的語義。深度學習中的循環神經網絡(RNN)[1]和卷積神經網絡(CNN)[2]在文本分類領域有廣泛的應用。但是RNN模型存在梯度爆炸和梯度消失的問題,CNN模型在處理中文文本信息的時候,訓練和處理時間較長。目前,比較流行的預訓練模型有ALBert、Transformer和Bert等,但是這些預訓練模型是基于字的隱藏,對于中文詞語形式的語義表征不夠完整。
為解決上述問題,文中先將長文本進行文本摘要,將摘要后的新聞文本送入ERNIE預訓練模型[3],再結合雙向LSTM和Attention機制[4]與CNN模型的方法。
隨著深度學習的廣泛推廣,Xu J等[5]使用帶有緩存機制的LSTM捕獲長期情緒信息。2015年,CNN模型在Zhang X等[6]研究下用于文本分類任務,主要提出一種字符級卷積網絡模型。Yann L C等[7]使用卷積神經網絡進行文本分類任務,實驗表明分類質量顯著提升,這表明卷積神經網絡在情感分類任務中是有效的。2017 年,谷歌提出了 Transformer 框架[8],將文本之間的相關性進行建模,自注意力機制在encoder和decoder階段計算出輸入部分的表征,捕獲各詞直接關系,被廣泛應用于各種預訓練模型。2018 年,Devlin J等[9]提出基于深度雙向Transformer 的預訓練模型 BERT,Bert是先隨機掩蓋部分信息,然后通過上下文預測方式實現強大的語義表征。雷景生等[10]提出一種ERNIE_BIGRU的中文文本分類方法,并在新聞公開數據集取得了不錯的分類效果。這些前人的工作表面預訓練模型與神經網絡模型的結合,效果非常不錯,在特征提取和語義的完整性上展現了優秀的效果。
文中提出的文本分類模型是在現有的預訓練模型與神經網絡結合的模型基礎上進行改進,解決了長文本截斷式可能破壞語義的完整性和全局特征問題,在一定程度上能夠對文本的特征語義進行理解,具有出色的文本特征表示和建模能力。在新聞文本分類任務上準確率有所提高。
針對傳統的新聞文本分類任務方法的不足,文中目的是提供一種既能用于大規模的文本分類,也能用于精準地進行提取特征算法。SELC新聞文本分類模型的主要構成如圖1所示。

圖1 SELC模型流程圖
其中:x={x1,x2,…,xn}表示新聞文本的輸入序列;x={x1,x3,…,xi,…,xn}與輸入有所不同,表示摘要抽取后的文本序列;s={s1,s2,…,sn}表示經過預訓練后的序列;w={w1,w2,…,wn}表示經過雙向LSTM后的特征提取向量;v={v1,v2,…,vn}表示注入Attention后的權重矩陣;c={c1,c2,…,cn}是經過卷積與池化后的特征向量;p={p1,p2,…,pn}表示經過softmax分類器后的分類結果。
針對長文本信息的文本分類時間過長問題,提出了文本摘要生成后輸入的預處理辦法,減少了模型的訓練時間和算法的時間復雜度。采用抽取摘要生成方法,既保證了摘要在語法和事實的正確性,充分還原了原文,又表達出文章最主要的含義。
文中采用的摘要技術是Textrank算法[11]。這種算法受到網頁排名算法Pagerank的啟發,將文章的關鍵詞、關鍵句進行排名,TextRank算法將文本中的句子對于網頁,為每個句子之間的關聯性作為權重,進行重要性評價。其基本思想是將文檔看作一個句子的網絡,在網絡中的鏈接表示句子與句子之間關系。其算法為:
WS(Vi)=(1-d)+

(1)
式中:In(Vi)----包含Vi所指向的點;
Out(Vj)----所有點的子集;
Wji----將Out(Vj)所指向的數目記錄下來;
Vi----除j外的點;
d----阻尼系數,有些類似目標函數中的正則項,加入后使整個計算更平滑,一般取0.85。
換句話說,根據兩個句子之間的內容重復程度計算他們之間的相似度,構建以句子為節點,相似度為邊權值的帶全圖結構,最后將規定數量排名最高的句子構成摘要。 因此,TextRank算法的抽取本質在于將文本中的關鍵詞和關鍵句從文章中提取出來。
ERNIE是在Google提出的Bert模型基礎上改進的預訓練模型。ERNIE也利用Transformer的多層自注意力雙向建模能力對詞、實體等語義單元的表示更加完整[12]。但是,Bert模型對于中文詞法信息的缺失問題沒有進行專門的建模,而ERNIE通過對訓練數據中的中文結構、語法結構、詞法表達等信息進行統一建模,通用語義表示能力有了極大的增強。ERNIE模型結構如圖2所示。

圖2 ERNIE模型結構
由圖2可知,輸入向量是embedding后的向量表示;其中trm表示ERNIE模型聯合調節所有層Transformer完成預訓練雙向表示,每個Transformer輸出表示和Transformer的自注意力層公式表示為:
LayerNorm(x+Sublayer(x)),
(2)
(3)
ERNIE模型輸出部分包括了文本上下文向量信息表示,并且輸出部分的詞向量都將整個序列的文本向量信息包含在內。
此外,由于ERNIE預訓練模型對中文的歧義問題處理較好,可以作為Embedding詞嵌入層獲取詞向量表示。通過學習后,得到一組新的詞嵌入表示,該組詞的展示具有豐富的語義信息,便于模型下一階段。
LSTM是RNN模型的改進,解決了RNN模型長期依賴和梯度爆炸的關鍵問題,LSTM可以學習長期依賴信息。LSTM的關鍵就是細胞狀態,細胞狀態類似于傳送帶,直接在整個鏈上運行,并加入了遺忘門、輸入門和輸出門。
遺忘門是控制上一層細胞狀態,通過sigmoid激活函數后保留或去除上一層細胞狀態的內容;輸入門是將當前序列位置的輸入確定需要更新的信息更新狀態;輸出門是用細胞狀態保存的內容確定輸入的內容。而我們有時預測可能需要前面若干輸入和后面若干輸入共同決定,因此提出雙向循環神經網絡。雙向LSTM結構如圖3所示。

圖3 雙向LSTM模型結構
前向傳播和反向傳播共同連接輸出層,其中包含了共享權重w1~w6。每個結合前向傳播和反向傳播相應時刻的輸出結果得到最終的輸出,其表達式為:
ht=f(w1xt+w2ht-1),
(4)

(5)

(6)
雙向LSTM神經網絡結構模型對文本特征提取效率和性能要優于單個LSTM結構模型。

多頭注意力機制可以簡單有效地對上下文依賴關系進行抽象,并捕獲句法和語義特征。其中WE作為Q,K,V一般框架下的標準Attention。其計算過程為
Anention(Q,K,V)=softmax(fatt(Q,K))V,
(7)
式中:fatt----概率對齊函數。
采用Scaled Dot Product,其中,

(8)
式中:dk----矩陣的維度。
在多頭注意力機制中,輸入特征通過不同的權值矩陣被線性映射到不同的信息子空間,并在每個子空間完成相同的注意力計算,以對文本潛在結構和語義進行充分提取,其中第i頭注意力計算過程為

(9)
最后將各個head進行合并,產生多頭自注意力機制的輸出,設注意力的頭數為m頭。
則WE經過多頭注意力計算得到
MHS(Q,K,V)=Concat(O1,O2,O3,…,Om),
(10)
H=MHS Att(WE,WE,WE)。
(11)
新聞文本信息經過以上處理后得到新的語義向量以及權重分配,利用卷積和池化再進一步特征提優,其中卷積輸出計算過程為
zi=f(F⊙Hij+l-1+b),
(12)
式中:f----激活函數Relu;
F----濾波器;
b----偏置項;
l----滑動窗口大小;
Hij+l-1----由多頭注意力機制組成的特征矩陣。
Zi作為第i個卷積核的輸出,計算過程為
Zi=Concatenate(z1,z2,z3,…,zn-l+1)。
(13)
池化操作,通過第i個卷積核計算獲取的文本特征作為池化層的輸入,對獲取的特征進一步篩選,得到更重要的特征。使用最大池化操作,Pi為第i個卷積核池化后的結果,計算如下:
Pi=max(z1,z2,z3,…,zn-l+1)。
(14)
最后獲得經過池化和卷積的向量P,其中r為卷積核的數量,將池化后最終得到的特征向量作為全連接層的輸入,再利用最后一層的softmax分類器進行文本所屬類別的概率計算,完成文本分類任務。其中σ是用來預測文本的類別,函數argmax計算導致概率值最大的文本類別標簽,其公式為:
σ=Linear(P),
(16)

(17)

函數argmax計算導致概率值最大的文本類別標簽。
實驗在CentOS 7.9 環境下運行,使用顯卡NVIDIA TITAN XP,內存32 G,編程語言選擇Python 3.7,使用的深度學習框架為Pytorch 1.8.1,編譯器使用Pycharm。
新聞數據集由來自新浪網等大型新聞網站爬取20 000條網絡上真實的新聞文本,數據集包含新聞標題和內容信息,并且分為10個新聞類別的數據集。為了保證數據集質量,爬取時每個類別均為2 000條數據,分布均衡,數據集不存在長尾分布。將兩個數據集分別整體劃分為8∶1,作為訓練集、測試集,使用清華大學提供的THUCNews新聞文本分類數據集中的驗證集作為驗證文中算法驗證集。
實驗通過上文介紹的模型進行對比驗證,共設置了5組對比實驗,分別是根據前人提出的模型與文中所提算法模型對比,為了使模型能表現出自身最佳的分類性能,參數設置見表1。

表1 實驗的超參數表
目前,在自然語言處理領域的評價指標多種多樣,但針對文本分類的評價標準一般使用準確率P、召回率R和F1值,具體計算公式如下:

(18)

(19)

(20)
式中:TP----實際值與預測值都為正時的數據量;
FP----預測值為正,實際值為負時的數據量;
FN----實際值與預測值都為負的數據量。
由式(20)可知,F1值是P與R共同決定的。
為了驗證本方法對新聞文本分類方法的有效性,在同等條件下,文中提出的SELC模型準確率優于其他中文文本分類的基線模型,在前人的模型與文中模型相同設備,數據集、參數設置相同的條件先進行對比實驗。CNN_BASE,BERT_CNN,ERNIE_BiGRU_CNN,ERNIR_CNN等文本分類模型,本模型在驗證集上的損失值和準確率對比其他模型稍有進步。不同模型在新聞文本分類驗證集上的準確率與損失值見表2。

表2 不同模型的準確率及損失值
使用驗證集對經過20個epoch 后的訓練模型進行驗證,分別得到 10 個類別的準確率、召回率和F1值。對10個類別的3個評價指標分別取平均值,得到不同模型在每一輪的訓練情況。最后將訓練好的模型通過測試集進行測試,得到結果見表3。

表3 不同模型的不同評價指標
驗證集的準確率對比圖如圖4所示。

圖4 驗證集的準確率對比圖
通過圖4模型準確率和損失值對比結果可以看出,在預訓練后的向量加入雙向LSTM、多頭自注意力機制的卷積神經網絡對文本分類任務的準確率有明顯提升,在1%左右,并且損失值下降0.5。
從以上實驗結果數據可以看出,本模型與其他模型在同等實驗條件下要比之前學者提出的模型效果在新聞文本分類任務中有不錯的提升,由此說明,在長文本分類時,將文本摘要化對原文本的語義信息沒有很大變化,可以將摘要后輸入代替截斷式輸入,ERNIE預訓練模型在中文數據集中有不錯的表現。
在三種評價指標方面,文中模型在準確率方面提升并不是很大,僅有0.03,召回率有所增長,表明ERNIE預訓練模型對中文語義信息捕捉更明顯,由于F1值受到準確率和召回率共同影響,所以F1值也有所增長,由此推知,文中模型在文本分類任務中比之前文獻所設計的模型分類效果更好,更加具有優勢。
設計的模型是應用于新聞文本分類任務的模型,其創新點在于將傳統的截斷式輸入改進為摘要后輸入模型,這樣極大地減少了模型訓練時間,并有效地減少了時間復雜度;將ERNIE預訓練模型應用到文本中,利用ERNIE對中文可以通過多任務學習逐步建立和學習預訓練任務,并能生成更準確的語義詞向量表示,在中文應用有不俗的表現,再融合雙向LSTM、多頭自注意力機制和卷積神經網絡的新聞文本分類模型。在相同的實驗環境下進行了大量對比實驗,實驗顯示,提出SELC模型的分類效果優于其他模型。
雖然本模型在準確率和評價指標上取得了不錯的成績,并在數據集中展現了優秀的分類效果,但是也存在不足,如本模型在抽取階段的工作并不完美,還存在對于文本的語義特征丟失的情況,對于新聞中的熱詞新詞判別錯誤等。因此,接下來的工作是要對摘要提取階段的工作進行研究,使得文中提出的模型準確率進一步提高。