袁麗莉,侯 磊,張正平
(貴州大學 大數據與信息工程學院,貴陽 550025)
隨著大數據和“互聯網+”的高速智能化發展,互聯網已發展成為當今世界上最大的信息資源庫,而大多數信息是以文本方式呈現出來的[1]。從這些海量且雜亂無章的數據文本中篩選出所需的有用信息是當前數據挖掘領域的研究熱點。文本分類是自然語言處理(NLP)領域中的基礎任務,能將復雜的文本信息有效的組織和管理,并已廣泛用于信息檢索、自動聊天系統、垃圾郵件過濾等領域。
目前,常用的文本分類方法可分為兩類,一類是基于傳統的機器學習,例如支持向量機(SVM)、決策樹等;另一類是基于深度神經網絡的文本分類方法,該種方法通常采用卷積神經網絡(CNN)和循環神經網絡(RNN),其一般流程為文本預處理、結構化表示、特征選擇和分類器構建,通過學習訓練得到分類模型,最后利用分類模型對測試樣本進行預測,從而達到對文本分類的目的[2]。通過對當前文本分類的研究不難發現,文本表示是文本分類中的難點之一,尤其是在文本的語義表達方面最為困難。文本在機器學習中表示大多采用向量空間模型,該模型容易造成向量維數過大,數據稀疏的問題,從而影響最終分類的結果。因此,如何將文本表示為機器可以理解的形式,又保留文本原有的潛在語義至關重要[3-4]。文獻[5]提出一種基于LDA 主題模型和Word2Vec 詞向量模型,完成對文本詞向量的構建,結合神經網絡對構建的詞向量獲取聯合特征的方法,實現文本分類;文獻[6]采用三層CNN模型,提取文本的局部特征,整合出全文的語義,利用長短時記憶網絡(LSTM)存儲歷史信息的特征,以獲取文本的上下文關聯語義;文獻[7]采用詞向量完成原始文本的數字化,利用雙向長短時記憶網絡(BiLSTM)進行語義的提取,同時采用改進的注意力層(Attention)融合正向和反向特征,獲得具有深層語義特征的短文本向量表示;文獻[8]提出一種BiLSTM 和CNN 混合神經網絡文本分類方法,兩種神經網絡的結合充分發揮了CNN 的特征提取能力和BiLSTM 的上下文依賴能力,同時采用注意力機制提取信息的注意力分值,增強模型的特征表達能力。
基于上述的研究,經過word2vec 形成的詞向量矩陣,由于文檔集里的各個文本長度不一,造成詞向量矩陣的行數不一,在實驗過程不能批量處理數據。本文提出一種基于LDA 的最大概率填充模型,該模型對詞向量矩陣進行填充,使構建的詞向量矩陣行數等于最大文本長度,豐富了語義信息,采用BiLSTM_Attention模型對通過填充后具有上下文豐富語義信息的文本詞向量矩陣進行訓練,達到分類器可以根據給定的標簽信息對輸入信息進行分類的目的。
分詞過后的文本需要轉化為計算機能識別的形式,目前主要采用Word2Vec模型。Word2Vec 包含了CBOW 和Skip-gram 兩種模型,CBOW模型利用詞的前后各C個詞來預測當前詞,如圖1(a)所示;Skip-gram模型則是利用當前詞預測其前后各C個詞,如圖1(b)所示。在CBOW模型中,輸入層是詞W(t)的前后各C個詞向量,投影層將這些詞向量累加求和,輸出層是一棵以訓練數據中所有詞作為葉子節點,以各詞在數據中出現的次數作為權重的樹[9]。最后應用隨機梯度上升法預測投影層的結果作為輸出,Skip-gram模型與之類似。當獲得所有詞的詞向量后,可發現這樣的規律:“king”+“woman”=“queen”,可見詞向量有效表達了詞語的語義信息[10]。

圖1 LDA模型Fig.1 LDA model
判斷兩個文本是否相似,傳統的方法是找出兩個文本中共有的詞個數,這種方法的缺點在于忽略了文本的語義信息,使得兩個原本相似的文檔因為沒有共有的詞而造成判斷錯誤。所以在進行文本分類時,語義也是需要考慮的一個重要的因素[11-12]。本文采用的LDA模型就能夠很好地解決文本的語義問題,通過文本混合主題上的概率分布選擇一種主題,從被抽取到的主題上所對應的單詞概率分布中抽取一個詞,然后重復上述過程,直至遍歷文檔中的每一個單詞。圖2 為LDA 生成模型,K為主題個數,M為文檔總數,Nm是第m個文檔的詞數,β是每個主題下詞的多項分布的Dirichlet 先驗參數,α是每個文檔下主題的多項分布的Dirichlet 先驗參數,zm,n是第m個文檔中第n個詞的主題,wm,n是第m個文檔中的第n個詞,隱含變量θm和φk分別表示第m個文檔下的主題分布和第k個主題下詞的分布,前者是k維向量,后者是v維向量。主題模型學習參數主要是基于Gibbs 采樣和基于推斷EM 算法求解,Gibbs 采樣算法是一種特殊的馬氏鏈的方法,是經過對詞的主題采樣生成馬氏鏈。馬氏鏈的生成過程是根據所有詞的其它時刻的主題分布估計當前詞分配于各個主題的分布概率,當算法重新選擇了一個與原先不同的主題詞時,反過來會影響文本-主題矩陣和主題-詞矩陣,這樣不斷地進行循環迭代,就會收斂到LDA 的誤差范圍內。當完成主題采樣后,就可以學習模型的最終訓練結果,生成兩個矩陣分別為文本-主題分布矩陣θ及主題-詞分布矩陣Φ,公式(1)和公式(2)如下:


圖2 LDA 生成模型Fig.2 LDA generative model
運用詞向量模型對輸入文本進行詞向量矩陣嵌入生成之后,因為文檔里的文本長度長短不一樣,導致文檔集里的各個文本生成的詞向量矩陣的大小各不相等,在目前的處理方法中,通常采用填零法、循環法和隨機法進行填充,導致構建的詞向量矩陣存在稀疏性以及語義混亂等問題[5]。為了在實驗中能夠進行批處理數據和豐富文本特征信息,本文提出基于最大概率主題下的LDA 填充方式,以文檔集里的最大文本長度為基準,尋找文本對應文本-主題矩陣最大的概率主題,找到此主題下的詞概率分布,依照概率大小將詞映射為詞向量,并依次對詞向量矩陣進行填充,直至構建的詞向量矩陣行數等于最大文本長度。填充流程如圖3 所示。

圖3 LDA 填充流程圖Fig.3 LDA filling flow chart
例如:“The driver of this car was charged by speeding and hitting pedestrian”,若不聯系后文則很難推斷在此處charge 是收費還是指控的意思,BiLSTM 雙向捕捉能獲得更細粒度的信息,提出了雙向神經網絡,結構如圖4 所示。

圖4 BiLSTM_Attention 結構圖Fig.4 BiLSTM_Attention structure diagram
首先,使用BiLSTM 學習當前詞的上文詞向量C1(Wi)和下文詞向量C2(Wi),再與當前的自身詞向量C(Wi)進行計算,公式(3)~公式(5)如下:


將Xi作為Wi的語義特征,通過激活函數tanh得到的潛在語義信息Yi,公式(6)和公式(7)如下:

注意力機制是一種權重分配的機制,通過模仿生物、觀察行為,將內部經驗和外部感覺對齊,進一步增強觀察行為的精度,在數學模型上表示為通過計算注意力的概率分布來獲得某個輸入對輸出的影響,該方法后來被引入到自然語言處理領域。圖4中的Vi作為不同時刻的輸出權重,公式(8)對BiLSTM 網絡的輸出進行加權求和。

經典的全連接網絡的輸出層表示為公式(9):

其中,W2為權重系數,b1為偏置項。
通過softmax函數分類,得到每個文本所在類別的概率分布,找出最大值的類別就是預測類別,計算公式(10)如下:

本次實驗采用的數據集為IMDB 電影評論分析數據集,共有3 個部分:分別為帶標簽的訓練集(labeledTrainData),不帶標簽的訓練集(unlabeledTrainData)和測試集(testData),實驗參數見表1。

表1 BiLSTM 網絡參數Tab.1 BiLSTM network parameters
為客觀評價本文提出的模型,將IMDB 電影評論數據集按8:2 的比例分為訓練數據集和測試數據集。同時引入準確度(accuracy)、精確度(precision)、召回率(recall)、綜合評價指標(F1)對實驗結果定性分析,4 種指標計算公式如公式(11)~(14),各參數意義見表2。


表2 評價指標函數意義Tab.2 The meaning of evaluation index function
本文實驗涉及的開發工具與實驗環境:
硬件環境:CPU:Inter(R)core(TM)i5-4210 M,內存:8 GB,硬盤:500 GB。
軟件環境:Windows10(基于X64 的處理器),python3.6.8。
為驗證本文模型的有效性,選取RNN、BiLSTM和BiLSTM_Attention 3 種常規模型與本文提出的LDA_BiLSTM_Attention模型進行對比實驗,實驗結果見表3。

表3 評價指標函數意義Tab.3 The meaning of evaluation index function
從表3 中的數據可以看出,本文模型文本分類準確度達到98.43%,比BiLSTM_Attention模型提高了0.83%,在召回率方面也表現很好,綜合評價指標最佳。RNN 網絡因不能雙向捕捉特征值導致分類效果最差,加入了注意力機制的BiLSTM模型相對于單獨的BiLSTM模型綜合評價指標也有所提升。由此可知,在BiLSTM_Attention模型的基礎上加入LDA 算法填充詞向量矩陣,能豐富語義,進一步捕獲文本分類的信息,提高文本分類的準確率。
上述4 種模型的損失值和準確率隨迭代次數的變化曲線,如圖5 和圖6 所示。由圖5 和圖6 可以看出,采用LDA 對詞向量矩陣進行填充后訓練的模型損失值最小,并且準確度最高,達到了98.4%。采用LDA 算法對詞向量矩陣填充后進行分類的準確度相對于沒有填充后進行分類的結果要高出0.83%,因為本文提出的LDA模型對詞向量矩陣進行填充,豐富了上下文的語義關系,使得分類的準確率更高,可解釋性也更好。

圖5 Loss 變化曲線Fig.5 Loss curve

圖6 Accuracy 變化曲線Fig.6 Accuracy curve
上述4 種模型的返回值和綜合評價指標隨迭代次數的變化曲線如圖7 和圖8 所示。可以看出本文提出的LDA_BiLSTM_Attention 混合模型性能表現最佳,未加LDA 填充算法的BiLSTM_ Attention模型性能表現次之,這說明LDA 算法對詞向量矩陣填充后使用混合BiLSTM_Attention 結構作為模型主體的效果顯著,充分發揮BiLSTM 算法在長文本序列中獲取歷史信息的能力與LDA 算法填充主題詞向量矩陣的優勢,從而提高了文本分類的綜合指標。

圖7 Recall 變化曲線Fig.7 Recall curve

圖8 F1 變化曲線Fig.8 F1 curve
文本表示是文本分類的重要過程,針對文本復雜語義表達的問題,本文提出一種LDA最大概率主題填充模型來豐富文本詞向量矩陣。首先,運用word2vec 詞嵌入方式生成文本向量;其次,根據LDA模型對文本向量進行填充,豐富語義信息,采用BiLSTM_Attention模型訓練填充后的詞向量矩陣;最后,采用softmax 進行分類。通過與其他幾種文本分類模型的對比可知,本文提出的LDA最大概率填充算法能有效提高文本分類的準確度。