呂淑寶+王明月+翟祥+陳宇



摘要:針對傳統文本分類算法準確率低和正確率分布不均勻的問題,提出了基于深度學習的文本分類算法。深度信念網絡具有強大的學習能力,可以從高維的原始特征中提取高度可區(qū)分的低維特征,不僅能夠更全面的考慮到文本信息量,而且能夠進行快速分類。采用TFIDF方法計算文本特征值,利用深度信念網絡構造分類器進行精準分類。實驗結果表明,與支持向量機、神經網絡和極端學習機等常用分類算法相比,該算法有更高的準確率和實用性,為文本的分類研究開拓了新思路。
關鍵詞:文本分類;深度信念網絡;分類器
DOI:1015938/jjhust201702020
中圖分類號: TP181
文獻標志碼: A
文章編號: 1007-2683(2017)02-0105-07
Abstract:Aiming at the problem of low categorization accuracy and uneven distribution of the traditional text classification algorithms, a text classification algorithm based on deep learning has been put forward Deep belief networks have very strong feature learning ability, which can be extracted from the high dimension of the original feature, so that the text classification can not only be considered, but also can be used to train classification model The formula of TFIDF is used to compute text eigenvalues, and the deep belief networks are used to construct the classifier The experimental results show that compared with the commonly used classification algorithms such as support vector machine, neural network and extreme learning machine, the algorithm has higher accuracy and practicability, and it has opened up new ideas for the research of text classification
Keywords:text classification; deep belief network; classifier
0引言
文本分類是根據提前建立好的分類器[1-2],讓計算機對給定的未知類別的文本集進行分類的過程[3]。一個完整的文本分類過程主要包括以下幾個部分:首先是文本預處理,將文本表示成易于計算機處理的形式;其次是文本向量表示;再次是根據訓練集(具有類標簽)學習建模,構建出分類器;最后利用測試集測試建立好的分類器的性能,并不斷反饋、學習提高該分類器性能,直至達到預定的目標。
常用的文本分類算法包括SVM(support vector machine,支持向量機) [4],BP(back propagation) 神經網絡[5-6]、ELM(extreme learning machine,極端學習機)算法[4]等[7],這些方法往往存在著有限樣本或局部最優(yōu)及過學習問題[2],并且這些方法為了避免維度災難通常對數據做降維處理,此時得到的結果并不能很好的反應文本的特征,最終導致分類準確率低下。因此,本文主要研究如何文本分類的準確率和效率。
目前國內對于文本分類的研究比較少,因此如何提高文本分類的準確率,是一項重要的研究內容[8] 。
深度學習是通過構建具有多個隱層的機器學習模型組合低層特征形成更加抽象的高層特征來表示屬性類別,以發(fā)現數據的分布式特征[9]。深度學習具有很強大的自我學習挖掘特征的能力,可以得到最接近數據本質的表達和模式,能夠極大的提高預測、分類等性能[10]。2006年,Geoffrey Hinton提出深度信念網絡(deep belief network,DBN) [11]。它是一種概率生成模型,通過訓練其神經元間的權重可以讓整個網絡按照最大概率來生成訓練數據,從而實現特征識別和數據分類。
深度信念網絡由多層神經網絡構成,且這些結構之間均是非線性映射的,這使得它可以很好的完成復雜函數的逼近,從而實現快速的訓練。此外,深度信念網絡輸入數據的重要驅動變量是通過貪心算法逐層訓練每一層網絡得到的,學習過程中既保證了數據本質特征的抽取,同時也避免了過擬合現象的出現。
基于上述原因,提出了基于深度學習的文本分類算法。首先,利用中科院中文分詞系統對文本進行預處理;其次,使用TFIDF(Term Frequency–Inverse Document Frequency)公式計算文本分詞的特征值,構成初始特征矩陣[12];然后,利用DBN良好的特征學習能力,從原始的高維特征中自動提取出高度可區(qū)分的低維特征;最后,將得到的特征輸入 softmax回歸分類器實現分類。
1關鍵技術
11文本的獲取
手動建立文本庫,在網絡上大量搜集資料匯總,總結出5類文本:花、樹木、蟲、土壤、水類文本,同樣本文研究的算法也適用于其他類型的文本,本文選取的實驗樣本如圖1~3所示(經過分詞后的文本)[13]。
從所獲得的數據可知,不同類別的樣本含有一些可將該類文本與其他類別文本區(qū)分開的特征詞。由圖2可看出花類文本中,典型特征詞有花、花蕊、花柄等專業(yè)性術語[13];由圖2可看出蟲類文本中,含有的關鍵特征詞包括蟲、觸角、尾須等。由圖3可看出土壤類文本中,含有的關鍵特征詞包括土、土壤、肥力等。樹木類、水類文本含有的典型特征詞顯然也同樣如此。
通過ICTCLAS系統(institute of computing technology, chinese lexical analysis system)對初始文本進行分詞和去停用詞,從而得到實驗所需的文本特征詞,然后使用經典的TFIDF公式計算特征詞的權值,構成文本初始特征矩陣進行實驗[13]。
12文本表示
假設所有的文本共有n個特征,形成n維的向量空間,每一個文本d可用n維的特征向量來表示:
13文本分類算法
傳統的支持向量機算法、BP神經網絡算法等受樣本影響較大,因此不同樣本分類的正確率差異較大,基于深度學習的文本分類算法實驗得到了較好的效果,分類結果精準并且正確率分布均勻[8]。
使用深度信念網絡進行文本分類主要包括兩個過程:DBN預訓練和網絡調優(yōu)。其他的分類算法為了避免維度災難往往需要對數據進行降維處理,DBN可以自動從高維的原始特征中提取高度可區(qū)分的低維特征,因此不需要對數據進行降維就可以直接開始訓練分類模型,同時也考慮了文本足夠的信息量。在調優(yōu)DBN的過程中,可以利用DBN的權值初始化BP神經網絡的各層的權值,而不是利用隨機初始值初始化網絡,將DBN展開成BP神經網絡,最后利用 BP 算法微調優(yōu)整個網絡的參數,從而使得網絡的分類性能更優(yōu),這個措施使DBN克服了BP網絡因隨機初始化權值參數而容易陷入局部最優(yōu)的缺點。
131DBN預訓練
深度信念網絡是一種深層非線性的網絡結構,它通過構建具有多個隱層的模型來組合低層特征形成更加抽象的高層特征[9]來挖掘數據特征實現文本分類。假設S是一個系統,它包含有n層(S1,S2,…,Sn),若輸入用I表示,輸出用O表示,則可表示為:I≥S1≥S2≥…≥Sn≥O,不斷調整系統中的參數,使得系統的輸出仍然是輸入I,那么我們就可以自動得到輸入I的層次特征,即S1,S2,…,Sn。DBN(深度信念網絡)是一個概率生成模型,它建立了觀測數據和標簽之間的聯合分布[15]。
DBN是由一層層的RBM(restricted boltzmann machine,受限玻爾茲曼機)不斷堆疊而成的。RBM 是一種典型的神經網絡,如圖4所示。
RBM網絡共有2層,其中第一層稱為可視層,一般來說是輸入層,另一層是隱含層,也就是我們一般指的特征提取層。該網絡可視層和隱層中神經元彼此互聯,隱層單元被訓練去捕捉可視層單元所表現出來的數據的高階相關性[2]。圖4中wn×m為可視層與隱層之間的權重矩陣;b為可視層節(jié)點的偏移量;c為隱層節(jié)點的偏移量;v為可視層節(jié)點的狀態(tài)向量;h為隱層節(jié)點的狀態(tài)向量。
在訓練DBN時,采用貪婪法逐層訓練每一層的RBM。前一層的RBM訓練完成后,將其結果作為下一層RBM的輸入來訓練該層RBM,以此類推訓練完若干RBM,從而構建完整的DBN網絡,其網絡結構如下圖5所示[2]。
RBM的訓練過程,實際上是求出一個最能產生訓練樣本的概率分布。也就是說,要求一個分布,在這個分布里,訓練樣本的概率最大。由于這個分布的決定性因素在于權值w,所以我們訓練RBM的目標就是尋找最佳的權值。
Hinton[16]提出了一種快速算法,稱作對比分歧(contrastive divergence,簡稱CD算法)算法。這種算法只需迭代k次,就可以獲得對模型的估計,而k通常等于1。CD算法開始是用訓練數據去初始化可視層,然后用條件分布計算隱層;然后,再根據隱層用條件分布來計算可視層。這樣產生的結果就是對輸入的一個重構。具體來說,在這個訓練階段,在可視層會產生一個向量v,通過它將值傳遞到隱層。反過來,可視層的輸入會被隨機的選擇,以嘗試去重構原始的輸入信號。最后,這些新的可視的神經激活單元將前向傳遞重構隱層激活單元,獲得h。這些步驟就是我們熟悉的Gibbs采樣,權值更新的主要依據是隱層激活單元和可視層輸入之間的相關性差別。根據CD算法:
DBN的預訓練過程:
1)用貪婪算法訓練第一個RBM;
2)固定第一個RBM的權值和偏置值,將其結果的輸出作為較上一層RBM的輸入;
3)重復以上步驟任意多次,直到重構誤差盡可能的小,此時隱藏層可作為可視層輸入數據的特征;
DBN預訓練算法具體步驟如下:
輸入:訓練樣本x0,可視層與隱藏層單元個數n,m ,學習率ε,最大訓練周期T;
輸出:權重矩陣w,可視層偏置量a,隱藏層偏置量b;
步驟 1:初始化可視層單元初始狀態(tài)v1=x0,W,a,b為隨機較小的數字;
步驟 2:迭代訓練周期t;
步驟3:通過可視層v1計算隱層h1,具體為循環(huán)計算P(h1j=1|v1)值,并以該概率值為隱藏層第j個單元取值為1的概率;
步驟4:通過隱藏層h1計算可視層v2 ,具體為循環(huán)計算P(v2i=1|h1)值,并以該概率值為可視層第i個單元取值為1的概率;
步驟 5:通過可視層v2計算可視層h2 ,具體為循環(huán)計算P(h2j=1|v2)值,并以該概率值為可視層第j個單元取值為1的概率;
步驟 6:更新參數W,a,b
步驟 7:判斷是否達到迭代次數,是轉到步驟8,否轉到步驟2;
步驟 8:輸出參數w,a,b結束;
132網絡調優(yōu)
在確定了網絡的各個權值后,再次根據樣本,以BP神經網絡的算法,進行一次有監(jiān)督的學習過程,這一過程被稱為深度信念網絡的調優(yōu)。如下圖6所示。
在DBN的最后一層設置BP網絡,接收RBM的輸出特征向量作為它的輸入特征向量,有監(jiān)督地訓練分類器,然而每一層RBM只能確保自身層內的權值對該層特征向量映射達到最優(yōu),并不是對整個DBN的特征向量映射達到最優(yōu)。BP算法可以利用反向傳播網絡將錯誤信息自頂向下傳播至每一層RBM來調整整個DBN網絡,提高該網絡的分類性能。
2實驗結果
實驗首先針對文本進行樣本選擇,如表1所示。
表1所示,實驗選取5個類別:花、樹木、蟲、土壤、水。訓練樣本每個類別選取1200個,共6000個。對訓練樣本加高斯白噪聲處理得到測試樣本,每個類別選取200個,共1000個測試樣本,樣本總數7000個。
對樣本預處理之后使用TFIDF方法計算文本特征詞的權值,構成訓練樣本的初始特征值矩陣,然后對訓練樣本的初始特征值矩陣加高斯白噪聲獲得測試樣本初始特征值矩陣,最后進行分類操作。如圖7所示為基于深度學習的文本分類的流程圖。
實驗過程中,訓練和測試樣本初始特征矩陣維數均為1127維,文本類別總數K=5。初始化參數,DBN網絡的節(jié)點數分別為1127-1700-1000-25-5,共5層。從圖8中可以看出隨著深度學習迭代次數的增加,目標函數的值(也即重構方差的值)在不斷地遞減,逐漸接近最優(yōu)值01。此外,在更新過程中,我們可以看到err(重構的方差)明顯在遞減,最開始有40000多(總共1127維,可見最開始重構非常差),但最后只有01的err,說明最后重構已經比較準確,非常接近原始數據的分布狀態(tài)。
表2為DBN算法的迭代次數所對應的重構方差數據。由表2可見,在隱層節(jié)點數一定時,隨著迭代次數的增加,可以降低算法的誤差,但是迭代次數越多,訓練時間也越久。在隱含層節(jié)點數為1700-1000-25時,迭代次數為20時,DBN達到重構方差最小值01,并且趨于穩(wěn)定。所以此時訓練時間最短,分類性能最好。
表3為實驗的訓練時間和實驗誤差對比,由表3可見,DBN與極端學習機算法的測試誤差率較低,分類結果比較理想,但是DBN優(yōu)于ELM,它以犧牲時間為代價提高了分類的準確率。
為了對比基于深度信念網絡的分類效果,我們選取相同數量的樣本,每類樣本各200個,總共1000個測試樣本,為了避免維度災難,使用PCA(主成分分析)的方法處理初始特征矩陣,得到降維后的特征矩陣,然后再用SVM、BP、ELM、這三種方法進行分類。其中BP采用是3層的網絡結構,節(jié)點數分別為213-12-5,迭代200次。使用libsvm311工具箱,進行SVM實驗。ELM選擇隱層數為40,迭代次數20[17]。 結果如圖9所示,橫坐標代表樣本數目,縱坐標代表分類器分類的正確率。
由圖9可以看出,SVM、BP、ELM、DBN這4種分類算法在處理5種類別文本時所得到的分類正確率。SVM分類時性能比較不穩(wěn)定,5類樣本準確率分布不均勻,BP和ELM分類時性能較穩(wěn)定,5類樣本的分類正確率比較均勻且數值都較高,但是從圖9中明顯可以看出DBN分類性能更優(yōu)。
圖10是四種分類算法隨著文本數量的遞增所顯示的分類正確率,橫坐標代表文本的測試樣本個數,縱坐標代表分類器分類的正確率。本實驗五類樣本隨機各選取10個,合計50個樣本,從圖10中可看出,每種分類算法是在對第幾個樣本分類時判斷錯誤,也即分類算法的分類正確率的轉折點,對比實驗結果可知4種分類算法中DBN算法分類性能較高。
使用1000個測試樣本,4種分類方法正確率對比結果如圖11所示,該圖可以看出每個分類器的分類效果。圖11橫坐標代表測試樣本的數目,縱坐標代表分類的正確率。
采用相同的訓練樣本與測試樣本,使用SVM、BP、ELM這3種分類算法與DBN分類算法作對比,這4種算法實驗結果如表4所示。
由實驗結果可知,本文提出的基于深度學習的文本分類算法能夠實現對上面5類文本的準確分類,分類效果比基于BP、SVM、ELM的分類算法更好,并且基于深度學習的文本分類算法不需要對數據進行降維處理就可自動從高維的原始特征中提取出高度可區(qū)分的低維特征,顯著提高了分類的效率[18]。此外,當樣本數量達到上萬時,基于BP、SVM、ELM的分類算法由于樣本過多容易產生“過擬合”情況導致分類效果變差,但是DBN在面對大數據時表現出了極強的優(yōu)勢,不但可以考慮到文本更為全面的信息量,而且還可以快速訓練分類模型,提高分類效率[19-20]。
3結語
基于深度學習的文本分類算法,文本特征的表達通過TFIDF方法計算權值后得到文本的初始特征矩陣來實現,之后進行DBN訓練來構建分類器,并通過對其優(yōu)化來實現文本的快速精準分類。實驗結果表明文本的分類可采用深度學習的算法,分類正確率明顯高于BP、SVM、ELM分類算法,為文本分類提供了新思路[8]。
參 考 文 獻:
[1]陳宇,許莉薇基于高斯混合模型的林業(yè)信息文本分類算法[J]. 中 南 林 業(yè) 科 技 大 學 學 報,2014,34(8):114-119
[2]陳翠平基于深度信念網絡的文本分類算法[J].計算機系統應用,2015,24(2):121-126
[3]張浩,汪楠文本分類技術研究進展[J].計算機與信息技術,2007,23(1):95-96
[4]柳長源,畢曉君,韋琦基于向量機學習算法的多模式分類器的研究及改進[J].電機與控制學報,2013,17(1):114-118
[5]李東潔,李君祥,張越,等基于 PSO 改進的BP神經網絡數據手套手勢識別[J].電機與控制學報,2014,18(8):87-93
[6]仲偉峰,馬麗霞,何小溪PCA和改進BP神經網絡的大米外觀品質識別[J].哈爾濱理工大學學報,2015,20(4):76-81
[7]李軍,乃永強基于ELM的機器人自適應跟蹤控制[J].電機與控制學報,2015,19(4):106-116
[8]陳宇,王明月,許莉薇基于DEELM的林業(yè)信息文本分類算法[J].計算機工程與設計,2015,36(9):2412-2431
[9]朱少杰基于深度學習的文本情感分類研究[D].哈爾濱:哈爾濱工業(yè)大學,2014
[10]劉樹春 基于支持向量機和深度學習的分類算法研究[D].上海:華東師范大學,2015
[11]HINTON GE,SALAKHUTDINOV RR Reducing the Dimensionality of Data with Neural Networks[J].Science,2006,313(5786):504-507
[12]戚孝銘基于蜂群算法和改進KNN的文本分類研究[D].上海:上海交通大學,2013
[13]陳宇,許莉薇 基于優(yōu)化LM模糊神經網絡的不均衡林業(yè)信息文本分類算法[J]. 中 南 林 業(yè) 科 技 大 學 學 報,2015,35(4):27-59
[14]段江麗基于SVM的文本分類系統中特征選擇與權重計算算法的研究[D].太原:太原理工大學,2011
[15]陳勇,黃婷婷,張開碧,等結合Gabor特征和深度信念網絡的人臉姿態(tài)分類[J]. 半導體光電,2015,36(5):815-819
[16]HINTON GE, OSINDERO S, TEH Y A Fast Learning Algorithm for Deep Belief Nets[J].Neural Computation,2006,18(7):1527-1554
[17]唐曉明,韓敏一種基于極端學習機的半監(jiān)督學習方法[J].大連理工大學學報,2010,50(5):771-776
[18]BENGIO YLearning deep architectures for Al[J].Foundations and Trends in Machine Learning,2009,2(1):1-127
[19]侯思耕基于主題模型和深度置信網絡的文本分類方法研究[D].昆明:云南大學,2015
[20]魯錚基于TRBM算法的DBN分類網絡的研究[D].長春:吉林大學,2014
(編輯:溫澤宇)