向志華 鄧怡辰
摘 ?要: 隨著科學技術的不斷發(fā)展,機器領域得到了越來越廣泛的應用。作為機器學習中最重要的組成部分,要實現(xiàn)對信息的有效檢索以及對數據的充分挖掘就必須要全面掌握文本自動分類技術。在社會持續(xù)發(fā)展的過程中,文本分類技術也取得了顯著的發(fā)展。但是在其實踐過程中也尚存在一些問題,需要從多方面入手對其進行深入研究與綜合評判。本文就對基于機器學習的幾種文本分類技術進行了系統(tǒng)的研究,并指出了文本分類技術的未來發(fā)展方向。
關鍵詞:?機器學習;文本分類;向量;特征
中圖分類號: TP3????文獻標識碼:?A????DOI:10.3969/j.issn.1003-6970.2019.09.022
本文著錄格式:向志華,鄧怡辰. 基于機器學習的文本分類技術研究[J]. 軟件,2019,40(9):94-97
Text Categorization Technology Research Based on Machine Learning
XIANG Zhi-hua, Deng Yi-chen
(Information Technology School, Guangdong Institute of Technology, Zhaoqing Guangdong 526100, China)
【Abstract】: With continuous development of science and technology, machine field has been more and more widely applied. As the most important part of machine learning, it is necessary to master automatic text categorization technology in an all-round way to retrieve information effectively and mine data fully. During social sustainable development, text categorization technology has made remarkable progress. However, there are still some problems in its practice, which should be studied and evaluated comprehensively from many aspects. The paper studies several text categorization technologies based on machine learning systematically, and points out future development direction of text categorization technology.
【Key words】: Machine learning; Text categorization; Vectors; Features
在信息時代逐漸到來的當下,從互聯(lián)網上獲取信息資源已經成為當前最主要的信息獲取方式,但是由于互聯(lián)網上的各種信息及數據量越來越大,要準確提取到有價值的數據及信息的難度隨之不斷增大。因此,為了可以使互聯(lián)網中呈無規(guī)律分布的有價值信息可以被充分利用,就需要使用到數據挖掘就信息檢索的相關功能。而支持這兩種功能得以實現(xiàn)的最關鍵基礎就是文本分類技術,此技術的最主要作用就是通過預先設定的分類模型,在對文本內容進行自動識別的基礎上實現(xiàn)對文本類別的判定[1]。近年來這種技術在信息管理、信息過濾及其他處理工作方面都得到了極其廣泛的應用。歷經十幾年的發(fā)展,文本分類技術至今已取得了顯著的進步。
近年來,文本簡化為BOW,并在特征處理及相關算法的基礎上實現(xiàn)對文本信息的估計和預測已經成為當前文本分類的標準方式,不論是文本表示,還是對文本分類模型的研究也都取得了顯著的進展。
1.1??文本表示
一般情況下,為便于處理,文本都需要被表示成為可被計算機識別的方式。當前在文本表示時使用最多的方法仍為VSM,經實踐證明這種表示方法一直具備較好的表示效果[2]。在這種表示方式中,所有文檔都可被表示成為類似的向量,上述公式中,ti為詞條項,wi就表示為權值,其公式則通常為TF-DF公式,具體如下:
其中,主要指出現(xiàn)于文檔中的次數,N為訓練文本的總數,n為出現(xiàn)的訓練文本的總數,M為向量維數。
除此種表示外,其他模型則主要分別基于概率分布及二維視圖上,并且還有待在理論與實踐上都被進一步驗證,當前這些都可為一種全新的表示思路。
1.2特征提取
特征提取主要指特征子集被提取,并通過此過程來實現(xiàn)對空間維數進行降低,并使計算得以簡化的過程。在此過程中應首先評估特征的重要程度,之后在根據各重要程度的不同進行排序,并在此技術長通過閾值及相關比率的設定來完成最終的提取工作。而所提取出的自己將比應用于后期的分類過程[3]。當前主要使用到的特征提取算法主要為文檔頻數、X2統(tǒng)計、信息增益等。
當前,較為常見的文本分類方法主要有Rocchio,K近鄰,決策樹,樸素貝葉斯以及SVM等。
2.1?Rocchio算法
這種方法的理論依據主要為向量空間模型,基于TF-DF的此種算法中,文本通常表示為單個N維向量,其中N主要指文本的特征數,對其權重進行計算時就要使用TF-DF法。首先,向量應使用訓練集中的文本進行表示,并進一步生成類別向量,取全部文本向量的平均值。由此可見,Rocchio的訓練過程其實也即類別特征向量被建立形成的整個過程。在進行分類時,如設置一未知的文本,并生成其文本表示向量,進而計算此向量與其不同類別特征向量的相似程度,之后再對文本進行分類,通常都會直接歸類至相似度最高的類別中[4]。這種算法的優(yōu)點在于具備較強的操作性,并且運算速度也較之其他算法較快。
2.2K近鄰
在這種算法中,當使用一種未知類別的文本時,通過生成相應的特征向量,之后,其KNN就會對全部訓練樣本進行搜索。在綜合對比全部特征向量的基礎上,比較其相似度,并從中尋找出最相似的多個訓練樣本,之后再將未知文本進行分類至文本數目較多的類別中。
2.3樸素貝葉斯模型
這是一種統(tǒng)計學的分類方法,其理論依據主要為貝葉斯決策論,即假設用于表示文檔的各個特征詞之間始終處于互相獨立的狀態(tài)。此時對于某待分類的文檔,假定其表示向量為d,其文檔類別集中某一類。則:
2.4決策樹
此種方法的結構圖通常情況下類似為流程圖,并且呈現(xiàn)為樹結構。在此結構中,所有節(jié)點都用于表示對屬性的測試,而分支則表示對測試的輸出,葉節(jié)點則表示為類別。在對文本進行分類時,使用這種方法通常就是通過在文本中篩選出具備信息特征并且含有信息量的詞,之后再結合單詞出現(xiàn)的實際情況來對文檔的類別進行預測[5]。這種算法的核心為貪心算法,其中較為典型的方法主要有CART與D3、c4.5。
2.5?SVM
這是一種較為新穎的統(tǒng)計學方法,其基礎原理主要確保結構化風險的最小化。自上世紀末,這種技術被引進入文本分類研究中之后就取得了極好的分類效果。SVM其本質就是通過找尋出最佳的超平面,使兩種不同類別樣本之間可以形成最大的間距,而處于超平面上的樣本,通常為訓練樣本就被稱為支持向量。SVM的思想其實就是指將在低維空間中呈現(xiàn)出非線性且不可被分開的問題映射至高維空間中,并使其可具備現(xiàn)行且可分的特性。而為實現(xiàn)這轉化則主要通過使用核函數來完善對輸入樣本的相應映射,使維數災難的問題最大程度被避免。
在對文本分類的結果進行評估時,通常主要有如下幾種方法,如召回率P評估、準確率R評估以及將兩種評估方法相結合的F1值評估等。在對比過程中所使用的數據集為標準SogouC和Tancorp60,其中,前者共有8個類別,且數據分布均勻[6],而后者類別較多,共有60個,并且數據分布呈現(xiàn)不平衡的態(tài)勢。通過這些方法對CNB、NBM、KNN以及SVM等四種分類方法的分類效果進行對比、以類別C為例,P、R及F1的計算公式分別如下:
其中,TC為被正確分配至類別C的測試樣本數。FC則表示被錯誤分配至C中的測試樣本數。RC則指應被卻未被分配至C中的測試樣本數。當P、R及F1值都越趨向于1,文本就越能被較好分類。
通過使用各算法對本文進行分類后得出如下結果。
由圖1-2可知,數據集中數據的分布情況對于各算法的應用效果具備一定的影響作用。如當使用SVM算法時,圖1中其性能指標只有70%,而圖2限額顯示其可達到88%,兩者之間的比率相差超過了10%。則可證明,數據的分布情況可對分類方法的最終性能產生影響[7]。而在同一數據集中,NBM與SVM 都具備較好的分類效果,只有KNN分類效果最差。
而通過對訓練時間及測試時間進行分析,則可評價出各算法便捷程度的高低,通過實驗發(fā)現(xiàn),不同算法的時間開銷情況具體如下表所示。
從上表不難看出,當使用KNN時計算機的存儲量及計算開銷都處于較高的狀態(tài),在對Tancorp60數據集進行測試時所消耗的實踐較之其他算法要相差4分鐘左右,而在?SogouC數據集上則要相差70分鐘左右,這種用時消耗以遠超于其他算法。而使用SVM時則發(fā)現(xiàn)訓練收斂速度較慢,并且訓練所需的時間較之其余的算法也要花費較長時間。與此同時,在這些算法中,貝葉斯算法不論是訓練時間還是測試時間都較少,其時間開銷比較少[8]。
通過對評估結果進行分析可知,當使用同一分類算法時,數據集不同,其分類效果也將不同。當數據集分布均勻時,分類效果要明顯優(yōu)于非均勻分布的數據集。因此,為達到較好的分類效果,應當在分類前就將數據進行均勻分布。這些算法中,貝葉斯以及SVM的應用比較廣泛,而KNN則因為算法極為耗時,通常多被應用于規(guī)模較大的數據集分類中[9]。
當前的文本分類技術在對一些數據量較小,且數據分布價位均勻的文本進行分類時已經取得了較好的成績,但是在處理其余的問題上始終還存在一定的障礙。如當類別體系較大時,分類器如何進行處理,同時目前為止還尚不存在更加優(yōu)良的類別組織方法以妥善處理類別之間存在的多種復雜關系。再加上用獲取的樣本去對海量位置數據進行存儲在空間上就極為有限,并且還會增加空間分布的難度。以上這些問題都需要在未來的發(fā)展過程中得到解決。當前,在應對這些問題時,主要采用了如下一些方法:①數據集偏斜,其中,一種可使用多種差異化的分類方法,將原點當做未知類別的中心,并在此基礎上打造出分割面,使問題不受類別分布影響;另一種就是使用重取樣法,即針對具備較強干擾性或將小類錯誤進行改善。②使用多層分類。在進行多層分類時通常都要應用到兩種策略,即big-bang以及自頂向下基于級別,前者在應用過程中需要使用同種同類的分類器,而后者則需使用差異的分類器。但是在實際的使用過程中,經常會出現(xiàn)對分類器的準確性評測出現(xiàn)錯誤的現(xiàn)象。并且這一問題至今為止仍未得到有效的解決[10]。
隨著時代的發(fā)展,文本分類技術將會取得更多進步。而在科學技術的不斷推動下,當前文本分類技術中存在的問題也終將會得到解決。
參考文獻
電子元器件與信息技術,?2018(9):?4-6+10.