?

不同情境下中文文本分類模型的表現及選擇

2016-08-12 15:03蘭秋軍李衛康劉文星
湖南大學學報·自然科學版 2016年4期
關鍵詞:文本分類數據挖掘

蘭秋軍 李衛康 劉文星

摘要:針對中文文本分類任務中N-Gram,素貝葉斯、K最近鄰和TF-IDF等經典而廣泛使用的文本分類模型的選擇困惑問題,基于萬余篇中文新聞文本語料數據,設計了一系列的對比實驗,考察了各模型在不同參數、不同訓練數據規模、不同訓練文本長度、類別是否偏斜等多種情境下分類性能的表現,總結了各模型的特性,為中文文本分類模型的選擇和應用提供了實踐依據和參考。

關鍵詞:中文文本;文本分類;數據挖掘;情報分析

中圖分類號:TP274;TP302 文獻標識碼:A

文本挖掘是語言學、統計學以及計算機技術相結合的產物,是對海量文本信息進行自動處理,獲取人們感興趣的、隱含的、有用信息的過程,在信息檢索、生物醫學、情報獲取、輿情分析和市場營銷等眾多領域備受關注。文本分類作為文本挖掘領域中的核心技術,是各種自然語言處理、應用的基礎。其中分類模型的選擇對最終結果具有至關重要的影響。然而,因所基于的原理、參數、應用場合各不相同,即使相同的模型其性能表現也往往大相徑庭。

新聞文本是一類常見的文本形式,其蘊含的信息量大,是各種情報分析的重要數據源。盡管現有的各個新聞網站以欄目形式對新聞進行了人工劃分,然而各網站的分類體系和欄目形式各不相同,因此在具體的新聞挖掘應用項目中,常需將采集的新聞數據重新進行組織和劃分。中文文本分類領域中具有代表性的模型是樸素貝葉斯、N-Gram,K最近鄰和TF-IDF。這些不同的模型各具有怎樣的特性?分別適合哪些場合?在使用時應如何選取合適的參數?人們往往面臨困惑。由于各方法在處理細節上有不少差異,很難從理論分析的角度來比較各方法的優劣。因此,基于典型數據,采用實驗的方式進行比較是比較通行的做法。本文精心構造了多組實驗,從模型參數選取、訓練數據規模、訓練文本長度、數據是否偏斜等幾個情境來考察各模型在不同情境下的性能表現,其結論對中文文本分類模型的選擇與參數設置等具有實踐指導意義。

1 模型概述

文本分類就是通過計算機程序自動將某個文檔歸屬到事先給定的類別體系中一個或多個類別?,F有的文本分類方法大致可歸為兩類:基于規則的方法和基于機器學習的方法。其中基于規則的方法早在20世紀70年代就已出現,但因規則制定的困難,目前普遍采用的是基于機器學習的方法。而機器學習方法中,基于統計的方法是最具有代表性和使用最為廣泛的。其中,N元模型(N-Gram)、樸素貝葉斯(NB),K最近鄰(KNN)和TF-IDF又是其中最經典的幾個模型。

N-Gram模型基于馬爾科夫假設,即下一詞的出現概率僅依賴于它前面的N個詞,統計N元詞串在各類別中出現概率,以此確定文檔歸屬于哪個類別。樸素貝葉斯模型基于貝葉斯定理,假設單詞兩兩獨立,獲得各文檔類別的后驗概率,哪個類別概率值大,文檔即歸屬于該類別。KNN的主要思想是先將文檔內容轉化為特征空間中的特征向量,計算待分類文檔與訓練文檔中每個樣本的相似度,找出其中的k個最近鄰居,據此判別文檔所屬類別。TF-IDF則先將文本內容轉化為特征向量,然后計算其與類別特征向量間的余弦相似度,以此作為其所屬類別的判據。分析上述模型,不難發現,N-Gram模型主要是提取了不同類別文檔中字與字之間的順序依賴關系來構造分類特征,樸素貝葉斯則提取了不同類別文檔中詞與詞之間的概率依賴關系構成分類依據,K近鄰直接利用了空間向量模型,以文檔相似性特征作為分類依據,而TF-IDF則同時考慮了詞在文檔本身中的出現頻度以及其在不同文檔中的出現頻度信息。幾個模型所抓取的文檔類別信息特征明顯不同,很難在理論上判別哪個模型更好,更適合哪些情境。因此,從實驗的角度來考察是更為切合實際的方案。

2 基礎與準備

2.1 算法實現工具

LingPipe是基于Java語言的自然語言處理的開源軟件包,提供了文本挖掘各階段的基本功能。由于該軟件包的數據處理都基于一個共同框架,采用了相同的基礎源代碼模塊,故本文以其作為算法實現工具,可盡量減少模型本身之外的因素(如文本預處理階段的分詞、特征提取、文本表示等)給模型性能帶來的影響。

2.2 實驗數據

本文實驗數據采集來自新浪、騰訊、鳳凰等主流網站。特地挑選了歷史、軍事、文化、讀書、社會幾個比較近似,甚至人工也容易分錯的文本類別。其中,歷史類和軍事類的文章比較相近,而文化類和讀書類的也常相似。數據采集跨時2個月,去除了所有Html標記和網頁中的噪聲文本,只包含標題、正文內容以及標點符號。共采集16000篇,去除了部分重復和校驗過程中有問題的文檔,最終保留14000篇作為本文研究的語料數據。其中含歷史1900篇,軍事1600篇,文化2500篇,讀書4000篇,社會4000篇。每篇文章按類別以txt文件的形式保存。各類別、不同文本長度的文檔篇數分布情況如表1所示,所有文檔的長度介于10000字節以內,涵蓋了網頁中的絕大多數新聞文本長度。

2.3 分詞與特征項

盡管特征選擇和預處理措施都是影響文本分類性能的關鍵因素,但因各模型算法原理相差太大,無法基于統一的特征項和預處理進行比較。因此,各模型的特征項均以詞頻為基礎,采取各模型常用的特征形式和預處理方式。N-Gram模型本身不需分詞,因此未做分詞處理,而其它模型則應用中科院分詞系統NLPIR_2014進行分詞處理。

2.4 分類評價指標

LingPipe提供了一系列指標對模型性能進行評估。本文實驗主要采用宏平均、微平均下的F值進行評價,它綜合考慮了準確率、召回率兩個被廣泛認可的分類器評價指標。其詳細定義和含義可參見相關文獻。此外,實驗過程中,還記錄了各模型的訓練和分類運行時間。這也是反映分類模型性能的一個方面。

3 實驗方案與結果

從應用角度來看,分類準確度和處理效率是用戶最為關注的兩個方面。而影響這兩方面的因素無外乎模型本身和待處理的數據,如圖1所示。模型本身因素具體包括模型的構造機制和模型參數。其中,模型機制對用戶而言是封裝的,要提升分類性能,用戶只能調整模型參數。而數據方面,文本的詞語和語義特點太過復雜和精細,用戶難以據此選擇模型。然而待處理文本的長度、規模和偏斜程度等是影響分類性能的重要因素,用戶可以據此選擇最合適的模型。因此,本文主要設計了4組實驗考察不同情境下中文文本分類模型的表現。下面具體闡述各組實驗的具體方案及結果。

3.1 模型參數與模型性能

所述的4個分類模型中,NB模型和TF-IDF模型沒有參數,而N-Gram和KNN模型則分別有一個關鍵參數N和K。先對這兩個模型進行不同參數取值下的實驗。所采用的數據集文檔篇數情況如表2所示。

3.1.1 關于N-Gram模型參數N的實驗

根據N-Gram模型中參數N的含義,字與字之間的概率依賴關系主要由詞組造成,漢語超過6個字的詞組已經相當稀少。本組實驗考察了N取值為1,2,4,6,7的情形,獲得結果如表3所示??梢?,隨著N取值的加大,該分類器的分類性能也越高,但在N超過4以后,分類性能改善幅度已相當小,而訓練時間和測試時間卻成倍增長,為此,后述實驗均取N=4,不再贅述。

3.1.2 關于KNN模型參數K的實驗

參數K為經驗參數,表示選取的近鄰個數,其值的大小對于模型的分類性能有顯著的影響。實驗中,為確定K最佳值,將K分別取值1,3,5,10,20,獲得如表4所示結果。顯見,隨著K值的增加,分類性能有緩慢下降趨勢,表明并非選取的近鄰數越多越好。原因在于KNN基于向量空間模型,維數較高,數據比較稀疏,K值越大,反而可能帶來更多的誤判信息。本實驗中,K取值為1時分類性能最優,因此在后述實驗中均取該最優值。

3.2 訓練集規模與模型性能

為了考察各模型在不同訓練集規模情境下的性能表現,分8次小實驗,每次從實驗語料中抽取1000,2000,3000,4000,5000,6000,7000,8000篇文檔構成訓練集,抽取1000篇文檔構成測試集。抽樣過程中,為了消除各類別新聞分布不一致、文本長度不一致所帶來的影響,進行了適度控制,即確保8次實驗中,各類別新聞的比例保持一致,各文本長度所占比例也保持一致。在此控制下,隨機抽取樣本,每次實驗進行3次,以其平均值作為最后結果。實驗結果如表5所示,圖2展示了不同訓練集規模情境下,模型性能(微平均下F值)的情況;圖3和圖4則分別展示了分類訓練時間和測試時間與訓練集規模的關系。

由表5以及圖2~圖4可知,在各類別數據相近的情況下,隨著訓練集規模的增大,各模型的分類性能也均得到提升并漸趨于平穩,與文獻結論相同。KNN改善效果最為明顯。就運行時間而言,各分類模型隨著訓練集規模的增大,訓練時間明顯增加,而測試時間僅KNN分類模型顯著增加,其它則變化微小。通過逐漸加大訓練集規模,實驗還發現,在測試集不變的情況下,訓練集達到一定規模后(例如7000篇),即使再顯著增大訓練集規模,分類性能的改善也非常微弱。

3.3 文本長度與性能

為了考察各模型在不同文本長度情境下性能的表現,將訓練數據的每個類別都按文檔大小進行劃分,抽取5個子集,分別為1000字節以下,1000-2000字節,2000-3000字節,3000-5000字節,5000字節以上。在保證5個子集的類別分布和規模分布一致的前提下,隨機抽取樣本構成訓練數據,實驗數據如表6所示。該實驗共進行3次,取3次實驗結果的平均值作為最終結果,如表7所示。圖5展示了不同文本長度情境下,模型性能(微平均下F值)的情況;圖6和圖7則展示了分類訓練時間和測試時間與文本長度的關系。

對文本長度情境而言,從表7以及圖5~圖7可以看出,隨著文本長度的增加,除KNN模型外,其它3個分類模型的準確性能在初期快速提升,其后趨緩而漸趨平穩,但KNN快速提升后卻逐漸下降。實驗還發現,在文本長度短時(小于1000字節),TF-IDF模型要好于其它3個模型。從時間性能來看,各模型都隨文本長度增加而近似呈線性增長趨勢。其中NB和TF-IDF相對較遜一籌。

3.4 類別偏斜與模型性能

為了考察各模型在類別是否偏斜情境下性能的表現,我們設計了類別均衡和非均衡兩組實驗,實驗數據集如表8所示,訓練集和測試集規模相同,非均衡訓練集中讀書和社會兩個類別遠高于其它類別數據,而均衡訓練集中各類別文本數相同。每組實驗共進行3次,隨機抽取樣本構成訓練數據。取3次實驗結果的平均值作為最終結果,如表9所示。

對類別偏斜情境而言,觀察可知,各模型整體性能及各類別分類性能在均衡訓練集情境下的表現均優于在非均衡訓練集下的性能表現。在非均衡訓練集情境下,對各小類而言,包含文本數較多的讀書和社會兩個類別的分類性能要優于其它類別,與文獻對訓練集類別分布對文本分類影響的研究結果類似。4個分類模型中,對于類別均衡數據而言,TF-IDF表現最佳,對于類別非均衡數據而言,NB表現最佳。

4 結論

本文所考察的幾個模型是當前文本分類領域應用最為廣泛、最為經典的。在實踐當中,各模型的表現各異,而在理論上又很難分析和評價其優劣。為此本文構建了多組實驗來考察不同情境下各模型的表現,形成的結論及模型選擇建議如下:

1)幾個模型在運行效率方面沒有明顯的區別,訓練和測試時間都與數據集的規模和文本長度呈線性關系。實驗結果看,NB模型和TF-IDF雖然稍遜,但實際應用中,此差別并不明顯,可以忽略。

2)不管在何種情境下,KNN的表現都最差,因此不推薦采用此模型。

3)從訓練集規模來看,幾種模型都是隨著規模增大而分類精確性穩步增加,訓練集的大小不構成模型選擇的關鍵依據。

4)N-Gram、TF-IDF、NB三個模型的分類精度受文本長度的影響差別不大。都隨文本長度的增加而精度得到提升,且都在長度低于1kb(約400漢字)時提升較明顯,而此后提升速度放緩。KNN則未能因文本長度的增加而提升其精確度。

5)對類別分布是否偏斜的情況,NB模型表現出良好的穩定性,比N-Gram和TF-IDF都要好。因此,在類別偏斜嚴重的情況下,推薦采用NB模型。

猜你喜歡
文本分類數據挖掘
數據挖掘技術在內河航道維護管理中的應用研究
數據挖掘綜述
軟件工程領域中的異常數據挖掘算法
基于組合分類算法的源代碼注釋質量評估方法
基于貝葉斯分類器的中文文本分類
基于蟻群智能算法的研究文本分類
基于樸素貝葉斯分類的Java課程網絡答疑反饋系統
基于K—means算法的文本分類技術研究
文本分類算法在山東女子學院檔案管理的應用
基于R的醫學大數據挖掘系統研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合