蘭秋軍 李衛(wèi)康 劉文星
摘要:針對(duì)中文文本分類任務(wù)中N-Gram,素貝葉斯、K最近鄰和TF-IDF等經(jīng)典而廣泛使用的文本分類模型的選擇困惑問(wèn)題,基于萬(wàn)余篇中文新聞文本語(yǔ)料數(shù)據(jù),設(shè)計(jì)了一系列的對(duì)比實(shí)驗(yàn),考察了各模型在不同參數(shù)、不同訓(xùn)練數(shù)據(jù)規(guī)模、不同訓(xùn)練文本長(zhǎng)度、類別是否偏斜等多種情境下分類性能的表現(xiàn),總結(jié)了各模型的特性,為中文文本分類模型的選擇和應(yīng)用提供了實(shí)踐依據(jù)和參考。
關(guān)鍵詞:中文文本;文本分類;數(shù)據(jù)挖掘;情報(bào)分析
中圖分類號(hào):TP274;TP302 文獻(xiàn)標(biāo)識(shí)碼:A
文本挖掘是語(yǔ)言學(xué)、統(tǒng)計(jì)學(xué)以及計(jì)算機(jī)技術(shù)相結(jié)合的產(chǎn)物,是對(duì)海量文本信息進(jìn)行自動(dòng)處理,獲取人們感興趣的、隱含的、有用信息的過(guò)程,在信息檢索、生物醫(yī)學(xué)、情報(bào)獲取、輿情分析和市場(chǎng)營(yíng)銷等眾多領(lǐng)域備受關(guān)注。文本分類作為文本挖掘領(lǐng)域中的核心技術(shù),是各種自然語(yǔ)言處理、應(yīng)用的基礎(chǔ)。其中分類模型的選擇對(duì)最終結(jié)果具有至關(guān)重要的影響。然而,因所基于的原理、參數(shù)、應(yīng)用場(chǎng)合各不相同,即使相同的模型其性能表現(xiàn)也往往大相徑庭。
新聞文本是一類常見(jiàn)的文本形式,其蘊(yùn)含的信息量大,是各種情報(bào)分析的重要數(shù)據(jù)源。盡管現(xiàn)有的各個(gè)新聞網(wǎng)站以欄目形式對(duì)新聞進(jìn)行了人工劃分,然而各網(wǎng)站的分類體系和欄目形式各不相同,因此在具體的新聞挖掘應(yīng)用項(xiàng)目中,常需將采集的新聞數(shù)據(jù)重新進(jìn)行組織和劃分。中文文本分類領(lǐng)域中具有代表性的模型是樸素貝葉斯、N-Gram,K最近鄰和TF-IDF。這些不同的模型各具有怎樣的特性?分別適合哪些場(chǎng)合?在使用時(shí)應(yīng)如何選取合適的參數(shù)?人們往往面臨困惑。由于各方法在處理細(xì)節(jié)上有不少差異,很難從理論分析的角度來(lái)比較各方法的優(yōu)劣。因此,基于典型數(shù)據(jù),采用實(shí)驗(yàn)的方式進(jìn)行比較是比較通行的做法。本文精心構(gòu)造了多組實(shí)驗(yàn),從模型參數(shù)選取、訓(xùn)練數(shù)據(jù)規(guī)模、訓(xùn)練文本長(zhǎng)度、數(shù)據(jù)是否偏斜等幾個(gè)情境來(lái)考察各模型在不同情境下的性能表現(xiàn),其結(jié)論對(duì)中文文本分類模型的選擇與參數(shù)設(shè)置等具有實(shí)踐指導(dǎo)意義。
1 模型概述
文本分類就是通過(guò)計(jì)算機(jī)程序自動(dòng)將某個(gè)文檔歸屬到事先給定的類別體系中一個(gè)或多個(gè)類別?,F(xiàn)有的文本分類方法大致可歸為兩類:基于規(guī)則的方法和基于機(jī)器學(xué)習(xí)的方法。其中基于規(guī)則的方法早在20世紀(jì)70年代就已出現(xiàn),但因規(guī)則制定的困難,目前普遍采用的是基于機(jī)器學(xué)習(xí)的方法。而機(jī)器學(xué)習(xí)方法中,基于統(tǒng)計(jì)的方法是最具有代表性和使用最為廣泛的。其中,N元模型(N-Gram)、樸素貝葉斯(NB),K最近鄰(KNN)和TF-IDF又是其中最經(jīng)典的幾個(gè)模型。
N-Gram模型基于馬爾科夫假設(shè),即下一詞的出現(xiàn)概率僅依賴于它前面的N個(gè)詞,統(tǒng)計(jì)N元詞串在各類別中出現(xiàn)概率,以此確定文檔歸屬于哪個(gè)類別。樸素貝葉斯模型基于貝葉斯定理,假設(shè)單詞兩兩獨(dú)立,獲得各文檔類別的后驗(yàn)概率,哪個(gè)類別概率值大,文檔即歸屬于該類別。KNN的主要思想是先將文檔內(nèi)容轉(zhuǎn)化為特征空間中的特征向量,計(jì)算待分類文檔與訓(xùn)練文檔中每個(gè)樣本的相似度,找出其中的k個(gè)最近鄰居,據(jù)此判別文檔所屬類別。TF-IDF則先將文本內(nèi)容轉(zhuǎn)化為特征向量,然后計(jì)算其與類別特征向量間的余弦相似度,以此作為其所屬類別的判據(jù)。分析上述模型,不難發(fā)現(xiàn),N-Gram模型主要是提取了不同類別文檔中字與字之間的順序依賴關(guān)系來(lái)構(gòu)造分類特征,樸素貝葉斯則提取了不同類別文檔中詞與詞之間的概率依賴關(guān)系構(gòu)成分類依據(jù),K近鄰直接利用了空間向量模型,以文檔相似性特征作為分類依據(jù),而TF-IDF則同時(shí)考慮了詞在文檔本身中的出現(xiàn)頻度以及其在不同文檔中的出現(xiàn)頻度信息。幾個(gè)模型所抓取的文檔類別信息特征明顯不同,很難在理論上判別哪個(gè)模型更好,更適合哪些情境。因此,從實(shí)驗(yàn)的角度來(lái)考察是更為切合實(shí)際的方案。
2 基礎(chǔ)與準(zhǔn)備
2.1 算法實(shí)現(xiàn)工具
LingPipe是基于Java語(yǔ)言的自然語(yǔ)言處理的開(kāi)源軟件包,提供了文本挖掘各階段的基本功能。由于該軟件包的數(shù)據(jù)處理都基于一個(gè)共同框架,采用了相同的基礎(chǔ)源代碼模塊,故本文以其作為算法實(shí)現(xiàn)工具,可盡量減少模型本身之外的因素(如文本預(yù)處理階段的分詞、特征提取、文本表示等)給模型性能帶來(lái)的影響。
2.2 實(shí)驗(yàn)數(shù)據(jù)
本文實(shí)驗(yàn)數(shù)據(jù)采集來(lái)自新浪、騰訊、鳳凰等主流網(wǎng)站。特地挑選了歷史、軍事、文化、讀書(shū)、社會(huì)幾個(gè)比較近似,甚至人工也容易分錯(cuò)的文本類別。其中,歷史類和軍事類的文章比較相近,而文化類和讀書(shū)類的也常相似。數(shù)據(jù)采集跨時(shí)2個(gè)月,去除了所有Html標(biāo)記和網(wǎng)頁(yè)中的噪聲文本,只包含標(biāo)題、正文內(nèi)容以及標(biāo)點(diǎn)符號(hào)。共采集16000篇,去除了部分重復(fù)和校驗(yàn)過(guò)程中有問(wèn)題的文檔,最終保留14000篇作為本文研究的語(yǔ)料數(shù)據(jù)。其中含歷史1900篇,軍事1600篇,文化2500篇,讀書(shū)4000篇,社會(huì)4000篇。每篇文章按類別以txt文件的形式保存。各類別、不同文本長(zhǎng)度的文檔篇數(shù)分布情況如表1所示,所有文檔的長(zhǎng)度介于10000字節(jié)以內(nèi),涵蓋了網(wǎng)頁(yè)中的絕大多數(shù)新聞文本長(zhǎng)度。
2.3 分詞與特征項(xiàng)
盡管特征選擇和預(yù)處理措施都是影響文本分類性能的關(guān)鍵因素,但因各模型算法原理相差太大,無(wú)法基于統(tǒng)一的特征項(xiàng)和預(yù)處理進(jìn)行比較。因此,各模型的特征項(xiàng)均以詞頻為基礎(chǔ),采取各模型常用的特征形式和預(yù)處理方式。N-Gram模型本身不需分詞,因此未做分詞處理,而其它模型則應(yīng)用中科院分詞系統(tǒng)NLPIR_2014進(jìn)行分詞處理。
2.4 分類評(píng)價(jià)指標(biāo)
LingPipe提供了一系列指標(biāo)對(duì)模型性能進(jìn)行評(píng)估。本文實(shí)驗(yàn)主要采用宏平均、微平均下的F值進(jìn)行評(píng)價(jià),它綜合考慮了準(zhǔn)確率、召回率兩個(gè)被廣泛認(rèn)可的分類器評(píng)價(jià)指標(biāo)。其詳細(xì)定義和含義可參見(jiàn)相關(guān)文獻(xiàn)。此外,實(shí)驗(yàn)過(guò)程中,還記錄了各模型的訓(xùn)練和分類運(yùn)行時(shí)間。這也是反映分類模型性能的一個(gè)方面。
3 實(shí)驗(yàn)方案與結(jié)果
從應(yīng)用角度來(lái)看,分類準(zhǔn)確度和處理效率是用戶最為關(guān)注的兩個(gè)方面。而影響這兩方面的因素?zé)o外乎模型本身和待處理的數(shù)據(jù),如圖1所示。模型本身因素具體包括模型的構(gòu)造機(jī)制和模型參數(shù)。其中,模型機(jī)制對(duì)用戶而言是封裝的,要提升分類性能,用戶只能調(diào)整模型參數(shù)。而數(shù)據(jù)方面,文本的詞語(yǔ)和語(yǔ)義特點(diǎn)太過(guò)復(fù)雜和精細(xì),用戶難以據(jù)此選擇模型。然而待處理文本的長(zhǎng)度、規(guī)模和偏斜程度等是影響分類性能的重要因素,用戶可以據(jù)此選擇最合適的模型。因此,本文主要設(shè)計(jì)了4組實(shí)驗(yàn)考察不同情境下中文文本分類模型的表現(xiàn)。下面具體闡述各組實(shí)驗(yàn)的具體方案及結(jié)果。
3.1 模型參數(shù)與模型性能
所述的4個(gè)分類模型中,NB模型和TF-IDF模型沒(méi)有參數(shù),而N-Gram和KNN模型則分別有一個(gè)關(guān)鍵參數(shù)N和K。先對(duì)這兩個(gè)模型進(jìn)行不同參數(shù)取值下的實(shí)驗(yàn)。所采用的數(shù)據(jù)集文檔篇數(shù)情況如表2所示。
3.1.1 關(guān)于N-Gram模型參數(shù)N的實(shí)驗(yàn)
根據(jù)N-Gram模型中參數(shù)N的含義,字與字之間的概率依賴關(guān)系主要由詞組造成,漢語(yǔ)超過(guò)6個(gè)字的詞組已經(jīng)相當(dāng)稀少。本組實(shí)驗(yàn)考察了N取值為1,2,4,6,7的情形,獲得結(jié)果如表3所示??梢?jiàn),隨著N取值的加大,該分類器的分類性能也越高,但在N超過(guò)4以后,分類性能改善幅度已相當(dāng)小,而訓(xùn)練時(shí)間和測(cè)試時(shí)間卻成倍增長(zhǎng),為此,后述實(shí)驗(yàn)均取N=4,不再贅述。
3.1.2 關(guān)于KNN模型參數(shù)K的實(shí)驗(yàn)
參數(shù)K為經(jīng)驗(yàn)參數(shù),表示選取的近鄰個(gè)數(shù),其值的大小對(duì)于模型的分類性能有顯著的影響。實(shí)驗(yàn)中,為確定K最佳值,將K分別取值1,3,5,10,20,獲得如表4所示結(jié)果。顯見(jiàn),隨著K值的增加,分類性能有緩慢下降趨勢(shì),表明并非選取的近鄰數(shù)越多越好。原因在于KNN基于向量空間模型,維數(shù)較高,數(shù)據(jù)比較稀疏,K值越大,反而可能帶來(lái)更多的誤判信息。本實(shí)驗(yàn)中,K取值為1時(shí)分類性能最優(yōu),因此在后述實(shí)驗(yàn)中均取該最優(yōu)值。
3.2 訓(xùn)練集規(guī)模與模型性能
為了考察各模型在不同訓(xùn)練集規(guī)模情境下的性能表現(xiàn),分8次小實(shí)驗(yàn),每次從實(shí)驗(yàn)語(yǔ)料中抽取1000,2000,3000,4000,5000,6000,7000,8000篇文檔構(gòu)成訓(xùn)練集,抽取1000篇文檔構(gòu)成測(cè)試集。抽樣過(guò)程中,為了消除各類別新聞分布不一致、文本長(zhǎng)度不一致所帶來(lái)的影響,進(jìn)行了適度控制,即確保8次實(shí)驗(yàn)中,各類別新聞的比例保持一致,各文本長(zhǎng)度所占比例也保持一致。在此控制下,隨機(jī)抽取樣本,每次實(shí)驗(yàn)進(jìn)行3次,以其平均值作為最后結(jié)果。實(shí)驗(yàn)結(jié)果如表5所示,圖2展示了不同訓(xùn)練集規(guī)模情境下,模型性能(微平均下F值)的情況;圖3和圖4則分別展示了分類訓(xùn)練時(shí)間和測(cè)試時(shí)間與訓(xùn)練集規(guī)模的關(guān)系。
由表5以及圖2~圖4可知,在各類別數(shù)據(jù)相近的情況下,隨著訓(xùn)練集規(guī)模的增大,各模型的分類性能也均得到提升并漸趨于平穩(wěn),與文獻(xiàn)結(jié)論相同。KNN改善效果最為明顯。就運(yùn)行時(shí)間而言,各分類模型隨著訓(xùn)練集規(guī)模的增大,訓(xùn)練時(shí)間明顯增加,而測(cè)試時(shí)間僅KNN分類模型顯著增加,其它則變化微小。通過(guò)逐漸加大訓(xùn)練集規(guī)模,實(shí)驗(yàn)還發(fā)現(xiàn),在測(cè)試集不變的情況下,訓(xùn)練集達(dá)到一定規(guī)模后(例如7000篇),即使再顯著增大訓(xùn)練集規(guī)模,分類性能的改善也非常微弱。
3.3 文本長(zhǎng)度與性能
為了考察各模型在不同文本長(zhǎng)度情境下性能的表現(xiàn),將訓(xùn)練數(shù)據(jù)的每個(gè)類別都按文檔大小進(jìn)行劃分,抽取5個(gè)子集,分別為1000字節(jié)以下,1000-2000字節(jié),2000-3000字節(jié),3000-5000字節(jié),5000字節(jié)以上。在保證5個(gè)子集的類別分布和規(guī)模分布一致的前提下,隨機(jī)抽取樣本構(gòu)成訓(xùn)練數(shù)據(jù),實(shí)驗(yàn)數(shù)據(jù)如表6所示。該實(shí)驗(yàn)共進(jìn)行3次,取3次實(shí)驗(yàn)結(jié)果的平均值作為最終結(jié)果,如表7所示。圖5展示了不同文本長(zhǎng)度情境下,模型性能(微平均下F值)的情況;圖6和圖7則展示了分類訓(xùn)練時(shí)間和測(cè)試時(shí)間與文本長(zhǎng)度的關(guān)系。
對(duì)文本長(zhǎng)度情境而言,從表7以及圖5~圖7可以看出,隨著文本長(zhǎng)度的增加,除KNN模型外,其它3個(gè)分類模型的準(zhǔn)確性能在初期快速提升,其后趨緩而漸趨平穩(wěn),但KNN快速提升后卻逐漸下降。實(shí)驗(yàn)還發(fā)現(xiàn),在文本長(zhǎng)度短時(shí)(小于1000字節(jié)),TF-IDF模型要好于其它3個(gè)模型。從時(shí)間性能來(lái)看,各模型都隨文本長(zhǎng)度增加而近似呈線性增長(zhǎng)趨勢(shì)。其中NB和TF-IDF相對(duì)較遜一籌。
3.4 類別偏斜與模型性能
為了考察各模型在類別是否偏斜情境下性能的表現(xiàn),我們?cè)O(shè)計(jì)了類別均衡和非均衡兩組實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)集如表8所示,訓(xùn)練集和測(cè)試集規(guī)模相同,非均衡訓(xùn)練集中讀書(shū)和社會(huì)兩個(gè)類別遠(yuǎn)高于其它類別數(shù)據(jù),而均衡訓(xùn)練集中各類別文本數(shù)相同。每組實(shí)驗(yàn)共進(jìn)行3次,隨機(jī)抽取樣本構(gòu)成訓(xùn)練數(shù)據(jù)。取3次實(shí)驗(yàn)結(jié)果的平均值作為最終結(jié)果,如表9所示。
對(duì)類別偏斜情境而言,觀察可知,各模型整體性能及各類別分類性能在均衡訓(xùn)練集情境下的表現(xiàn)均優(yōu)于在非均衡訓(xùn)練集下的性能表現(xiàn)。在非均衡訓(xùn)練集情境下,對(duì)各小類而言,包含文本數(shù)較多的讀書(shū)和社會(huì)兩個(gè)類別的分類性能要優(yōu)于其它類別,與文獻(xiàn)對(duì)訓(xùn)練集類別分布對(duì)文本分類影響的研究結(jié)果類似。4個(gè)分類模型中,對(duì)于類別均衡數(shù)據(jù)而言,TF-IDF表現(xiàn)最佳,對(duì)于類別非均衡數(shù)據(jù)而言,NB表現(xiàn)最佳。
4 結(jié)論
本文所考察的幾個(gè)模型是當(dāng)前文本分類領(lǐng)域應(yīng)用最為廣泛、最為經(jīng)典的。在實(shí)踐當(dāng)中,各模型的表現(xiàn)各異,而在理論上又很難分析和評(píng)價(jià)其優(yōu)劣。為此本文構(gòu)建了多組實(shí)驗(yàn)來(lái)考察不同情境下各模型的表現(xiàn),形成的結(jié)論及模型選擇建議如下:
1)幾個(gè)模型在運(yùn)行效率方面沒(méi)有明顯的區(qū)別,訓(xùn)練和測(cè)試時(shí)間都與數(shù)據(jù)集的規(guī)模和文本長(zhǎng)度呈線性關(guān)系。實(shí)驗(yàn)結(jié)果看,NB模型和TF-IDF雖然稍遜,但實(shí)際應(yīng)用中,此差別并不明顯,可以忽略。
2)不管在何種情境下,KNN的表現(xiàn)都最差,因此不推薦采用此模型。
3)從訓(xùn)練集規(guī)模來(lái)看,幾種模型都是隨著規(guī)模增大而分類精確性穩(wěn)步增加,訓(xùn)練集的大小不構(gòu)成模型選擇的關(guān)鍵依據(jù)。
4)N-Gram、TF-IDF、NB三個(gè)模型的分類精度受文本長(zhǎng)度的影響差別不大。都隨文本長(zhǎng)度的增加而精度得到提升,且都在長(zhǎng)度低于1kb(約400漢字)時(shí)提升較明顯,而此后提升速度放緩。KNN則未能因文本長(zhǎng)度的增加而提升其精確度。
5)對(duì)類別分布是否偏斜的情況,NB模型表現(xiàn)出良好的穩(wěn)定性,比N-Gram和TF-IDF都要好。因此,在類別偏斜嚴(yán)重的情況下,推薦采用NB模型。