張柯文,李 翔,朱全銀,方強強,馬甲林,成潔怡,丁行碩
(淮陰工學院 計算機與軟件工程學院,江蘇 淮安 223005)
文檔層級結構關系建??梢葬槍ξ臋n的詞句級聯的上下文信息進行文檔表示,也是自然語言處理領域研究的基礎。在過去的研究中,研究者們通過傳統的機器學習方法進行文檔建模表示,Wu等[1]通過凸松弛將特征變換與SVM學習相結合,以人工標注對訓練數據集進行特征提取和學習構建文檔模型,實現文檔分類,Chen[2]提出改進TF-IDF用于處理包含大量新聞的新聞分類。Jian[3]提出的BOLS- SVM算法對于在線預測任務特別有用,這類方法在過去取得了顯著的成果,然而性能卻依賴于復雜的人工規則和特征工程。為解決該問題,研究者們采用深度學習進行文檔建模,笱程成等[4]使用循環神經網絡(Recurrent Neural Network,RNN)預測社交消息,通過記憶獲取到的語義信息,可以捕捉到更廣范圍的特征信息,這些深度網絡模型在訓練過程中關注訓練目標的特征信息,較傳統方法而言取得了更好的效果。Tang 等[5]改進了門控循環神經網絡實現文檔建模來進行情感分析,通過雙層Bi-GRU實現句間內在語義編碼可以較好地捕捉句間語義信息。這些方法通常以句子作為輸入,通過詞向量關注訓練目標的特征信息。然而,這種文檔分類方法忽視了文檔層級結構和上下文的語義關系。
因此,本文提出的文檔表示算法主要是根據詞句文檔組成的層次關系,針對詞句級聯,從詞到句通過Bert模型學習詞向量中的語義信息,句到文檔引入記憶網絡獲取句子之間的語義聯系,實現文檔分類??傮w思路是:首先,通過Bert算法基于詞向量得到相似句子文本的句嵌入矩陣,以獲得詞語之間語義信息;然后,將句子映射到句嵌入矩陣空間得到句子的向量化表示;最后,為保留文檔內部語義聯系,將文檔分句后的序列數據輸入Bi-LSTM(Bidirectional Long Short Term Memory Network,BiLSTM)模型中,獲取每個句子的注意力權重,得到文檔的向量化表示。本方法充分考慮到了詞句級聯的層次關系,增加文檔建模內部的語義聯系。對于類間數據相似性較高的文檔分類更加準確,滿足對文檔模型高效的分類要求,在實際應用中具有一定的可行性。
本文通過對文檔預處理,以定長的句向量作為輸入,引入Bert語言模型實現句子的向量化表示,通過Bi-LSTM獲取句向量間的上下文關系,結合注意力機制保留句子之間復雜的語義關系,實現文檔的篇章向量表示,進行文檔分類。
數據預處理后數據質量的好壞影響整個自然語言處理系統的性能。中文文本不同于英文文本,在詞與詞之間沒有明顯的界限,通常有著不可分割的語義聯系。唐明等[6]利用TF-IDF算法計算每篇文檔中詞的權重,并結合word2vec詞向量生成文檔向量,最后將其應用于中文文檔分類。何炎祥等[7]通過卷積神經網絡(Convolutional Neural Networks,CNN)來獲取鄰近詞匯間的關聯,注重捕捉局部間的特征。在這類詞嵌入文檔模型中,通常先對文檔進行分詞、去停用詞等處理,利用結巴分詞將文檔切分成若干個有意義的詞匯,同時過濾掉一些高頻卻沒有意義的噪點。該處理雖然可以去除噪點對文檔分類的影響,卻忽視了詞與詞、句與句之間的語義聯系,如前后文之間的因果關系等。本文利用文檔層級結構的特點,以句子作為基本單元保留詞句層級之間的語義關系。
文檔向量化是文檔表示的重要方式,將文檔表示成機器學習能夠處理和表達文檔語義的向量。李雙印等[8]提出了一種文檔建模方法,設計一種能夠同時利用單詞和標簽信息,以及自動利用標簽種類信息,對半結構化文檔進行有效的建模,實現文檔的向量化表示,但這種方法很少考慮單個詞對整篇文檔的影響力。這種詞嵌入的方法實現文檔的向量化,忽略了詞到句,句到文檔的組成特點,不能充分獲取文檔的語義關系。
2018年 Google[9]發布了基于雙向 Transformer 的大規模預訓練語言模型(Bi- directional Encoder Representation from Transformers,Bert)可以較好地表示詞和句子以理解其潛在的含義和關系,在情感分類、命名實體識別等任務中取得了很好的效果。Bert生成句向量的優點在于它可充分理解句意,并且排除詞向量加權引起的誤差。Bert模型使用三層嵌入層聯合調節上下文對文本訓練,很好保留上下文語義聯系,其輸入如圖1所示。

圖1 Bert輸入表示
對于輸入的文本數據將一對文本句標記為句子對。每個句子對被組合為一個序列,序列的第一個詞以特殊的標記[CLS]表示,通過特殊標記[SEP]將每個句子分開。然后,將學習的每個句子分別嵌入到句子的每個標記中,構成句向量空間矩陣。通過數據映射得到句子向量,如圖2所示。

圖2 句子向量表示圖
雙向長短時記憶網絡是對于長短時記憶網絡LSTM的變體。LSTM是改進后的循環網絡,有效解決了梯度爆炸或者梯度消失的問題。通過引入基于門控單元,在神經元中加入輸入門、輸出門、忘記門以及記憶單元來改善梯度消失的問題,同時也增強了句子序列之間的記憶程度。LSTM設計結構如圖3所示。

圖3 LSTM網絡單元結構圖
神經元核心思想是通過采樣前一時刻的上下文信息產生下一時刻的輸出信息。假設t時刻的記憶內容c
α
(1)
該時刻的輸出信息由LSTM循環單元的三個門控單元控制,分別是更新門、遺忘門和輸出門。
Γu=δ(wu[α
(2)
Γf=δ(wf[α
(3)
Γo=δ(wo[α
(4)

(5)
其中,wc和bc為記憶信息的權重矩陣和偏置項。因此,通過求解式(5),進而通過式(6)實現LSTM更新的記憶內容c
(6)
然而,LSTM對于序列數據只能從前往后傳遞序列信息,而對于基于上下文的文檔表示序列,忽略了后文對語義之間的影響。Chen 等[10]使用大型語料訓練Bi-LSTM模型,使用時,固定Bi-LSTM參數,獲取Bi-LSTM的輸出,經映射并加權相加后得到上下文信息,明顯改善了NLP的技術發展水平。因此使用雙向長短時記憶網絡可較好地捕獲文檔句子前后之間的語義信息,其結構如圖4所示。

圖4 BiLSTM結構圖
最后輸出結果為隱藏層單向和反向輸出的拼接結果。其拼接公式如式(7)~(9)所示:
(7)
(8)
ht=Lt+L't
(9)
其中,Lt和L't分別為t時刻LSTM前向語義輸出和后向語義輸出,前向與后向的語義信息合并后得到包含序列上下文信息的t時刻隱藏層的語義輸出ht。
注意力機制在自然語言處理的序列模型中取得了很大的成就。Zhao 等[11]引入注意機制進行神經機器翻譯,Yang 等[12]提出了一個詞典增強的LSTM 與注意力機制的目標依賴情感分類模型。在BiLSTM神經網絡中結合Attention機制,在不同時刻計算輸出特征向量的權重,突出句子的重要特征,從而增加文檔表示之間的語義聯系,使整個模型獲得更好的效果,結構如圖5所示。

圖5 BiLSTM+Attention結構
通過計算每時刻隱藏層的輸出,在整個文本中向量表示的匹配得分占總體得分的比重,計算如式(10)~(12)所示,得到隱藏層輸出的權重矩陣,從而獲得文檔句子之間的重要信息。
score(hi)=vTtanh(w1h1+b1)
(10)
(11)
(12)
其中,score(hi)為包含語義信息的hi輸入到單層感知機中獲得單篇文檔隱藏層的輸出,文檔內各句子注意力權重矩陣ai由式(11)計算得到,通過權重矩陣ai與文本特征向量hi進行加權和,得到包含文檔各句子重要性信息的向量ci。
文中分類方法采用了多種現有算法相結合的聯合建模策略,對篇章級文檔詞句級聯關系進行層級建模并進行分類。本設計的聯合建模策略是基于Bert語言模型和深度神經網絡進行的,其中,通過Bert建模實現句向量表示,利用雙向長短時記憶網絡和Attention機制保留句子之間復雜的語言關系。因此,考慮到算法的復雜度以及獲取文檔詞句之間的語義聯系,利用Bert算法和雙向長短時記憶網絡,合理分配算法比重進行語義建模,實現文檔分類,其基于WSD層級記憶文檔表示的分類機制如圖6所示。算法流程包括四個部分,數據預處理,文檔向量化,神經網絡建模和分類訓練與評估。

圖6 WSD層級網絡文檔分類模型流程圖

(13)
其中,w2和b2為向量化文檔ci的權重矩陣和偏置項。具體步驟如表1所示:
文檔表示為:Text={s1,s2,s3…sn}
數據集表示為:
D={Text1,Text2,Text3…Textm}

表1 基于WSD層級網絡文檔分類模型算法步驟
這種聯合建模策略有效的利用了各類算法的優勢進行文檔層級結構建模,有效獲取文檔詞句之間的上下文語義聯系。通過Bert算法和雙向長短時記憶網絡結合注意力機制實現文檔的向量化建模,對樣本訓練分類,有效加強了對分類樣本詞句內部的含義和語義關系的特征表示,提高了分類模型的準確率。因此,是一種較為理想的文檔分類方法。
本實驗采用THUCNEWS和CHEM&ENGNEWS兩個數據集。
THUCNEWS是清華大學根據新浪新聞RSS訂閱頻道2005-2011年間的歷史數據篩選過濾生成,包含74萬篇新聞文檔。其中,選取65 000條數據進行分類驗證,將其以0.64,0.16,0.2的比例分為訓練集,驗證集和測試集。
CHEM&ENGNEWS是來自11個不同化工網站的新聞資訊,包含22萬篇新聞文檔,大小約為2GB,根據網站的來源分類成十個類別,包括Coal,Corportate,Social,Plastic,Industry,Mineral,Technology,ChemicalEquipment,Petrochemical和NatureG-as。在采樣過程中與基于Bagging的集成學習方法結合,生成十個平衡數據集,64%的樣本置于訓練集中,剩下的抽取16%和20%分為驗證集和測試集,從而降低方差防止過擬合,增強算法的魯棒性。
3.2.1實驗設計
基于LSTM模型,對兩種數據集進行新聞文檔分類。為驗證所提出WSD層級記憶網絡建模算法對文檔分類的可行性及優勢,通過不同預訓練算法包括TF-IDF、Word2vec等語言模型,對不同LSTM的變體進行大量對比實驗。
3.2.2實驗參數
針對新聞文檔數據,對實驗算法參數進行了合理設置,對比實驗中Word2vec和TF-IDF算法中采用結巴分詞[14],每篇文檔文本基于詞向量表示,其中詞向量設置為200維的連續值,詞量大小參數值為6000;本算法使用句向量表示文檔,每篇文檔固定長度設為30,最大句子長度為100,即長度超過100的句子基于特定目標詞進行切割,長度不足100的以0向量填充句子的輸入矩陣。在訓練時對驗證集準確率進行監控,當訓練步數超過1000步沒有改變時則停止訓練,從而提高學習效率,以避免過擬合問題。
3.2.3評價指標
通過精確率P、召回率R和F1_score來評價分類模型效果[15]。準確率為被識別為該分類的正確分類記錄數與被識別為該分類的記錄數之比;召回率為被識別為該分類的正確分類記錄數與測試集中該分類的記錄總數之比,召回率是覆蓋面的度量,衡量了分類器對正例的識別能力;F1_score就是精確值和召回率的調和均值,其公式為:
(14)
該評價指標適用于對來自相同源的不同數據集運行不同方法的情況,以及在相同數據上獲得競爭結果的標準情況。
在THUCNEWS數據集中進行分類實驗,實驗分別通過TF-IDF,Word2vec以及本文所采用的Bert模型進行語言預處理,同時分別與傳統機器學習算法SVM、傳統LSTM以及基于注意力機制的BiLSTM算法結合,對實驗結果進行分析,見表2。由于該數據集的分類較為精準,類間數據界限分明且數據量相對平衡,基于機器學習SVM算法上達到95.2%,在傳統LSTM算法上準確率為94.8%,基于word2vec-LSTM算法準確率達96.53%,基于本文提出的組合算法準確率達95.07%。
在CHEM&ENGNEWS數據集進行實驗,分別使用三種語言模型進行語言預處理,在LSTM及其變體進行實驗比較,本算法和BiLSTM兩種方法的訓練loss曲線和accuracy曲線如圖7所示,訓練損失率在10%~15%,準確率在90%以上。進一步驗證了該組合算法的準確性和穩定性,在類間數據相似度高且類間數據分布不平衡的數據集上同樣取得了很好的效果。在此輪實驗的驗證基礎上對10 998篇文檔進行分類預測分析,如表4所示,完全正確分類的新聞文檔數為10 550篇,錯誤數為448篇,準確率為95%,損失率為18%,實驗分類準確率較高證明本算法在實際應用中的可行性,能夠達到一定的分類精度。

(a)WSD層級記憶網絡算法訓練loss曲線圖 (b)WSD層級記憶網絡算法訓練accuracy曲線圖

(c)BiLSTM訓練訓練loss曲線圖 (d)BiLSTM訓練accuracy曲線圖圖7 訓練集日志

表2 THUCNEWS數據集實驗比較

表3 CHEM&ENGNEWS數據集實驗比較

表4 10 998篇CHEM&ENGNEWS文檔分類實驗結果
通過兩輪實驗結果比較,對65 000篇分類較為精準的THUCNEWS文檔數據集進行文檔建模表示進行分類,基于WSD層級記憶網絡文檔建模表示的分類算法達到95.07%,比較其他四種分類較高的算法,分類準確率都達到了90%以上,證明了本算法在分類準確的同時,還保證了算法的穩定性;對于類間相似度較高的CHEM&ENGNEWS文檔數據集實驗中,本算法的分類準確率達到了96.24%,較其他4種參比方法提高7.06%~18.31%。表明本方法對于類間文本特征相似度很高的數據集具有很好的分類效果,在實際應用中具有一定的可行性。
本文提出一種基于WSD層級記憶網絡算法進行文檔建模分類的方法,通過記憶網絡學習獲取上下文語義關系,克服了文檔數據集類間相似性高及類間數據不平衡的問題。通過實驗驗證本算法在實際應用中的可行性,并能夠達到一定的準確分類效果。本算法還存在問題需要進一步探討,在句向量表示時基于Bert模型只能表示固定長度的句子,對于長句子損失較多,下一步工作將研究如何增強模型的魯棒性,以使用不同長度的文檔進行分類。