王 輝 潘俊輝 王浩暢 張 強 張 巖
(東北石油大學計算機與信息技術學院 大慶163318)
文本分類是使用特定程序對給定的文本,按一定的分類標準進行自動分類的過程,其目的是將未知類別的文本歸類到一個或多個類別[1]。
近年來,鑒于深度學習技術在語音識別、計算機視覺、自然語言處理及生物信息學等眾多領域的迅猛發展和優秀表現,相比于傳統的機器學習方法,基于深度學習的分類技術逐漸占據了文本分類技術的主導地位[2]。2006年,Hinton等提出深度信念網(Deep Belief Networks,DBNs)的快速學習算法[3];同年,Bengio等提出了神經網絡模型,探討和對比了RBMs和auto-encoders[4]。2014年,Bahdan?au等提出把重點放在比較重要的特征信息上的注意力機制,成為了深度學習領域的研究熱點[5]。然而,現有的方法通常忽略了特征詞的上下文信息,以及特征詞所處位置不同對分類能力的影響。鑒于此,本文提出一種改進的加權CBOW與BI-LASM-ATT模型應用于文本分類研究。首先,對特征詞頻次與反頻次進行改進,加強評估特征詞的重要程度;其次,為反映當前詞對全文信息的重要程度,以及詞位置對分類能力的影響,提出一種加權CBOW模型;最后,將生成的向量表示作為基于注意機制的雙向LASM模型的輸入,得到Softmax分類器分類結果。
基于深度學習的文本分類,借助深度網絡的特征抽取能力,實現了端到端一步到位的特征提取,免去了人工特征提取過程,主要由以下幾個步驟組成。
1)文本預處理。除了傳統機器學習文本預處理的基本方法外,深度學習文本預處理重點在文本的向量表示。最常用的方法是獨熱編碼(One-hot Embedding)表示法,其原理是把每個詞占n維向量中的一維,標記為1,其他全部標記為0。鑒于獨熱編碼的稀疏編碼方式,產生了大量冗余數據,Miko?lov等學者于2013年提出了word2vec來解決這個問題[6]。
2)文本分類模型構建。2014年,Kim提出的Text-CNN(Text Convolotional Neural Network)在文本分類中取得了不錯效果[7];2015年,Lipton提出的RNN(Recurrent Neural Network)能夠更好表達上下文信息[8];近年來,長短期記憶網絡(Long Short Term Memory networks,LSTM)利用能夠學習長距離文本依賴的特點,成為深度學習的研究熱點[9]。
注意力機制模仿了生物觀察行為的內部過程,即一種將內部經驗和外部感覺對齊從而增加部分區域的觀察精細度的機制[10]。謝瑜等提出的空間注意機制下的自適應目標跟蹤,解決了多種復雜環境的跟蹤失敗問題[11];馬書磊等提出的全局注意機制圖像描述方法,解決了圖像描述方法全局信息缺失問題,能夠生成更準確的文本內容[12]。
本文構建了基于改進的加權CBOW與BI-LSTM-ATT文本分類模型,結構如圖1所示。

圖1 基于改進的加權CBOW與BI-LSTM-ATT文本分類網絡結構圖
訓練前,將語料庫中的所有n個單詞進行獨熱編碼為w(i)∈Rn。CBOW模型根據上下文預測目標單詞,最后使用模型的部分參數作為詞向量。CBOW模型分為三層:第一層為輸入層(INPUT),窗口為c,假設c取2,選取目標單詞w(i)上下文中的2c個詞向量(w(i-2),w(i-1),w(i+1),w(i+2))作為輸入context(w)1,context(w)2,…,context(w)2c。第二層為投影層(PROJECTION),將輸入層的向量累加求和第三層為輸出層(OUT?PUT),對應一顆二叉樹,以語料中出現過的詞為葉子節點,以每個詞在語料中出現次數為權值構造出來的哈弗曼樹[13]。
為了得到預測w(i),在CBOW模型第一層提前設定窗口大小為c,因此詞預測結果w(i)主要受指定窗口的2c個上下文相關詞向量影響,失去了與全部文本信息的關聯影響。為反映當前詞對全文信息的重要程度,以及詞位置對分類能力的影響,提出一種加權CBOW模型,即TFIDF-CBOW模型,如式(1)所示。

TFIDF(Term Frequency-Inverse Document Fre?quency),一種用于信息檢索、數據挖掘的常用加權技術。以詞出現的頻率為特征選擇依據,綜合考慮了頻次和反文本頻次,主要用來評估特征項的重要程度。傳統的TFIDF公式如下所示:表示特征詞在文本中出現頻次;表示特征詞重要程度的度量。其中,ni,j是特征詞ti在文本中出現過的次數,∑knk,j是文本中出現過的特征總數,N表示文檔的總數,N(ti)表示包含詞ti的文檔總數。

在TF公式的實際應用中,忽略了出現在標題和文本中的特征詞分類能力是有明顯區別的,兩者權重明顯不同,出現在標題中的特征詞能夠更清晰的說明文本類別,因此其具備更好的分類能力。將特征詞ti出現在標題位置的頻次記為ftitle(ni,j),權重記為α;文本中出現的頻次記為fbody(ni,j),權重記為β。為體現標題特征詞重要性,α應大于β權重數值,通過調整α和β數值,可得到不同位置權重對分類效果的影響,改進的TF公式如下:

在IDF公式的實際應用中,忽略了特征詞對文本全局信息的影響。若某個特征詞在某類別文本中出現頻數比較大,在另一類文本中出現頻數比較小,這樣的特征詞是具備更好分類能力的。我們將特征詞ti出現在類別cm中文本的頻次記為numm,其余類別中的頻次記為num,影響因子定義為,改進的IDF公式如式(4)所示。若numm數值較大,num較小,則影響因子γ數值偏大,說明特征詞ti具備比較好的分類能力。

因此,改進的TFIDF公式如下:

加權TFIDF-CBOW模型得到的詞向量表示為

LSTM由Hochreiter與Schmidhuber于1997年提出[14]。它是RNN的一種優化,解決了長序列學習的梯度消失問題[15]。本文介紹的是文獻[16]BI-LSTM-ATT分類模型,如圖2。
模型在傳統LSTM基礎上增加了注意機制。單詞向量xij表示第j個單詞向量在第i個文本中,使用雙向LSTM模型對文本注釋得到模型中的注意機制計算出每個元素的概率權重αit,抽取對文本重要的詞向量構成最終特征向量,相關公式如式(7)。


其中,W是權重矩陣,將輸入的hit進行線性轉換,uw是詞水平的上下文矢量,C是第i個文本的文本向量。圖2中的Y表示經word2vec映射后的向量,H表示經標準LSTM訓練學習得到的向量。C和H兩種向量在分類中的權重參考文獻[16]分別設定為0.4和0.6,則文本屬于某一類的概率計算公式如式(8)。


圖2 基于注意機制的BI-LSTM分類模型
實驗數據采用的是復旦大學提供的文本分類語料集,在20個類別中選取了十個類別進行實驗,分別為計算機、軍事、醫學、藝術、歷史、體育、農業、經濟、政治、教育。從中隨機選取訓練集5000條數據,測試集3000條數據。
本文采用文本分類問題常用的幾個性能評價指標,主要有精確率召 回 率x代表分類正確的文本數,y代表實際分類的文本數,z代表應有的文本數。F_meature作為標準測度,綜合考慮了Precision和Recall的影響。
實驗將本文提出的方法與傳統機器學習方法以及深度學習方法進行對比,包括SVM、Text-CNN、RNN、LSTM、Bi-LSTM。表1顯示了不同算法分類準確率。從表1可知,本文算法在很大程度上提高了文本分類準確度,在對不同類型數據集的分類效果上均優于現有算法,比傳統機器學習分類算法準確率提高了一倍,比深度學習分類算法準確率提高了約10個百分點。傳統機器學習分類算法SVM忽略了特征詞之間的聯系,對所有類別的分類均沒有達到40%以上,分類效果最差。Text-CNN、RNN和LSTM分類效果明顯優于SVM,但次于本文提出的算法,主要原因在于這三種算法均忽略了特征詞文本的上下文關系。Bi-LSTM考慮了文本的上下文,分類效果明顯提升,但由于梯度下降等原因,仍不能完美發揮分類作用。實驗表明,本文提出的基于改進的CBOW與Bi-LSTMATT文本分類模型,可以有效提高文本分類效果。

表1 不同算法的分類準確率對比
本文提出了一種基于改進的加權CBOW與BI-LSTM-ATT文本分類模型,應用于復旦大學提供的語料集分類。實驗表明,本文提出的方法在精確率、召回率、F_meature效果對比中,比傳統機器學習和深度學習算法均有明顯提高,整體準確率也是最佳的。在未來的工作中,將進一步研究特征詞選取方法和耗時的改進,考慮如何利用注意機制更有效地關注到關鍵信息,以及嘗試更多領域語料集的實驗結果對比。