隨著互聯(lián)網(wǎng)技術的迅速發(fā)展與普及,,如何對浩如煙海的數(shù)據(jù)進行分類,、組織和管理,已經(jīng)成為一個具有重要用途的研究課題,。而在這些數(shù)據(jù)中,,文本數(shù)據(jù)又是數(shù)量最大的一類?!拔谋痉诸愂侵冈诮o定分類體系下,,根據(jù)文本內(nèi)容自動確定文本類別的過程”(達觀數(shù)據(jù)科技聯(lián)合創(chuàng)始人,張?。?。文本分類有著廣泛的應用場景,例如:
20世紀90年代以前,占主導地位的文本分類方法一直是基于知識工程的方法:借助專業(yè)人員的幫助,,為每個類別定義大量的推理規(guī)則,,如果一篇文檔能滿足這些推理規(guī)則,則可以判定屬于該類別,。但是這種方法有明顯的缺點:分類的質(zhì)量依賴于規(guī)則的好壞,;需要大量的專業(yè)人員進行規(guī)則的制定;不具備可推廣性,,不同的領域需要構(gòu)建完全不同的分類系統(tǒng),,造成開發(fā)資源和資金資源的巨大浪費。 而機器學習技術能很好地解決上述問題,,以統(tǒng)計理論為基礎,,利用算法讓機器具有類似人類般的自動“學習”能力——對已知的訓練數(shù)據(jù)做統(tǒng)計分析從而獲得規(guī)律,再運用規(guī)律對未知數(shù)據(jù)做預測分析,。機器學習方法運用在文本分類上的基本過程就是:標注——利用人工對一批文檔進行了準確分類,,以作為訓練集(進行機器學習的材料);訓練——計算機從這些文檔中挖掘出一些能夠有效分類的規(guī)則,,生成分類器(總結(jié)出的規(guī)則集合),;分類——將生成的分類器應用在有待分類的文檔集合中,獲取文檔的分類結(jié)果,。由于機器學習方法在文本分類領域有著良好的實際表現(xiàn),,已經(jīng)成為了該領域的主流。 達觀數(shù)據(jù)團隊在處理海量數(shù)據(jù)方面具有豐富的經(jīng)驗,,在文本分類技術方面有深入的實踐,,并將文本分類技術成功運用到了線上服務中,取得了良好的效果,。本文整理了文本分類的基本方法和處理流程,,進行了綜述性介紹。 (一):文本預處理 1.文本分類流程 文本分類的流程如圖 1所示,,包括訓練,、特征抽取、訓練模型,、分類預測等幾個主要環(huán)節(jié),。 圖 1 文本分類流程圖 2.文本預處理 2.1文檔建模 機器學習方法讓計算機自己去學習已經(jīng)分類好的訓練集,然而計算機是很難按人類理解文章那樣來學習文章,,因此,,要使計算機能夠高效地處理真實文本,就必須找到一種理想的形式化表示方法,這個過程就是文檔建模,。文檔建模一方面要能夠真實地反映文檔的內(nèi)容,,另一方面又要對不同文檔具有區(qū)分能力。文檔建模比較通用的方法包括布爾模型,、向量空間模型(VSM)和概率模型,。其中最為廣泛使用的是向量空間模型。 經(jīng)典的向量空間模型(VSM: Vector Space Model)由Salton等人于60年代提出,,并成功地應用于著名的SMART文本檢索系統(tǒng),。VSM概念非常直觀——把對文本內(nèi)容的處理簡化為向量空間中的向量運算,并且它以空間上的相似度表達語義的相似度,,直觀易懂,。當文檔被表示為文檔空間的向量時,就可以通過計算向量之間的相似性來度量文檔間的相似性,。文本處理中最常用的相似性度量方式是余弦距離,。文本挖掘系統(tǒng)采用向量空間模型,用特征詞條(T1,,T2,,…Tn)及其權(quán)值Wi代表目標信息,在進行信息匹配時,,使用這些特征項評價未知文本與目標樣本的相關程度,。特征詞條及其權(quán)值的選取稱為目標樣本的特征提取,特征提取算法的優(yōu)劣將直接影響到系統(tǒng)的運行效果,。 設D為一個包含m個文檔的文檔集合Di為第i個文檔的特征向量,,則有D={D1,D2,,…,,Dm}, Di=(di1di2…dij),,i=12,,…,m j=1,,2,,…,n,。其中dij(i=1,2,,…,,m; j=1,,2,,…,,n)為文檔Di中第j個詞條tj的權(quán)值它一般被定義為tj在Di中出現(xiàn)的頻率tij的函數(shù),例如采用TF-IDF函數(shù),,即dij=tij*log(N/nj),。其中N是文檔數(shù)據(jù)庫中文檔總數(shù),nj是文檔數(shù)據(jù)庫含有詞條tj的文檔數(shù)目,。假設用戶給定的文檔向量為D2,,未知的文檔向量為q,兩者的相似程度可用兩向量的夾角余弦來度量,,夾角越小說明相似度越高,。相似度的計算公式如下 圖 2 向量空間模型 通過上述的向量空間模型,文本數(shù)據(jù)就轉(zhuǎn)換成了計算機可以處理的結(jié)構(gòu)化數(shù)據(jù),,兩個文檔之間的相似性問題轉(zhuǎn)變成了兩個向量之間的相似性問題,。 2.2 中文分詞技術 在使用向量模型表示文檔時,首先要對文檔進行詞匯化處理,。對于英語或者法語等語言來說,,將文檔轉(zhuǎn)化成詞的集合比較簡單,但是對于漢語來說,,不像英文文本的單詞那樣有空格來區(qū)分,,這個處理過程要依賴于分詞技術。從簡單的查詞典的方法,,到后來的基于統(tǒng)計語言模型的分詞方法,,中文分詞的技術已趨于成熟。但是,,盡管現(xiàn)在分詞軟件的準確率已經(jīng)比較高了,,它對專業(yè)術語(稱為未登錄詞識別)的識別率還不是很好。例如“來自星星的你”,,分詞可以成功切分為“來自\星星\的\你”,,但是怎樣把“來自星星的你”作為一個完整的專有名詞(電視劇名稱)識別出來,還有很多技術要解決,。為了進一步提高關鍵詞抽取的準確率,,通常需要在詞庫中添加專名詞表來保證分詞的質(zhì)量。 在完成分詞之后,,我們對詞語的位置信息做進一步的發(fā)掘,,需要確定記錄位置信息的方式以及各個位置的詞在反映主題時的相對重要性。標題,、摘要和結(jié)論,、正文等文章各個部分的位置權(quán)重是各不相同的,當軟件逐詞掃描統(tǒng)計詞頻時,記錄每個詞的位置信息,。 在計算文檔的特征向量的值時,,還需要對文本集進行一些處理,過濾掉無用的信息,。濾除這些沒有作用的詞語可以減少文本特征向量的維數(shù),,減少不必要的運算。常見做法包括:
(二):特征抽取 1.文本特征抽取 目前大多數(shù)中文文本分類系統(tǒng)都采用詞作為特征項,,作為特征項的詞稱作特征詞。這些特征詞作為文檔的中間表示形式,,用來實現(xiàn)文檔與文檔,、文檔與用戶目標之間的相似度計算 。如果把所有的詞都作為特征項,,那么特征向量的維數(shù)將過于巨大,,會對分類系統(tǒng)的運算性能造成極大的壓力。在這樣的情況下,,要完成文本分類幾乎是不可能的,。尋求一種有效的特征降維方法,不僅能降低運算復雜度,,還能提高分類的效率和精度,,是文本自動分類中一項重要技術。 特征抽取的主要功能就是在不損傷核心信息的情況下降低向量空間維數(shù),,簡化計算,,提高文本處理的速度和效率,。相對于其他分類問題,,文本特征抽取的方式常見的有4種:
其中基于數(shù)學方法進行特征選擇比較精確,,人為因素干擾少,,尤其適合于文本應用。這種方法通過構(gòu)造評估函數(shù),,對特征集合中的每個特征進行評估,,并對每個特征打分,這樣每個詞語都獲得一個評估值,,又稱為權(quán)值,,然后將所有特征按權(quán)值大小排序,提取預定數(shù)目的最優(yōu)特征作為提取結(jié)果的特征子集,。 2.評估函數(shù) 對用數(shù)學方法進行特征選擇的算法,,決定文本特征提取效果的主要因素是評估函數(shù)的質(zhì)量,常用評估函數(shù)包括: (1) TF-IDF 單詞權(quán)重最為有效的實現(xiàn)方法就是TF-IDF它是由Salton在1988 年提出的,。其中TF 稱為詞頻,,用于計算該詞描述文檔內(nèi)容的能力。IDF 稱為反文檔頻率,,用于計算該詞區(qū)分文檔的能力,。TF*IDF 的指導思想建立在這樣一條基本假設之上:在一個文本中出現(xiàn)很多次的單詞,在另一個同類文本中出現(xiàn)次數(shù)也會很多,,反之亦然,。所以如果特征空間坐標系取TF詞頻作為測度,就可以體現(xiàn)同類文本的特點,。另外還要考慮單詞區(qū)別不同類別的能力,,TF*IDF法認為一個單詞出現(xiàn)的文本頻率越小,它區(qū)別不同類別的能力就越大,,所以引入了逆文本頻度IDF的概念:以TF和IDF的乘積作為特征空間坐標系的取值測度,。TF-IDF法是以特征詞在文檔d中出現(xiàn)的次數(shù)與包含該特征詞的文檔數(shù)之比作為該詞的權(quán)重,即其中,,Wi表示第i個特征詞的權(quán)重,,TFi(t,d)表示詞t在文檔d中的出現(xiàn)頻率,,N表示總的文檔數(shù),,DF(t)表示包含t的文檔數(shù),。用TF-IDF算法來計算特征詞的權(quán)重值是表示當一個詞在這篇文檔中出現(xiàn)的頻率越高,同時在其他文檔中出現(xiàn)的次數(shù)越少,,則表明該詞對于表示這篇文檔的區(qū)分能力越強,,所以其權(quán)重值就應該越大。將所有詞的權(quán)值排序,,根據(jù)需要可以有兩種選擇方式:
達觀數(shù)據(jù)的實踐經(jīng)驗是,,計算機選擇的關鍵詞數(shù)量在10∽15個,人工選擇的關鍵詞數(shù)量在4∽6個比較合適,,通常具有最好的覆蓋度和專指度,。TFIDF算法是建立在這樣一個假設之上的:對區(qū)別文檔最有意義的詞語應該是那些在文檔中出現(xiàn)頻率高,而在整個文檔集合的其他文檔中出現(xiàn)頻率少的詞語,,所以如果特征空間坐標系取TF詞頻作為測度,,就可以體現(xiàn)同類文本的特點。另外考慮到單詞區(qū)別不同類別的能力,,TFIDF法認為一個單詞出現(xiàn)的文本頻數(shù)越小,,它區(qū)別不同類別文本的能力就越大。因此引入了逆文本頻度IDF的概念,,以TF和IDF的乘積作為特征空間坐標系的取值測度,,并用它完成對權(quán)值TF的調(diào)整,調(diào)整權(quán)值的目的在于突出重要單詞,,抑制次要單詞,。但是在本質(zhì)上IDF是一種試圖抑制噪音的加權(quán),并且單純地認為文本頻數(shù)小的單詞就越重要,,文本頻數(shù)大的單詞就越無用,,顯然這并不是完全正確的。IDF的簡單結(jié)構(gòu)并不能有效地反映單詞的重要程度和特征詞的分布情況,,使其無法很好地完成對權(quán)值調(diào)整的功能,,所以TF*IDF法的精度并不是很高。此外,,在TFIDF算法中并沒有體現(xiàn)出單詞的位置信息,,對于Web文檔而言,權(quán)重的計算方法應該體現(xiàn)出HTML的結(jié)構(gòu)特征,。特征詞在不同的標記符中對文章內(nèi)容的反映程度不同,,其權(quán)重的計算方法也應不同。因此應該對于處于網(wǎng)頁不同位置的特征詞分別賦予不同的系數(shù),,然后乘以特征詞的詞頻,,以提高文本表示的效果。 (2) 詞頻法 詞頻是一個詞在文檔中出現(xiàn)的次數(shù),。通過詞頻進行特征選擇就是將詞頻小于某一閾值的詞刪除,,從而降低特征空間的維數(shù),。這個方法是基于這樣一個假設,即出現(xiàn)頻率小的詞對過濾的影響也較小,。但是在信息檢索的研究中認為,,有時頻率小的詞含有更多的信息。因此,,在特征選擇的過程中不宜簡單地根據(jù)詞頻大幅度刪詞,。 (3) 文檔頻次法 文檔頻數(shù)(Document Frequency, DF)是最為簡單的一種特征選擇算法,,它指的是在整個數(shù)據(jù)集中有多少個文本包含這個單詞。在訓練文本集中對每個特征計一算它的文檔頻次,,并且根據(jù)預先設定的闌值去除那些文檔頻次特別低和特別高的特征,。文檔頻次通過在訓練文檔數(shù)量中計算線性近似復雜度來衡量巨大的文檔集,計算復雜度較低,,能夠適用于任何語料,,因此是特征降維的常用方法。在訓練文本集中對每個特征計算它的文檔頻數(shù),,若該項的DF值小于某個閾值則將其刪除,,若其DF值大于某個閾值也將其去掉。因為他們分別代表了“沒有代表性”和“沒有區(qū)分度”兩種極端的情況,。DF特征選取使稀有詞要么不含有用信息,,要么太少而不足以對分類產(chǎn)生影響,要么是噪音,,所以可刪去,。DF的優(yōu)點在于計算量小,速度快,,它的時間復雜度和文本數(shù)量成線性關系,,所以非常適合于超大規(guī)模文本數(shù)據(jù)集的特征選擇。不僅如此,,文檔頻數(shù)還非常地高效,,在有監(jiān)督的特征選擇應用中當刪除90%單詞的時候其性能與信息增益和X2統(tǒng)計的性能還不相上下。但如果某一稀有詞條主要出現(xiàn)在某類訓練集中,,卻能很好地反映類別的特征,,而因低于某個設定的閾值而濾除掉,包含著重要的判斷信息被舍棄,,這樣就會對分類精度有一定的影響,。 (4) 互信息方法 互信息(Mutual Information)衡量的是某個詞和類別之間的統(tǒng)計獨立關系,某個詞t和某個類別Ci傳統(tǒng)的互信息定義如下:互信息是計算語言學模型分析的常用方法,,它度量兩個對象之間的相互性,。在過濾問題中用于度量特征對于主題的區(qū)分度,。 互信息的定義與交叉嫡近似?;バ畔⒈緛硎切畔⒄撝械囊粋€概念,,用于表示信息之間的關系, 是兩個隨機變量統(tǒng)計相關性的測度,,使用互信息理論進行特征抽取是基于如下假設:在某個特定類別出現(xiàn)頻率高,,但在其他類別出現(xiàn)頻率比較低的詞條與該類的互信息比較大。通常用互信息作為特征詞和類別之問的測度,,如果特征詞屬于該類的話,,它們的互信息量最大。由于該方法不需要對特征詞和類別之間關系的性質(zhì)作任何假設,,因此非常適合于文本分類的特征和類別的配準工作,。特征項和類別的互信息體現(xiàn)了特征項與類別的相關程度,是一種廣泛用于建立詞關聯(lián)統(tǒng)計模型的標準,。 互信息與期望交叉熵的不同在于沒有考慮特征出現(xiàn)的頻率,,這樣導致互信息評估函數(shù)不選擇高頻的有用詞而有可能選擇稀有詞作為文本的最佳特征。因為對于每一主題來講,,特征t的互信息越大,,說明它與該主題的共現(xiàn)概率越大,因此,,以互信息作為提取特征的評價時應選互信息最大的若干個特征,。互信息計算的時間復雜度類似于信息增益,,互信息的平均值就是信息增益,。互信息的不足之處在于得分非常受詞條邊緣概率的影響,。達觀的實驗數(shù)據(jù)顯示,,互信息分類效果通常比較差,其次是文檔頻率,、CC 統(tǒng)計,,CHI 統(tǒng)計分類效果最好。 對互信息而言,,提高分類精度的方法有:1) 可以增加特征空間的維數(shù),,以提取足夠多的特征信息,這樣就會帶來了時間和空間上的額外開銷,;2) 根據(jù)互信息函數(shù)的定義,,認為這些低頻詞攜帶著較為強烈的類別信息,從而對它們有不同程度的倚重,。當訓練語料庫沒有達到一定規(guī)模的時候,,特征空間中必然會存在大量的出現(xiàn)文檔頻率很低(比如低于3 次) 的詞條,,他們較低的文檔頻率導致了他們必然只屬于少數(shù)類別。但是從抽取出來的特征詞觀察發(fā)現(xiàn),,大多數(shù)為生僻詞,,很少一部分確實帶有較強的類別信息,多數(shù)詞攜帶少量的類別信息,,甚至是噪音詞,。 (5) 期望交叉熵(Expected Cross Entropy) 交叉嫡與信息量的定義近似,其公式為:交叉嫡,,也稱KL距離,。它反映了文本主題類的概率分布和在出現(xiàn)了某特定詞匯的條件下文本主題類的概率分布之間的距離,詞匯w的交叉嫡越大,,對文本主題類分布的影響也越大,。它與信息增益唯一的不同之處在于沒有考慮單詞未發(fā)生的情況,只計算出現(xiàn)在文本中的特征項,。如果特征項和類別強相關,P(Ci|w)就大,,若P(Ci) 又很小的話,,則說明該特征對分類的影響大。交叉熵反映了文本類別的概率分布和在出現(xiàn)了某個特定詞的條件下文本類別的概率分布之間的距離,,特征詞t的交叉熵越大,,對文本類別分布的影響也越大。熵的特征選擇效果都要優(yōu)于信息增益,。 (6) 二次信息熵(QEMI) 將二次熵函數(shù)應用于互信息評估方法中,,取代互信息中的Shannon熵,就形成了基于二次熵的互信息評估函數(shù),?;诙戊氐幕バ畔⒖朔嘶バ畔⒌碾S機性,是一個確定的量,,因此可以作為信息的整體測度,,另外它還比互信息最大化的計算復雜度要小,所以可以比較高效地用在基于分類的特征選取上,。 (7) 信息增益方法(Information Gain) 信息增益方法是機器學習的常用方法,,在過濾問題中用于度量已知一個特征是否出現(xiàn)于某主題相關文本中對于該主題預測有多少信息。通過計算信息增益可以得到那些在正例樣本中出現(xiàn)頻率高而在反例樣本中出現(xiàn)頻率低的特征,,以及那些在反例樣本中出現(xiàn)頻率高而在正例樣本中出現(xiàn)頻率低的特征,。信息增益G(w)的訓算公式如下:其中P(w)是詞w出現(xiàn)的概率,P(Ci)是取第i個目錄時的概率,,P(Ci|w) 是假定w出現(xiàn)時取第i個目錄的概率,。 信息增益是一種基于熵的評估方法,,涉及較多的數(shù)學理論和復雜的熵理論公式,定義為某特征項為整個分類所能提供的信息量,,不考慮任何特征的熵與考慮該特征后的熵的差值,。他根據(jù)訓練數(shù)據(jù),計算出各個特征項的信息增益,,刪除信息增益很小的項,,其余的按照信息增益從大到小排序。信息增益是信息論中的一個重要概念,,它表示了某一個特征項的存在與否對類別預測的影響,,定義為考慮某一特征項在文本中出現(xiàn)前后的信息熵之差。某個特征項的信息增益值越大,,貢獻越大,,對分類也越重要。信息增益方法的不足之處在于它考慮了特征未發(fā)生的情況,。特別是在類分布和特征值分布高度不平衡的情況下,,絕大多數(shù)類都是負類,絕大多數(shù)特征都不出現(xiàn),。此時的函數(shù)值由不出現(xiàn)的特征決定,,因此,信息增益的效果就會大大降低,。信息增益表現(xiàn)出的分類性能偏低,。因為信息增益考慮了文本特征未發(fā)生的情況,雖然特征不出現(xiàn)的情況腫可能對文本類別具有貢獻,,但這種貢獻往往小于考慮這種情況時對特征分值帶來的干擾,。 (8) 統(tǒng)計量方法 X2統(tǒng)計量用于度量特征W和主題類C之間的獨立性。而表示除W以外的其他特征,,C表示除C以外的其他主題類,,那么特征W和主題類C的關系有以下四種情況:用A、B,、C,、D表示這四種情況的文檔頻次,總的文檔數(shù)N=A+B+C+D,,擴統(tǒng)計量的計算公式如下:當特征W和主題類C之間完全獨立的時候,,X2統(tǒng)計量為0。X2統(tǒng)計量和互信息的差別在于它是歸一化的統(tǒng)計量,,但是它對低頻特征的區(qū)分效果也不好,。X2 統(tǒng)計得分的計算有二次復雜度,相似于互信息和信息增益。在 X2 統(tǒng)計和互信息之間主要的不同在于 X2 是規(guī)格化評價,, 因而 X2 評估分值對在同類中的詞是可比的,, 但是 X2 統(tǒng)計對于低頻詞來說是不可靠的。 利用X2 統(tǒng)計方法來進行特征抽取是基于如下假設:在指定類別文本中出現(xiàn)頻率高的詞條與在其他類別文本中出現(xiàn)頻率比較高的詞條,,對判定文檔是否屬于該類別都是很有幫助的.采用X2估計特征選擇算法的準確率在實驗中最高,,其分類效果受訓練集影響較小,比較穩(wěn)定,。而且在對文教類和政治類存在類別交叉現(xiàn)象的文本進行分類時,,采用X2估計的分類系統(tǒng)表現(xiàn)出了優(yōu)于其它方法的分類性能。X2估計的可靠性較好,,便于對程序的控制,,無需因訓練集的改變而人為的調(diào)節(jié)特征閥值的大小。 (9) 文本證據(jù)權(quán)(The Weight of Evidence for Text) 文本證據(jù)權(quán)衡量類的概率和給定特征時類的條件概率之間的差別,。 (10) 優(yōu)勢率(Odds Ratio) 優(yōu)勢率只適用于二元分類的情況,,其特點是只關心文本特征對于目標類的分值。Pos表示目標類,,neg表示非目標類,。 (11) 遺傳算法(Genetic Algorithm, GA): 遺傳算法(Genetic Algorithm,, GA)是一種通用型的優(yōu)化搜索方法,,它利用結(jié)構(gòu)化的隨機信息交換技術組合群體中各個結(jié)構(gòu)中最好的生存因素,復制出最佳代碼串,,并使之一代一代地進化,最終獲得滿意的優(yōu)化結(jié)果,。 文本實際上可以看作是由眾多的特征詞條構(gòu)成的多維空間,,而特征向量的選擇就是多維空間中的尋優(yōu)過程,因此在文本特征提取研究中可以使用高效尋優(yōu)算法,。在將文本特征提取問題轉(zhuǎn)化為文本空間的尋優(yōu)過程中,,首先對Web文本空間進行遺傳編碼,以文本向量構(gòu)成染色體,,通過選擇,、交叉、變異等遺傳操作,,不斷搜索問題域空間,,使其不斷得到進化,逐步得到Web文本的最優(yōu)特征向量,。 基于協(xié)同演化的遺傳算法不是使用固定的環(huán)境來評價個體,,而是使用其他的個體來評價特定個體。基于協(xié)同演化的遺傳算法不僅能反映其母體的特征,,還能反映其他同類文本的共性,,這樣可以有效地解決同一主題眾多文本的集體特征向量的提取問題,獲得反映整個文本集合某些特征的最佳個體,。 (12) 主成分分析法(Principal Component Analysis,,PCA) PCA是非常常用的一種通用特征降維方法,也同樣大規(guī)模用于文本特征抽取中,,基于其處理方式的不同又分為數(shù)據(jù)方法和矩陣方法,。 矩陣方法中,所有的數(shù)據(jù)通過計算方差一協(xié)方差結(jié)構(gòu)在矩陣中表示出來,,矩陣的實現(xiàn)目標是確定協(xié)方差矩陣的特征向量,,它們和原始數(shù)據(jù)的主要成分相對應。在主成分方法中,,由于矩陣方法的復雜度在n很大的情況以二次方增長,,因此人們又開發(fā)了主要使用Hebbian學習規(guī)則的PCA神經(jīng)網(wǎng)絡方法。主成分分析法是特征選取常用的方法之一,,它能夠揭示更多有關變量-豐要方向的信息,。但它的問題在于矩陣方法中要使用奇異值分解對角化矩陣求解方差一協(xié)方差。 (13) 模擬退火算法(Simulating Anneal,,SA) 特征選取可以看成是一個組合優(yōu)化問題,,因而可以使用解決優(yōu)化問題的方法來解決特征選取的問題。模擬退火算法(Simulating Anneal,,SA)就是其中一種方法,。模擬退火算法是一個很好的解決優(yōu)化問題的方法,將這個方法運用到特征選取中,,理論上能夠找到全局最優(yōu)解,,但在初始溫度的選取和鄰域的選取t要恰當,必須要找到一個比較折中的辦法,,綜合考慮解的性能和算法的速度,。 (14) N-Gram算法 它的基本思想是將文本內(nèi)容按字節(jié)流進行大小為N的滑動窗口操作,形成長度為N的字節(jié)片段序列,。每個字節(jié)片段稱為gram,,對全部gram的出現(xiàn)頻度進行統(tǒng)計,并按照事先設定的閾值進行過濾,,形成關鍵gram列表,,即為該文本的特征向量空間,每一種gram則為特征向量維度,。 由于N-Gram算法可以避免中文分詞的障礙,,所以對中文分類有較高的實用性,。中文文本處理大多采用雙字節(jié)進行分解,稱之為bi-gram,。但是bi-gram切分方法在處理20%左右的中文多字詞時,,往往產(chǎn)生語義和語序方面的偏差。而對于專業(yè)研究領域,,多字詞常常是文本的核心特征,,處理錯誤會導致較大的負面影響?;贜-Gram改進的文本特征提取算法,,在進行bi-gram切分時,不僅統(tǒng)計gram的出現(xiàn)頻度,,而且還統(tǒng)計某個gram與其前鄰gram的情況,,并將其記錄在gram關聯(lián)矩陣中。對于那些連續(xù)出現(xiàn)頻率大于事先設定閾值的,,就將其合并成為多字特征詞,。這樣通過統(tǒng)計與合并雙字特征詞,自動產(chǎn)生多字特征詞,,可以較好地彌補N-Gram算法在處理多字詞方面的缺陷,。 3. 評估函數(shù)對比分析 上述羅列的幾種文檔特征評估函數(shù)的特點如何呢?信息增益的定義過于復雜,,因此應用較多的是交叉嫡和互信息,。其中互信息的效果要好于交叉嫡,這是因為互信息是對不同的主題類分別抽取特征詞,,而交叉嫡跟特征在全部主題類內(nèi)的分布有關,,是對全部主題類來抽取特征詞。這些方法,,在英文特征提取方面都有各自的優(yōu)勢,,但用于中文文本,并沒有很高的效率,。主要有2個方面的原因:
目前使用評估函數(shù)進行特征選取越來越普遍,,特征選取算法通過構(gòu)造一個評估函數(shù)的方法,選取預定數(shù)目的最佳特征作為特征子集的結(jié)果,。在幾種評估方法中,,每一種方法都有一個選詞標準,遵從這個標準,從文本集的所有詞匯中選取出有某個限定范圍的特征詞集,。因為評估函數(shù)的構(gòu)造不是特別復雜,,適用范圍又很廣泛,所以越來越多的人們喜歡使用構(gòu)造評估函數(shù)來進行特征的選取,,這些評估函數(shù)在Web文本挖掘中被廣泛使用,,特征選擇精度普遍達到70%~80%,但也各自存在缺點和不足,。例如,,“信息增益”考慮了單詞未發(fā)生的情況,對判斷文本類別貢獻不大,,而且引入不必要的干擾,,特別是在處理類分布和特征值分布高度不平衡的數(shù)據(jù)時選擇精度下降?!捌谕徊骒亍迸c“信息增益”的唯一不同就是沒有考慮單詞未發(fā)生的情況,,因此不論處理哪種數(shù)據(jù)集,它的特征選擇精度都優(yōu)于“信息增益”,。與“期望交叉熵”相比,,“互信息”沒有考慮單詞發(fā)生的頻度,這是一個很大的缺點,,造成“互信息”評估函數(shù)經(jīng)常傾向于選擇稀有單詞,。“文本證據(jù)權(quán)”是一種構(gòu)造比較新穎的評估函數(shù),,它衡量一般類的概率和給定特征類的條件概率之間的差別,,這樣在文本處理中,就不需要計算W的所有可能值,,而僅考慮W在文本中出現(xiàn)的情況,。“優(yōu)勢率”不像前面所述的其他評估函數(shù)將所有類同等對待,,它只關心目標類值,,所以特別適用于二元分類器,可以盡可能多地識別正類,,而不關心識別出負類,。從考慮文本類間相關性的角度,可以把常用的評估函數(shù)分為兩類,,即類間不相關的和類間相關的,。 “文檔頻數(shù)”(DF)是典型的類間不相關評估函數(shù),DF的排序標準是依據(jù)特征詞在文檔中出現(xiàn)篇數(shù)的百分比,,或稱為篇章覆蓋率,。這種類型的評估函數(shù),,為了提高區(qū)分度,要盡量尋找篇章覆蓋率較高的特征詞,,但又要避免選擇在各類文本中都多次出現(xiàn)的無意義高頻詞,,因此類間不相關評估函數(shù)對停用詞表的要求很高。但是很難建立適用于多個類的停用詞表,,停用詞不能選擇太多,,也不能選擇太少,否則都將會影響特征詞的選擇,。同時,,類間不相關評估函數(shù)還存在一個明顯的缺點,就是對于特征詞有交叉的類別或特征相近的類別,,選擇的特征詞會出現(xiàn)很多相似或相同的詞條,,造成在特定類別間的區(qū)分度下降。類間相關的評估函數(shù),,例如期望交叉熵,、互信息、文本證據(jù)權(quán)等,,綜合考慮了詞條在已定義的所有類別中的出現(xiàn)情況,,可以通過調(diào)整特征詞的權(quán)重,,選擇出區(qū)分度更好的特征,,在一定程度上提高了相近類別的區(qū)分度,。但是,該區(qū)分度的提高僅體現(xiàn)在已定義的類別間,,而對于尚未定義的域外類別,,類間相關評估函數(shù)的選擇效果也不理想。因此,,在評估函數(shù)選擇問題上,,提高對域外類別文本的區(qū)分度是十分重要的研究課題。 傳統(tǒng)的特征選擇方法大多采用以上各評估函數(shù)進行特征權(quán)重的計算,,由于這些評估函數(shù)是基于統(tǒng)計學的,,其中一個主要缺陷就是需要用一個很龐大的訓練集才能獲得幾乎所有的對分類起關鍵作用的特征.這需要消耗大量的時間和空間資源,況且構(gòu)建這樣一個龐大的訓練集也是一項十分艱巨的工作,。然而在現(xiàn)實應用中,,考慮到工作效率,不會也沒有足夠的資源去構(gòu)建一個龐大的訓練集,,這樣的結(jié)果就是:被選中的甚至是權(quán)重比較高的特征,可能對分類沒有什么用處,,反而會干涉到正確的分類,;而真正有用的特征卻因為出現(xiàn)的頻率低而獲得較低的權(quán)重,,甚至在降低特征空間維數(shù)的時候被刪除掉了?;谠u估函數(shù)的特征提取方法是建立在特征獨立的假設基礎上,,但在實際中這個假設是很難成立的,因此需要考慮特征相關條件下的文本特征提取方法,。 4. 詞向量的應用 特征選擇也可以通過用映射或變換的方法把原始特征變換為較少的新特征,。上面提到的特征選擇模塊,在實際情況會碰到這樣的問題:無論是采用文檔頻率,、信息增益法,、互信息法等得降維方法,都會損失了部分的文檔信息,。以文檔頻率為例,,在特征選擇過程中由于某些關鍵的詞語低于了人為設定的閾值,所以會被直接忽視掉,,而很多情況這部分詞匯能包含較多的信息,,對于分類的重要性比較大。怎么能夠進一步理解這部分的信息,,是急需要解決的問題,。一個想法是找到這些使用頻率比較低的詞語相似的高頻詞,譬如在討論“月亮”的古詩詞中,,包含了很多低頻的同義詞,,如“玉兔”,“嬋娟”等,,如果我們能把這些低頻的詞語合并到一個維度,,無疑是能夠增強分類系統(tǒng)對文檔的理解深度的。詞向量這一概念能夠有效地表示詞語之間的相似性,,適用于這種方法,。 先介紹一下詞向量的定義。一種最簡單的詞向量是one-hot representation,,就是用一個很長的向量來表示一個詞,,向量的長度是詞典D的大小N,向量的分量只有一個為1,,其他全為0,,1的位置對應該詞在詞典中的索引。這種詞向量表示有一些缺點:容易受維數(shù)災難的困擾,。另一種詞向量是Distributed Representation,,它最早是Hinton于1986年提出來的,可以克服one-hot representation的上述缺點,。其基本想法是:通過訓練將某種語言中的每個詞映射成一個固定長度的短向量,。所有這些向量構(gòu)成一個詞向量空間,,每個向量是該空間中的一個點,在這個空間上引入距離,,就可以根據(jù)詞之間的距離來判斷它們之間的(詞法,、語義上的)相似性了。如何獲取Distributed Representation的詞向量呢,?有很多不同的模型可以用來估計詞向量,,包括有名的LSA、LDA和神經(jīng)網(wǎng)絡算法,。Word2Vec就是使用度比較廣的一個神經(jīng)網(wǎng)絡算法實現(xiàn)的詞向量計算工具,。 現(xiàn)在介紹詞向量在分類系統(tǒng)上的具體實踐。Word2Vec能夠?qū)⒃~映射成一個固定長度的短向量,,所以生成了文檔集合詞語的向量表示,。由于向量的距離代表了詞語之間的相似性,我們可以通過聚類的方法(譬如K-Means)把相似的詞語合并到一個維度,,重新計算該維度的特征向量權(quán)值,。相比于原來的方法,使用詞向量能在一定程度保留了文檔的信息,。此外,,Word2Vec作為無監(jiān)督學習方法的一個實現(xiàn),能夠允許它從無標注的文本進行訓練,,能進一步提升系統(tǒng)的性能,。 另外,基于向量空間模型的文本分類方法是沒有考慮到詞的順序的,?;诰矸e神經(jīng)網(wǎng)絡(CNN)來做文本分類,可以利用到詞的順序包含的信息,。CNN模型把原始文本作為輸入,,不需要太多的人工特征。下圖是CNN模型的一個實現(xiàn),,共分四層,,第一層是詞向量層,doc中的每個詞,,都將其映射到詞向量空間,,假設詞向量為k維,則n個詞映射后,,相當于生成一張n*k維的圖像,;第二層是卷積層,多個濾波器作用于詞向量層,不同濾波器生成不同的feature map,;第三層是pooling層,,取每個feature map的最大值,這樣操作可以處理變長文檔,,因為第三層輸出只依賴于濾波器的個數(shù);第四層是一個全連接的softmax層,,輸出是每個類目的概率,。除此之外,輸入層可以有兩個channel,,其中一個channel采用預先利用word2vec訓練好的詞向量,,另一個channel的詞向量可以通過backpropagation在訓練過程中調(diào)整。 圖 3 基于卷積神經(jīng)網(wǎng)絡的文本分類算法 作者簡介:張健,,復旦大學計算機軟件與理論碩士,,現(xiàn)任達觀數(shù)據(jù)聯(lián)合創(chuàng)始人,曾在盛大創(chuàng)新院負責相關推薦模塊,,在盛大文學數(shù)據(jù)中心負責任務調(diào)度平臺系統(tǒng)和集群維護管理,,數(shù)據(jù)平臺維護管理和開發(fā)智能審核系統(tǒng)。 對大數(shù)據(jù)技術,、機器學習算法有較深入的理解和實踐經(jīng)驗,。
|
|