張文鈞 蔣良孝,2 張 歡 陳 龍
1(中國地質(zhì)大學計算機學院 武漢 430074) 2(智能地學信息處理湖北省重點實驗室(中國地質(zhì)大學) 武漢 430074)
近年來,隨著互聯(lián)網(wǎng)信息的指數(shù)式增長,如何將海量的文本數(shù)據(jù)按照指定的類別自動歸類,已成為自然語言處理的一項重要研究任務[1].為解決復雜的文本數(shù)據(jù)帶來的獨特挑戰(zhàn)[2],已有許多經(jīng)典的機器學習方法被用來解決文本分類問題,比如樸素貝葉斯、支持向量機、K近鄰、決策樹等.
樸素貝葉斯模型因其簡單、高效、易理解的特點被廣泛應用于文本分類任務.在處理文本分類任務時,文檔的特征通常用其中出現(xiàn)的單詞來表示.按照單詞在文檔中是否出現(xiàn),可將每個單詞看作一個布爾變量,由此構(gòu)建的樸素貝葉斯模型稱為多變量伯努利樸素貝葉斯模型(Bernoulli naive Bayes,BNB)[3].BNB只考慮單詞在文檔中是否出現(xiàn),而完全忽略了單詞在文檔中出現(xiàn)的頻次信息.為了彌補BNB所面臨的這一不足,McCallum和Nigam[4]提出了多項式樸素貝葉斯分類模型(multinomial naive Bayes,MNB),在分類過程通過捕獲單詞在文檔中的出現(xiàn)頻次來獲得更好的分類性能,因此MNB較之于BNB有更加廣闊的應用前景.
不過MNB與BNB都存在一個共同的不足:其屬性條件獨立假設在面對復雜的文本數(shù)據(jù)時往往很難得到滿足.因此,削弱樸素貝葉斯文本分類模型所要求的屬性條件獨立假設成為改進樸素貝葉斯文本分類模型的重要途徑.為此,學者們提出了許多改進方法,概括起來主要包括結(jié)構(gòu)擴展[5]、實例選擇[6-7]、實例加權(quán)[8]、特征選擇[9-10]、特征加權(quán)[11-15]等.相關(guān)的實驗研究也驗證了這些方法的有效性.
然而,所有這些方法都是基于原始的單詞特征來構(gòu)建分類模型,由于樸素貝葉斯模型假定單詞之間相互獨立,因此在分類中很難學習到多個單詞組合在一起時對分類的影響.然而現(xiàn)實情景中單個的單詞特征攜帶的信息有限,單詞組合在一起才可以表達更多的語義信息.基于當前樸素貝葉斯文本分類模型的這一局限,本文嘗試用特征學習的方法,從原始的單詞特征中學習到由多個單詞特征組合在一起表示的高層特征,再基于學到的高層特征訓練樸素貝葉斯模型.基于這個想法,本文提出了一種雙層貝葉斯模型:隨機森林樸素貝葉斯(random forest naive Bayes,RFNB),以改進樸素貝葉斯文本分類模型的分類性能.RFNB分為2層,在第1層采用隨機森林做特征學習,利用Bagging集成的優(yōu)勢以及隨機決策樹的隨機性從原始的單詞特征中學習多個單詞特征組合在一起表示的高層特征,構(gòu)成新的特征表示.學到的新特征輸入第2層,經(jīng)過一位有效編碼(one-hot encoding)后用于構(gòu)建伯努利樸素貝葉斯模型.
本文的主要貢獻包括2個方面:
1)對樸素貝葉斯文本分類模型進行較為全面的調(diào)查研究,總結(jié)了樸素貝葉斯文本分類模型的5類改進方法;創(chuàng)新性地提出了改進樸素貝葉斯文本分類模型的特征學習新方法,構(gòu)建了一種雙層貝葉斯模型——隨機森林樸素貝葉斯(RFNB),設計并實現(xiàn)了學習RFNB模型的新算法.
2)針對樸素貝葉斯文本分類模型假定單詞特征之間完全獨立的不足,本文提出的特征學習新方法可以從原始單詞特征表示中學習到有益于分類的新特征表示;在大量廣泛使用的文本數(shù)據(jù)集上的實驗結(jié)果表明,相較于現(xiàn)有改進模型和其他經(jīng)典的機器學習文本分類模型,RFNB模型取得了較好的實驗效果.
在眾多樸素貝葉斯文本分類模型中,首先被提出的是多變量伯努利樸素貝葉斯文本分類模型(BNB).BNB假定文檔由二進制特征向量表示,該向量表示哪些單詞在文檔中出現(xiàn),哪些單詞在文檔中不出現(xiàn).用d來表示1篇待分類的文檔,其特征向量(w1,w2,…,wi,…,wm)表示構(gòu)成文檔的單詞向量.BNB運用式(1)來分類文檔d:
(1-Bi)(1-P(wi|c)))],
(1)
其中,C為文檔所屬類別c的集合,m是詞庫中不同單詞的數(shù)目,即詞庫的大小,wi表示單詞向量中的第i個單詞,Bi表示第i個單詞在文檔d中是否出現(xiàn),出現(xiàn)為1,不出現(xiàn)為0.先驗概率P(c)和條件概率P(wi|c)分別運用式(2)(3)來估計:
(2)
(3)
其中,n是訓練文檔的數(shù)目,l表示文檔的類別數(shù)目,cj是第j篇訓練文檔的類標記,wji表示第j篇訓練文檔中的第i個單詞,其值為布爾類型,若第i個單詞在第j篇文檔中出現(xiàn)則wji=1,否則wji=0.δ(α,β)是一個二元函數(shù),當α=β時δ(α,β)=1,否則δ(α,β)=0.
為了克服BNB忽略單詞出現(xiàn)的頻次信息這一不足,McCallum和Nigam[4]通過捕獲文檔中單詞出現(xiàn)的頻次信息,提出了一種多項式樸素貝葉斯文本分類模型.MNB運用式(4)來分類待分類文檔d:
(4)
其中fi是單詞wi在文檔d中出現(xiàn)的頻次,先驗概率P(c)與BNB中計算方法一致,仍然運用式(2)來估計.條件概率P(wi|c)則運用式(5)來估計:
(5)
其中fji是單詞wi在第j篇文檔中出現(xiàn)的頻次.
MNB較BNB具有更加廣泛的應用,許多研究工作都以MNB為基準進行改進,但是MNB要求的屬性條件獨立假設在現(xiàn)實應用中往往很難得到滿足.為了削弱它要求的屬性條件獨立假設,學者們提出了許多改進方法,蔣良孝和李超群[16]對這些改進方法做了詳細總結(jié),概括起來主要包括5類:結(jié)構(gòu)擴展、實例選擇、實例加權(quán)、特征選擇、特征加權(quán).
結(jié)構(gòu)擴展方法通過在存在相互依存關(guān)系的特征之間添加有向邊,由此來學習結(jié)構(gòu)擴展的MNB模型.給定1篇待分類的文檔d,結(jié)構(gòu)擴展的MNB運用式(6)來分類文檔d:
(6)
其中Swi表示貝葉斯網(wǎng)絡中wi的父特征集.先驗概率P(c)仍運用式(2)來估計,但條件概率P(wi|Swi,c)在估計時要首先通過結(jié)構(gòu)學習確定每個特征的父特征集,這類似于學習一個最優(yōu)的貝葉斯網(wǎng)絡,被證明是一個NP-hard問題.
為了構(gòu)建一種不需要進行結(jié)構(gòu)學習但仍然可以在某種程度上考慮到特征之間依存關(guān)系的貝葉斯網(wǎng)絡模型,Jiang等人[5]提出了一種結(jié)構(gòu)擴展的MNB模型(structure extended multinomial naive Bayes,SEMNB).SEMNB提供了一種簡單有效的學習方法,通過加權(quán)平均所有的一依賴多項式估計來削弱MNB模型要求的屬性條件獨立假設.SEMNB模型無需復雜的結(jié)構(gòu)學習過程,保持了MNB模型的結(jié)構(gòu)簡單性.
實例選擇方法首先利用局部學習的思想從整個訓練文檔集中選擇部分實例來組建待分類文檔的鄰域,然后在組建的鄰域上構(gòu)建MNB.給定1篇待分類的文檔d,實例選擇的MNB仍然運用式(4)來分類文檔d,但先驗概率P(c)和條件概率P(wi|c)分別運用式(7)(8)來估計:
(7)
(8)
其中k表示文檔d的鄰域中訓練文檔的數(shù)目.
為了組建待分類文檔d的鄰域,Jiang等人[6]提出了局部加權(quán)MNB模型(locally weighted multi-nomial naive Bayes,LWMNB).LWMNB采用K近鄰算法來搜索待分類文檔d的鄰域,是一種典型的消極學習的模型.此外,Wang等人[7]受NBTree的啟發(fā),利用決策樹算法來搜索待分類文檔d的鄰域,然后在決策樹的葉子節(jié)點上構(gòu)建MNB模型,從而提出了多項式樸素貝葉斯樹模型(multinomial naive Bayes tree,MNBTree).大量實驗表明,MNBTree具有良好的改進效果.
實例加權(quán)方法首先為不同的訓練文檔學習不同的權(quán)值,然后在加權(quán)之后的訓練文檔集上構(gòu)建MNB.給定1篇待分類的文檔d,實例加權(quán)的MNB仍然運用式(4)來分類文檔d,但先驗概率P(c)和條件概率P(wi|c)分別運用式(9)(10)來估計:
(9)
(10)
其中Wj表示第j篇訓練文檔的權(quán)值.
為了學習得到不同訓練文檔的權(quán)值,Jiang等人[8]提出一種判別加權(quán)的MNB模型(discriminatively weighted multinomial naive Bayes,DWMNB).DWMNB首先用原始訓練文檔集構(gòu)建一個MNB模型,然后在每次迭代中,根據(jù)MNB估計的條件概率損失為不同的訓練文檔分配不同的權(quán)值.最后用學到的實例權(quán)值更新所有訓練文檔,并在更新得到的訓練文檔集上訓練新的MNB模型作為最終學到的模型.
特征選擇方法首先利用數(shù)據(jù)歸約的思想從整個特征空間選擇出一個最佳特征子集,然后在選擇的最佳特征子集上構(gòu)建MNB.給定1篇待分類的文檔d,特征選擇的MNB運用式(11)來分類文檔d:
(11)
其中q表示被選擇的特征數(shù)目,先驗概率P(c)仍然運用式(2)來估計,但條件概率P(wi|c)運用式(12)估計:
(12)
為了從整個特征空間選擇出一個最佳的特征子集,學者們提出了許多特征選擇方法.其中Yang和Pedersen[9]對文本分類的特征選擇方法進行了比較研究,總結(jié)并評估了基于文檔頻率、信息增益、互信息、卡方統(tǒng)計量、單詞強度這5種特征選擇方法.他們的實驗結(jié)果表明,在不損失分類精度的前提下,信息增益和卡方統(tǒng)計量的效果最好.不過在特征選擇的過程中,基于信息增益的選擇方法沒有考慮屬性值個數(shù)對結(jié)果的影響,對屬性值較多的單詞有所偏好.作為對信息增益的補充和改進,Zhang等人[10]提出了一種基于信息增益率做特征選擇的MNB模型(gain ratio-based selective multinomial naive Bayes,GRSMNB),廣泛的實驗研究表明GRSMNB取得了很好的分類效果.
特征加權(quán)方法首先為不同的特征學習不同的權(quán)值,然后在加權(quán)之后的訓練文檔集上構(gòu)建MNB.給定1篇待分類的文檔d,特征加權(quán)的MNB運用式(13)來分類文檔d:
(13)
其中Wi表示單詞wi的權(quán)值,先驗概率P(c)仍然運用式(2)來估計,但條件概率P(wi|c)運用式(14)估計:
(14)
為了學習特征權(quán)值,Jiang等人[11]率先提出了一種相關(guān)性深度特征加權(quán)的MNB模型(deep feature weighted multinomial naive Bayes,DFWMNB).之后,Zhang等人[12]提出了一種基于決策樹做特征加權(quán)的MNB模型(decision tree-based feature weighted multinomial naive Bayes,DTWMNB).2020年Ruan等人[13]在深度特征加權(quán)的基礎上引入類依賴的思想,有區(qū)別地為不同類別上的每個特征學習不同的權(quán)值,由此改進MNB模型.此外,Kim等人[14]基于信息增益、卡方統(tǒng)計量以及一種風險概率的擴展版本提出了3種特征加權(quán)方法.Li等人[15]提出了另一種基于卡方統(tǒng)計量的特征加權(quán)方法,通過在訓練階段準確測量特征和類別之間的正向依賴來計算特征的權(quán)值.
如第1節(jié)所述,已有許多方法被用于削弱樸素貝葉斯的屬性條件獨立假設.大量的實驗研究表明,這些改進方法可以提升樸素貝葉斯文本分類模型的分類性能.然而現(xiàn)有改進方法都是基于原始的單詞特征來構(gòu)建樸素貝葉斯模型,屬性條件獨立假設使得樸素貝葉斯模型假定單詞之間完全獨立,因此忽略了多個單詞組合在一起時對分類的影響.由于實際情景中單詞組合攜帶的語義信息往往比單個單詞更加充分,基于這一問題,本文嘗試用特征學習的方法來改進樸素貝葉斯文本分類模型,為此我們提出了一種雙層貝葉斯模型:隨機森林樸素貝葉斯(RFNB).模型的具體結(jié)構(gòu)如圖1所示,圖1中document表示1篇文檔,termm表示第m個單詞在document中的出現(xiàn)次數(shù),v1表示由所有單詞特征在document中的出現(xiàn)次數(shù)構(gòu)成的特征向量,特征向量中矩形的密集程度表示了特征的維度.第1層由隨機森林構(gòu)成,隨機森林中的第T個基學習器用RandomTreeT表示,每個基學習器為1棵隨機決策樹.第1層利用隨機森林從特征向量v1中捕獲T維單詞組合的高層特征,構(gòu)成特征向量v2.由于v2的維度等于隨機森林中基學習器的個數(shù)T,而T往往遠小于單詞維度m,因此特征向量v2的維度遠遠低于原始的特征向量v1的維度.第2層由BNB構(gòu)成,由于BNB接受二進制特征,所以將特征向量v2進行一位有效編碼(one-hot encoding)后轉(zhuǎn)化為二進制特征向量v3.特征向量v3的維度為T×l,是特征向量v2的維度的l倍.最后在v3上構(gòu)建BNB模型,并由BNB預測待測文檔的類別class.
Fig.1 Structure framework of RFNB圖1 RFNB的結(jié)構(gòu)框架
可見,怎樣從原始的單詞特征中學習到單詞組合的高層特征,以及怎樣利用新特征構(gòu)建高分類性能的樸素貝葉斯分類模型,是學習RFNB要解決的2個核心問題.下面的2.1節(jié)和2.2節(jié)將詳細討論如何解決這2個問題.
原始文本數(shù)據(jù)由原始的單詞特征構(gòu)成,特征值為單詞在文檔中的出現(xiàn)頻率,單詞空間的高維性導致了文本數(shù)據(jù)集的高維稀疏的特點.樸素貝葉斯的屬性條件獨立假設要求在給定類標記的前提下各特征之間完全相互獨立,因而難以捕獲多個單詞組合的高層特征.RFNB第1層的任務就是從高維稀疏的單詞特征中捕獲單詞組合的高層特征.
隨機森林[17]作為Bagging的擴展變體,采用隨機決策樹作為其基學習器.Bagging有效防止在集成學習的過程中陷入過擬合,同時保證了隨機森林各基學習器之間具有較高的獨立性,隨機決策樹增加了訓練基學習器時的隨機性,進一步保證了基學習器之間的獨立多樣性.使用文本數(shù)據(jù)集訓練隨機森林,圖2所示的樹形結(jié)構(gòu)表示1棵訓練好的隨機決策樹,其中圓形節(jié)點表示分裂節(jié)點,三角形表示葉子節(jié)點,ti表示單詞空間中的第i個單詞特征,特征值為第i個單詞在文檔中的出現(xiàn)次數(shù),用在分裂節(jié)點中表示使用該單詞作為所在分裂節(jié)點的劃分單詞特征,numi表示第i個單詞特征的最佳劃分值.假定1篇文檔經(jīng)過這棵隨機決策樹的路徑如陰影標記所示,最后落入一個葉子節(jié)點,并根據(jù)葉子節(jié)點的分類信息給出最終預測類別下標為1.
Fig.2 Structure diagram of random decision tree圖2 隨機決策樹結(jié)構(gòu)圖
由于預測類別下標1的得出同時參考了單詞t1和單詞t2的頻率信息,這表示在這棵樹中當文檔的單詞t1的頻率值小于num1且單詞t2的頻率值大于num2時,2個單詞在這組具體特征值下的高層特征就可以用類別下標1來表示.類似上述情形,文檔從輸入隨機決策樹根結(jié)點到落入一個葉子節(jié)點的過程中,經(jīng)過了一系列的中間節(jié)點,每個中間節(jié)點按照各自節(jié)點劃分單詞的特征值將文檔送入對應的孩子節(jié)點,因此隨機決策樹的每個葉子節(jié)點上的類別下標輸出都對應1組單詞特征在不同的單詞頻率下的高層特征.因此1篇文檔被隨機森林中的每個基學習器分類的過程可以看作提取不同單詞組合的高層特征的過程,且隨機森林的Bagging和隨機決策樹的長樹規(guī)則,保證我們學習這些不同的單詞組合的高層特征更加容易.因此我們在第1層選擇隨機森林來進行特征學習,具體的算法步驟如下.
當給定文檔集中文檔的數(shù)目為n,隨機森林中基學習器的數(shù)目為T時,針對給定文檔集,采用裝袋方式處理:先從文檔集中隨機選擇1篇文檔作為采樣文檔放入采樣集,再把該采樣文檔放回初始的文檔集,使得下次采樣時該文檔仍有機會被選中;經(jīng)過n次采樣,得到包含n篇采樣文檔的采樣集;將采樣過程重復T次,得到T個分別含有n篇采樣文檔的采樣集.采樣集之間相互獨立,分別針對每個采樣集構(gòu)建隨機森林中的一個基學習器.為了保證基學習器之間的獨立性,文檔數(shù)目n應遠大于基學習器數(shù)目T.
本文所構(gòu)建的隨機森林中的基學習器是1棵隨機決策樹,在隨機決策樹的長樹階段,每次從給定的分裂節(jié)點中隨機選取出kw個單詞構(gòu)成候選分裂特征集合A.從集合A中求出最佳分裂單詞的最佳分割點,進行分割.kw的取值影響基學習器的分類性能和基學習器之間的差異性,經(jīng)過實驗分析,最終確定kw值:
(15)
其中m值為所有文檔中不同單詞的數(shù)目.
(16)
分類回歸樹(classification and regression tree,CART)[18]中采用基尼指數(shù)作為數(shù)值型特征的劃分標準,分裂時僅將當前節(jié)點的數(shù)據(jù)集合分成2部分,分別進入左右子樹,取得了良好的效果.同樣地,RFNB采用基尼指數(shù)劃分數(shù)值型單詞特征.在本文中劃分前后基尼指數(shù)的差值用基尼增益表示,單詞w劃分文檔集D的最佳基尼增益值為
(17)
其中|D|為文檔集D中的文檔數(shù)目.
假定文檔集D中文檔的類別數(shù)目為l,文檔集D中第j類文檔所占的比例為pj(j=1,2,…,l),文檔集D的基尼值Gini(D)為
(18)
根據(jù)以上方法,分別求出候選分裂特征集合A中每個單詞的最佳基尼增益劃分點,然后計算當前節(jié)點的最佳分裂單詞w*為
(19)
我們用構(gòu)建好的隨機森林對訓練集中的每篇文檔進行分類,然后用每篇文檔在所有隨機決策樹上的預測類別下標構(gòu)成一個類別下標向量,以此作為從原始文檔中學到的新的特征表示.
綜上所述,RFNB的第1層用隨機森林將每篇原始文檔從原始的單詞特征表示轉(zhuǎn)化為高層特征表示,并輸入到RFNB的下一層.2.2節(jié)將詳細介紹如何在新特征表示上構(gòu)建樸素貝葉斯文本分類模型.
通過RFNB第1層學習得到的新特征的特征值為預測類別的下標,雖然也是整型數(shù)值,但并不能作為單詞在文檔中出現(xiàn)的頻次來使用,因此不能直接用于文本分類模型的學習,為了使新特征可以用于樸素貝葉斯文本分類模型的學習,本文對第1層學習得到的新特征做了一位有效編碼(one-hot encoding).經(jīng)過一位有效編碼后的特征值變成了布爾類型,即只有0和1這2個值,剛好可以視作單詞在文檔中出現(xiàn)的頻次(1表示單詞在文檔中出現(xiàn),0表示單詞在文檔中未出現(xiàn)),此時才可以用于樸素貝葉斯文本分類模型的學習.當文檔集D中文檔類別數(shù)目為l,隨機森林中基學習器的數(shù)目為T時,經(jīng)過一位有效編碼產(chǎn)生的二進制特征表示的維度為T×l.
接下來的問題是,RFNB的第2層應該選擇哪一種樸素貝葉斯文本分類模型.MNB相比于BNB的優(yōu)勢在于捕獲了單詞在文檔中出現(xiàn)的頻次信息.而新特征經(jīng)過一位有效編碼后的特征值是布爾類型,單詞的頻次只有0和1這2個值,因此MNB相比于BNB的優(yōu)勢消失.同時,MNB按照式(4)分類時,當單詞的頻次fi=0時,與之對應的累加項被徹底拋棄,這相當于完全忽略了未出現(xiàn)單詞對文檔分類的影響.不同于MNB,BNB依據(jù)式(1)分類不僅考慮了出現(xiàn)單詞對文檔分類的影響,還考慮了未出現(xiàn)單詞對文檔分類的影響.并且BNB忽略單詞頻次信息的不足剛好被一位有效編碼得到的二進制特征表示所彌補,因此BNB被選為最終的樸素貝葉斯文本分類模型.
綜上所述,RFNB分為2層,第1層采用隨機森林做特征學習,然后將新特征輸入第2層,經(jīng)過一位有效編碼后用于構(gòu)建BNB.因此,RFNB的整個學習過程可以分為訓練過程和分類過程,本文分別用算法1和算法2進行詳細的描述.
算法1.RFNB-Training.
輸入:訓練文檔集D;
輸出:訓練好的隨機森林、P(c)、P(wi|c).
① 使用訓練文檔集D,根據(jù)2.1節(jié)描述的長樹方法構(gòu)建隨機森林;
② 建立新的樣本集合D′,D′初始為空;
③ 運用構(gòu)建的隨機森林分類D中的每篇訓練文檔x得到新的特征向量x′,并將新特征向量x′存入樣本集合D′中;
⑥ 返回訓練好的隨機森林、P(c)、P(wi|c).
算法2.RFNB-Classification.
輸入:隨機森林、P(c)、P(wi|c)、待分類文檔d;
輸出:待分類文檔d的預測類別.
① 將待分類文檔d輸入隨機森林,用基學習器預測的類別下標為d構(gòu)建新特征向量d′;
為了驗證本文所提模型的有效性,本文從每一類現(xiàn)有改進方法中分別挑選了一種經(jīng)典模型作為RFNB的比較對象,具體模型包括SEMNB[5],MNBTree[7],DWMNB[8],GRSMNB[10],DTWMNB[12].這些改進模型已經(jīng)被證明具有很好的改進效果.除此之外我們還增加了支持向量機(support vector machine,SVM)[19]和隨機森林(random forest,RF)[17]兩種經(jīng)典的文本分類模型作為比較對象.下面是所有這些比較對象的全稱和縮寫.
BNB:伯努利樸素貝葉斯[3];
MNB:多項式樸素貝葉斯[4];
SEMNB:結(jié)構(gòu)擴展的MNB[5];
MNBTree:多項式樸素貝葉斯樹[7];
DWMNB:判別加權(quán)的MNB[8];
GRSMNB:信息增益率特征選擇的MNB[10];
DTWMNB:基于決策樹特征加權(quán)的MNB[12];
SVM:支持向量機[19];
RF:隨機森林[17].
我們在國際數(shù)據(jù)挖掘?qū)嶒炂脚_WEKA[20]上實現(xiàn)本文提出的RFNB,并設置隨機森林中基學習器的數(shù)目T=200.實驗數(shù)據(jù)為WEKA平臺發(fā)布的15個廣泛使用的標準文本數(shù)據(jù)集,代表了不同的文本分類場景和特征,具體信息如表1所示:
Table 1 The Detailed Description of 15 Datasets表 1 15個數(shù)據(jù)集的詳細描述
本文采用2種評價指標衡量算法的分類性能,分別是分類精度(classification accuracy)和加權(quán)平均F1值(weighted average ofF1,Fwa).分類精度是指算法分類正確樣本占總樣本的比例,是最常用的評價指標.Fwa用于衡量模型在多類問題中針對不同類別分類性能的整體表現(xiàn),其具體計算為
(20)
其中,countj表示第j類文檔樣本個數(shù),F(xiàn)j表示當用第j類樣本作為正類樣本、其余樣本作為負類樣本時的F1值,F(xiàn)j計算為
(21)
其中pj和rj分別表示對應情景下的精確率和召回率.
表2展示了本文提出的RFNB及其比較對象在每個數(shù)據(jù)集上通過10次10折交叉驗證獲得的平均分類精度,表3展示了實驗獲得各個算法的Fwa.表2和表3中每行加粗的數(shù)字表示在該數(shù)據(jù)集上獲得的最高的分類精度或Fwa.作為各模型相對性能的總體指標,本文將每個模型在15個數(shù)據(jù)集上的平均分類精度和平均Fwa匯總在表格底部.
Table 2 Classification Accuracy Comparison for RFNB Versus Its Competitors表2 RFNB與其比較對象的分類精度比較結(jié)果 %
Table 3 Fwa Comparison for RFNB Versus Its Competitors表3 RFNB與其比較對象的Fwa比較結(jié)果 %
基于表2和表3,我們利用KEEL(knowledge extraction based on evolutionary learning)數(shù)據(jù)挖掘軟件[21]進行了系統(tǒng)的威爾克森符號秩檢驗[22],以進一步比較每一對模型之間的性能差異.威爾克森符號秩檢驗計算所得秩和如表4和表5所示.根據(jù)威爾克森符號秩檢驗的臨界值表,顯著性水平為α=0.05和α=0.1時,如果正差秩和與負差秩和中較小的一個小于或者等于25和30,則認為算法顯著不同.由此得到詳細的統(tǒng)計比較結(jié)果如表6和表7所示.
Table 4 Ranks of Classification Accuracy Computed by the Wilcoxon Test表4 分類精度的威爾克森測試的秩和值
Table 5 Ranks of Fwa Computed by the Wilcoxon Test表5 Fwa的威爾克森測試的秩和值
Table 6 Classification Accuracy Comparison Results of the Wilcoxon Tests表6 分類精度的威爾克森測試的比較結(jié)果
Table 7 Fwa Comparison Results of the Wilcoxon Tests表7 Fwa的威爾克森測試的比較結(jié)果
從表2~7可以看出:
1)直接在原始的文本數(shù)據(jù)上構(gòu)建BNB,分類精度和Fwa都是最低的,在15個數(shù)據(jù)集上的平均分類精度僅僅只有65.99%,平均Fwa為62.92%.
2)相比于BNB,MNB因為捕獲了單詞在文檔中出現(xiàn)的頻次信息而獲得了更好的分類性能,在15個數(shù)據(jù)集上的平均分類精度快速提升到82.28%,平均Fwa為81.79%.
3)相比于MNB,目前已有的5種改進模型SEMNB,MNBTree,DWMNB,GRSMNB,DTWMNB在15個數(shù)據(jù)集上的平均分類精度都有較大幅度的上升,分別上升到87.08%,85.83%,85.15%,87.37%,84.93%;平均Fwa也有較大提升,上升到85.87%,85.04%,84.63%,86.35%,84.64%.
4)本文提出的RFNB在15個數(shù)據(jù)集上的平均分類精度達到了90.22%,不僅比已有的5種改進模型都高,還高于經(jīng)典的支持向量機(88.82%)和隨機森林(87.32%);平均Fwa達到了89.90%,同樣高于上述文本分類模型.這說明本文提出的特征學習方法是非常有效的,新的特征表示更加有利于樸素貝葉斯文本分類模型做分類,最終學習得到的BNB模型分類性能達到了最佳.
5)在原始的文本數(shù)據(jù)集上直接構(gòu)建BNB,其分類性能欠佳,甚至比最簡單的MNB還要低大約17個百分點,但在本文得到的新特征表示上構(gòu)建BNB,其分類精度竟然反超MNB大概8個百分點.這表明本文提出的RFNB,不僅可以從原始的單詞特征中學習到由多個單詞組合的高層特征,還可以彌補BNB因忽略單詞頻次信息造成的模型缺陷.
6)從表4~7所示的威爾克森統(tǒng)計測試比較結(jié)果來看,本文提出的RFNB顯著優(yōu)于所有的比較對象,包括BNB,MNB,SEMNB,MNBTree,DWMNB,GRSMNB,DTWMNB,SVM,RF.這充分證明了本文所提模型的有效性.
樸素貝葉斯文本分類模型的屬性條件獨立假設使得模型在面對文本數(shù)據(jù)時,只考慮了單個單詞特征的語義信息而忽略了不同單詞組合下的高層信息.目前所有削弱其屬性條件獨立假設的改進方法都是基于原始的單詞特征來構(gòu)建文本分類模型,這在一定程度上限制了改進方法的效果.不同于現(xiàn)有的改進方法,本文提出用特征學習的方法來改進樸素貝葉斯文本分類模型,提出了一種雙層貝葉斯模型:隨機森林樸素貝葉斯(RFNB).RFNB在第1層采用隨機森林從原始的單詞特征中學習單詞組合的高層特征,然后將學到的新特征輸入第2層,經(jīng)過一位有效編碼后用于構(gòu)建伯努利樸素貝葉斯模型.在大量廣泛使用的文本數(shù)據(jù)集上的實驗結(jié)果表明,本文提出的RFNB模型明顯優(yōu)于現(xiàn)有的最先進的樸素貝葉斯文本分類模型和其他經(jīng)典的文本分類模型.
在目前的實驗中,隨機森林中基學習器的數(shù)目被設置為固定值200,固定的參數(shù)設置不利于模型在不同維度的數(shù)據(jù)集上應用,將來的研究可以嘗試設計一種隨數(shù)據(jù)維度自適應的參數(shù)設置方法,如設置隨機森林中基學習器的數(shù)目為數(shù)據(jù)維度的開方,以此進一步增強模型的泛化能力.此外,目前的版本中隨機森林采用了固定的長樹方法,這在一定程度上限制了學習高層特征時的多樣性.將來的另一個研究方向可以嘗試用不同的方法長樹,以進一步提高基學習器的多樣性,持續(xù)攀升模型的分類性能、拓展其應用場景.