天天看點

達觀資料:文本大資料的機器學習自動分類方法

随着網際網路技術的迅速發展與普及,如何對浩如煙海的資料進行分類、組織和管理,已經成為一個具有重要用途的研究課題。而在這些資料中,文本資料又是數量最大的一類。文本分類是指在給定分類體系下,根據文本内容自動确定文本類别的過程(達觀資料科技聯合創始人張健)。文本分類有着廣泛的應用場景,例如:

  • 新聞網站包含大量報道文章,基于文章内容,需要将這些文章按題材進行自動分類(例如自動劃分成政治、經濟、軍事、體育、娛樂等)
  • 在電子商務網站,使用者進行了交易行為後對商品進行評價分類,商家需要對使用者的評價劃分為正面評價和負面評價,來擷取各個商品的使用者回報統計情況。
  • 電子郵箱頻繁接收到垃圾廣告資訊,通過文本分類技術從衆多的郵件中識别垃圾郵件并過濾,提高了郵箱使用者的使用效率。
  • 媒體每日有大量投稿,依靠文本分類技術能夠對文章進行自動稽核,标記投稿中的暴力、政治、垃圾廣告等違規内容。

    20世紀90年代以前,占主導地位的文本分類方法一直是基于知識工程的方法:借助專業人員的幫助,為每個類别定義大量的推理規則,如果一篇文檔能滿足這些推理規則,則可以判定屬于該類别。但是這種方法有明顯的缺點:分類的品質依賴于規則的好壞;需要大量的專業人員進行規則的制定;不具備可推廣性,不同的領域需要建構完全不同的分類系統,造成開發資源和資金資源的巨大浪費。

    而機器學習技術能很好地解決上述問題,以統計理論為基礎,利用算法讓機器具有類似人類般的自動“學習”能力——對已知的訓練資料做統計分析進而獲得規律,再運用規律對未知資料做預測分析。機器學習方法運用在文本分類上的基本過程就是:标注——利用人工對一批文檔進行了準确分類,以作為訓練集(進行機器學習的材料);訓練——計算機從這些文檔腫挖掘出一些能夠有效分類的規則,生成分類器(總結出的規則集合);分類——将生成的分類器應用在有待分類的文檔集合中,擷取文檔的分類結果。由于機器學習方法在文本分類領域有着良好的實際表現,已經成為了該領域的主流。

    達觀資料團隊在處理海量資料方面具有豐富的經驗,在文本分類技術方面有深入的實踐,并将文本分類技術成功運用到了線上服務中,取得了良好的效果。本文整理了文本分類的基本方法和處理流程,進行了綜述性介紹。

1      文本分類流程

文本分類的流程如圖 1所示,包括訓練、特征抽取、訓練模型、分類預測等幾個主要環節

圖 1文本分類流程圖

2      文本預處理

2.1    文檔模組化

機器學習方法讓計算機自己去學習已經分類好的訓練集,然而計算機是很難按人類了解文章那樣來學習文章,是以,要使計算機能夠高效地處理真實文本,就必須找到一種理想的形式化表示方法,這個過程就是文檔模組化。文檔模組化一方面要能夠真實地反映文檔的内容另一方面又要對不同文檔的區分能力。文檔模組化比較通用的方法包括布爾模型、向量空間模型(VSM)和機率模型。其中最為廣泛使用的是向量空間模型。

經典的向量空間模型(VSM: Vector Space Model)由Salton等人于60年代提出,并成功地應用于著名的SMART文字檢索系統。VSM概念非常直覺——把對文本内容的處理簡化為向量空間中的向量運算,并且它以空間上的相似度表達語義的相似度,直覺易懂。當文檔被表示為文檔空間的向量,就可以通過計算向量之間的相似性來度量文檔間的相似性。文本進行中最常用的相似性度量方式是餘弦距離。文本挖掘系統采用向量空間模型,用特征詞條(T1,T2,…Tn)及其權值Wi代表目标資訊,在進行資訊比對時,使用這些特征項評價未知文本與目标樣本的相關程度。特征詞條及其權值的選取稱為目标樣本的特征提取,特征提取算法的優劣将直接影響到系統的運作效果。

設D為一個包含m個文檔的文檔集合,Di為第i個文檔的特征向量,則有D={D1,D2,…,Dm}, Di=(di1,di2,…,dij),i=1,2,…,m j=1,2,…,n。其中dij(i=1,2,…,m;j=1,2,…,n)為文檔Di中第j個詞條tj的權值,它一般被定義為tj在Di中出現的頻率tij的函數,例如采用TF-IDF函數,即dij=tij*log(N/nj)。其中,N是文檔資料庫中文檔總數,nj是文檔資料庫含有詞條tj的文檔數目。假設使用者給定的文檔向量為D2,未知的文檔向量為q,兩者的相似程度可用兩向量的夾角餘弦來度量,夾角越小說明相似度越高。相似度的計算公式如下:

圖 2向量空間模型

通過上述的向量空間模型,文本資料就轉換成了計算機可以處理的結構化資料,兩個文檔之間的相似性問題轉變成了兩個向量之間的相似性問題。

2.2   中文分詞技術

在使用向量模型表示文檔時,首先要對文檔進行詞彙化處理。對于英語或者法語等語言來說,将文檔轉化成詞的集合比較簡單,但是對于漢語來說,不像英文文本的單詞那樣有空格來區分,這個處理過程要依賴于分詞技術。從簡單的查詞典的方法,到後來的基于統計語言模型的分詞方法,中文分詞的技術已趨于成熟。但是,盡管現在分詞軟體的準确率已經比較高了,它對專業術語(稱為未登入詞識别)的識别率還不是很好。例如“來自星星的你”,分詞可以成功切分為“來自\星星\的\你”,但是怎樣把“來自星星的你”作為一個完整的專有名詞(電視劇名稱)識别出來,還有很多技術要解決。為了進一步提高關鍵詞抽取的準确率,通常需要在詞庫中添加專名詞表來保證分詞的品質。

在完成分詞之後,我們對詞語的位置資訊做進一步的發掘,需要确定記錄位置資訊的方式以及各個位置的詞在反映主題時的相對重要性。标題、摘要和結論、正文等文章各個部分的位置權重是各不相同的,當軟體逐詞掃描統計詞頻時,記錄每個詞的位置資訊。

在計算文檔的特征向量的值時,還需要對文本集進行一些處理,過濾掉無用的資訊。濾除這些沒有作用的詞語可以減少文本特征向量的維數,減少不必要的運算。常見做法包括:

  • 去掉一些低頻詞,比如某些單詞隻在一兩個文本中出現過,這樣詞留在集合中會導緻大部分文本樣本的該屬性值為0。
  • 去掉停止詞,一般這種詞幾乎不攜帶任何資訊。例如:“的”、“地”、“得”之類的助詞,以及像“然而”、“是以”等隻能反映句子文法結構的詞語,它們不但不能反映文獻的主題,而且還會對關鍵詞的抽取造成幹擾,有必要将其濾除。去停用詞确定為所有虛詞以及标點符号。
  • 去掉一些标記資訊,這主要針對網頁文本或其他的标記語言文本。

3      特征抽取

3.1    文本特征抽取

目前大多數中文文本分類系統都采用詞作為特征項,稱作特征詞。這些特征詞作為文檔的中間表示形式,用來實作文檔與文檔、文檔與使用者目标之間的相似度計算 。如果把所有的詞都作為特征項,那麼特征向量的維數将過于巨大,會對分類系統的運算性能造成極大的壓力。在這樣的情況下,要完成文本分類幾乎是不可能的。尋求一種有效的特征降維方法,不僅能降低運算複雜度,還能提高分類的效率和精度,是以事文本自動分類中一項重要技術。

特征抽取的主要功能就是在不損傷核心資訊的情況下降低向量空間維數,簡化計算,提高文本處理的速度和效率。相對于其他分類問題,文本特征抽取的方式常見的有4種:

  1. 用映射或變換的方法把原始特征變換為較少的新特征;
  2. 從原始特征中挑選出一些最具代表性的特征;
  3. 根據專家的知識挑選最有影響的特征;
  4. 基于數學方法進行選取,找出最具分類資訊的特征。

    其中基于數學方法進行特征選擇比較精确,人為因素幹擾少,尤其适合于文本應用。這種方法通過構造評估函數,對特征集合中的每個特征進行評估,并對每個特征打分,這樣每個詞語都獲得一個評估值,又稱為權值,然後将所有特征按權值大小排序,提取預定數目的最優特征作為提取結果的特征子集。

3.2    評估函數

對用數學方法進行特征選擇的算法,決定文本特征提取效果的主要因素是評估函數的品質,常用評估函數包括:

  1. TF-IDF

    單詞權重最為有效的實作方法就是TF-IDF, 它是由Salton在1988 年提出的。其中TF 稱為詞頻, 用于計算該詞描述文檔内容的能力; IDF 稱為反文檔頻率, 用于計算該詞區分文檔的能力。TF*IDF 的指導思想建立在這樣一條基本假設之上: 在一個文本中出現很多次的單詞, 在另一個同類文本中出現次數也會很多, 反之亦然。是以如果特征空間坐标系取TF 詞頻作為測度, 就可以展現同類文本的特點。另外還要考慮單詞差別不同類别的能力, TF*IDF 法認為一個單詞出現的文本頻率越小, 它差別不同類别的能力就越大, 是以引入了逆文本頻度IDF 的概念, 以TF 和IDF 的乘積作為特征空間坐标系的取值測度。TF-IDF 法是以特征詞在文檔d中出現的次數與包含該特征詞的文檔數之比作為該詞的權重,即其中, Wi表示第i個特征詞的權重,TFi(t,d)表示詞t在文檔d中的出現頻率,N表示總的文檔數,DF(t)表示包含t的文檔數。用TF-IDF算法來計算特征詞的權重值是表示當一個詞在這篇文檔中出現的頻率越高,同時在其他文檔中出現的次數越少,則表明該詞對于表示這篇文檔的區分能力越強,是以其權重值就應該越大。将所有詞的權值排序, 根據需要可以有兩種選擇方式:

  1. 選擇權值最大的某一固定數n個關鍵詞;
  2. 選擇權值大于某一門檻值的關鍵詞。

    達觀資料的實踐經驗是,計算機機選擇的關鍵詞數量在10∽15個,人工選擇的關鍵詞數量在4∽6個比較合适, 通常具有最好的覆寫度和專指度。TFIDF算法是建立在這樣一個假設之上的:對差別文檔最有意義的詞語應該是那些在文檔中出現頻率高,而在整個文檔集合的其他文檔中出現頻率少的詞語,是以如果特征空間坐标系取TF詞頻作為測度,就可以展現同類文本的特點。另外考慮到單詞差別不同類别的能力,TFIDF法認為一個單詞出現的文本頻數越小,它差別不同類别文本的能力就越大。是以引入了逆文本頻度IDF的概念,以TF和IDF的乘積作為特征空間坐标系的取值測度,并用它完成對權值TF的調整,調整權值的目的在于突出重要單詞,抑制次要單詞。但是在本質上IDF是一種試圖抑制噪音的權重 ,并且單純地認為文本頻數小的單詞就越重要,文本頻數大的單詞就越無用,顯然這并不是完全正确的。IDF的簡單結構并不能有效地反映單詞的重要程度和特征詞的分布情況,使其無法很好地完成對權值調整的功能,是以TF*IDF法的精度并不是很高。此外,在TFIDF算法中并沒有展現出單詞的位置資訊,對于Web文檔而言,權重的計算方法應該展現出HTML的結構特征。特征詞在不同的标記符中對文章内容的反映程度不同,其權重的計算方法也應不同。是以應該對于處于網頁不同位置的特征詞分别賦予不同的系數,然後乘以特征詞的詞頻,以提高文本表示的效果。

  1. 詞頻法

    詞頻是一個詞在文檔中出現的次數。通過詞頻進行特征選擇就是将詞頻小于某一門檻值的詞删除,進而降低特征空間的維數。這個方法是基于這樣一個假設,即出現頻率小的詞對過濾的影響也較小。但是在資訊檢索的研究中認為,有時頻率小的詞含有更多的資訊。是以,在特征選擇的過程中不宜簡單地根據詞頻大幅度删詞。

  2. 文檔頻次法

    文檔頻數(Document Frequency, DF)是最為簡單的一種特征選擇算法,它指的是在整個資料集中有多少個文本包含這個單詞。在訓練文本集中對每個特征計一算它的文檔頻次,并且根據預先設定的闌值去除那些文檔頻次特别低和特别高的特征。文檔頻次通過在訓練文檔數量中計算線性近似複雜度來衡量巨大的文檔集,計算複雜度較低,能夠适用于任何語料,是以是特征降維的常用方法。在訓練文本集中對每個特征計算它的文檔頻數,若該項的DF 值小于某個門檻值則将其删除,若其DF 值大于某個門檻值也将其去掉。因為他們分别代表了“沒有代表性”和“沒有區分度”兩種極端的情況。DF 特征選取使稀有詞要麼不含有用資訊,要麼太少而不足以對分類産生影響,要麼是噪音,是以可删去。DF 的優點在于計算量小, 速度快,它的時間複雜度和文本數量成線性關系,是以非常适合于超大規模文本資料集的特征選擇。不僅如此,文檔頻數還非常地高效,在有監督的特征選擇應用中當删除90%單詞的時候其性能與資訊增益和x2 統計的性能還不相上下。但如果某一稀有詞條主要出現在某類訓練集中,卻能很好地反映類别的特征,而因低于某個設定的門檻值而濾除掉,包含着重要的判斷資訊被舍棄,這樣就會對分類精度有一定的影響。

  3. 互資訊方法

    互資訊(Mutual Information)衡量的是某個詞和類别之間的統計獨立關系,某個詞t和某個類别Ci傳統的互資訊定義如下:互資訊是計算語言學模型分析的常用方法,它度量兩個對象之間的互相性。在過濾問題中用于度量特征對于主題的區分度。

    互資訊的定義與交叉嫡近似。互資訊本來是資訊論中的一個概念,用于表示資訊之間的關系, 是兩個随機變量統計相關性的測度,使用互資訊理論進行特征抽取是基于如下假設:在某個特定類别出現頻率高,但在其他類别出現頻率比較低的詞條與該類的互資訊比較大。通常用互資訊作為特征詞和類别之問的測度,如果特征詞屬于該類的話,它們的互資訊量最大。由于該方法不需要對特征詞和類别之問關系的性質作任何假設,是以非常适合于文本分類的特征和類别的配準工作。特征項和類别的互資訊展現了特征項與類别的相關程度, 是一種廣泛用于建立詞關聯統計模型的标準。

    互資訊與期望交叉熵的不同在于沒有考慮特征出現的頻率, 這樣導緻互資訊評估函數不選擇高頻的有用詞而有可能選擇稀有詞作為文本的最佳特征。因為對于每一主題來講,特征t的互資訊越大,說明它與該主題的共現機率越大,是以,以互資訊作為提取特征的評價時應選互資訊最大的若幹個特征。互資訊計算的時間複雜度類似于資訊增益, 互資訊的平均值就是資訊增益。互資訊的不足之處在于得分非常受詞條邊緣機率的影響。達觀的實驗資料顯示,互資訊分類效果通常比較差,其次是文檔頻率、CC 統計,CHI 統計分類效果最好。

    對互資訊而言,提高分類精度的方法有:1) 可以增加特征空間的維數,以提取足夠多的特征資訊,這樣就會帶來了時間和空間上的額外開銷;2) 根據互資訊函數的定義,認為這些低頻詞攜帶着較為強烈的類别資訊,進而對它們有不同程度的倚重. 當訓練語料庫沒有達到一定規模的時候,特征空間中必然會存在大量的出現文檔頻率很低(比如低于3 次) 的詞條,他們較低的文檔頻率導緻了他們必然隻屬于少數類别. 但是從抽取出來的特征詞觀察發現,大多數為生僻詞,很少一部分确實帶有較強的類别資訊,多數詞攜帶少量的類别資訊,甚至是噪音詞

  4. 期望交叉熵(Expected Cross Entropy)

    交叉嫡與資訊量的定義近似,其公式為:交叉嫡 ,也稱KL距離。它反映了文本主題類的機率分布和在出現了某特定詞彙的條件下文本主題類的機率分布之間的距離,詞彙w的交叉嫡越大,對文本主題類分布的影響也越大。它與資訊增益唯一的不同之處在于沒有考慮單詞未發生的情況,隻計算出現在文本中的特征項。如果特征項和類别強相關, P(Ci|w)就大,若P(Ci) 又很小的話,則說明該特征對分類的影響大。交叉熵反映了文本類别的機率分布和在出現了某個特定詞的條件下文本類别的機率分布之間的距離, 特征詞t 的交叉熵越大, 對文本類别分布的影響也越大。熵的特征選擇效果都要優于資訊增益。

  5. 二次資訊熵(QEMI)

    将二次熵函數應用于互資訊評估方法中,取代互資訊中的Shannon熵,就形成了基于二次熵的互資訊評估函數。基于二次熵的互資訊克服了互資訊的随機性,是一個确定的量,是以可以作為資訊的整體測度,另外它還比互資訊最大化的計算複雜度要小,是以可以比較高效地用在基于分類的特征選取上。

  6. 資訊增益方法(Information Gain)

    資訊增益方法是機器學習的常用方法,在過濾問題中用于度量已知一個特征是否出現于某主題相關文本中對于該主題預測有多少資訊。通過計算資訊增益可以得到那些在正例樣本中出現頻率高而在反例樣本中出現頻率低的特征,以及那些在反例樣本中出現頻率高而在正例樣本中出現頻率低的特征。資訊增益G(w)的訓算公式如下:其中P(w)是詞w出現的機率,P(Ci)是取第i個目錄時的機率,P(C,|w) 是假定w出現時取第i個目錄的機率。

    資訊增益是一種基于熵的評估方法,涉及較多的數學理論和複雜的熵理論公式,定義為某特征項為整個分類所能提供的資訊量,不考慮任何特征的熵與考慮該特征後的熵的內插補點。他根據訓練資料,計算出各個特征項的資訊增益,删除資訊增益很小的項,其餘的按照資訊增益從大到小排序。資訊增益是資訊論中的一個重要概念, 它表示了某一個特征項的存在與否對類别預測的影響, 定義為考慮某一特征項在文本中出現前後的資訊熵之差。某個特征項的資訊增益值越大, 貢獻越大, 對分類也越重要。資訊增益方法的不足之處在于它考慮了特征未發生的情況。特别是在類分布和特征值分布高度不平衡的情況下, 絕大多數類都是負類, 絕大多數特征都不出現。此時的函數值由不出現的特征決定, 是以, 資訊增益的效果就會大大降低。資訊增益表現出的分類性能偏低。因為資訊增益考慮了文本特征未發生的情況,雖然特征不出現的情況腫可能對文本類别具有貢獻,但這種貢獻往往小于考慮這種情況時對特征分值帶來的幹擾。

  7. 統計量方法

    x2統計量用于度量特征w和主題類C之間的獨立性。而表示除w以外的其他特征,C表示除C以外的其他主題類,那麼特征w和主題類C的關系有以下四種情況: ,用A, B, C, D表示這四種情況的文檔頻次,總的文檔數N=A+B+C+D,擴統計量的計算公式如下:當特征w和主題類C之間完全獨立的時候,x2統計量為0。x2統計量和互資訊的差别在于它是歸一化的統計量,但是它對低頻特征的區分效果也不好。X2 統計得分的計算有二次複雜度, 相似于互資訊和資訊增益。在 X2 統計和互資訊之間主要的不同在于 X2 是規格化評價, 因而 X2 評估分值對在同類中的詞是可比的, 但是 X2 統計對于低頻詞來說是不可靠的。

    利用x2 統計方法來進行特征抽取是基于如下假設:在指定類别文本中出現頻率高的詞條與在其他類别文本中出現頻率比較高的詞條,對判定文檔是否屬于該類别都是很有幫助的.采用x2估計特征選擇算法的準确率在實驗中最高,其分類效果受訓練集影響較小,比較穩定。而且在對文教類和政治類存在類别交叉現象的文本進行分類時,采用x2估計的分類系統表現出了優于其它方法的分類性能。X2估計的可靠性較好,便于對程式的控制,無需因訓練集的改變而人為的調節特征閥值的大小。

  8. 文本證據權(The Weight of Evidence for Text)

    文本證據權衡量類的機率和給定特征時類的條件機率之間的差别。

  9. 優勢率(Odds Ratio)

    優勢率隻适用于二進制分類的情況,其特點是隻關心文本特征對于目标類的分值。Pos表示目标類,neg表示非目标類。

  10. 遺傳算法(Genetic Algorithm, GA):

    遺傳算法(Genetic Algorithm, GA)是一種通用型的優化搜尋方法,它利用結構化的随機資訊交換技術組合群體中各個結構中最好的生存因素,複制出最佳代碼串,并使之一代一代地進化,最終獲得滿意的優化結果。

    文本實際上可以看作是由衆多的特征詞條構成的多元空間,而特征向量的選擇就是多元空間中的尋優過程,是以在文本特征提取研究中可以使用高效尋優算法。在将文本特征提取問題轉化為文本空間的尋優過程中,首先對Web文本空間進行遺傳編碼,以文本向量構成染色體,通過選擇、交叉、變異等遺傳操作,不斷搜尋問題域空間,使其不斷得到進化,逐漸得到Web文本的最優特征向量。
基于協同演化的遺傳算法不是使用固定的環境來評價個體,而是使用其他的個體來評價特定個體。基于協同演化的遺傳算法不僅能反映其母體的特征,還能反映其他同類文本的共性,這樣可以有效地解決同一主題衆多文本的集體特征向量的提取問題,獲得反映整個文本集合某些特征的最佳個體。

  11. 主成分分析法(Principal Component Analysis,PCA)

    PCA是非常常用的一種通用特征降維方法,也同樣大規模用于文本特征抽取中,基于其處理方式的不同又分為資料方法和矩陣方法。

    矩陣方法中,所有的資料通過計算方差一協方差結構在矩陣中表示出來,矩陣的實作目标是确定協方差矩陣的特征向量,它們和原始資料的主要成分相對應。在主成分方法中,由于矩陣方法的複雜度在n很大的情況 以二次方增長,是以人們又開發使用了主要使用Hebbian學習規則的PCA神經網絡方法。主成分分析法是特征選取常用的方法之一,它能夠揭示更多有關變量_豐要方向的資訊。但它的問題在于矩陣方法中要使用奇異值分解對角化矩陣求解方差一協方差。

  12. 模拟退火算法(Simulating Anneal,SA)

    特征選取可以看成是一個組合優化問題,因而可以使用解決優化問題的方法來解決特征選取的問題。模拟退火算法(Simulating Anneal,SA)就是其中一種方法。模拟退火算法是一個很好的解決優化問題的方法,将這個方法運用到特征選取中,理論上能夠找到全局最優解,但在初始溫度的選取和鄰域的選取t要恰當,必須要找到一個比較折中的辦法,綜合考慮解的性能和算法的速度。

  13. N—Gram算法

    它的基本思想是将文本内容按位元組流進行大小為N的滑動視窗操作,形成長度為N的位元組片段序列。每個位元組片段稱為gram,對全部gram的出現頻度進行統計,并按照事先設定的門檻值進行過濾,形成關鍵gram清單,即為該文本的特征向量空間,每一種gram則為特征向量次元。

    由于N—Gram算法可以避免中文分詞的障礙,是以對中文分類有較高的實用性。中文文本處理大多采用雙位元組進行分解,稱之為bi-gram。但是bigram切分方法在處理20%左右的中文多字詞時,往往産生語義和語序方面的偏差。而對于專業研究領域,多字詞常常是文本的核心特征,處理錯誤會導緻較大的負面影響。基于N—Gram改進的文本特征提取算法,在進行bigram切分時,不僅統計gram的出現頻度,而且還統計某個gram與其前鄰gram的情況,并将其記錄在gram關聯矩陣中。對于那些連續出現頻率大于事先設定門檻值的,就将其合并成為多字特征詞。這樣通過統計與合并雙字特征詞,自動産生多字特征詞,可以較好地彌補N—Gram算法在處理多字詞方面的缺陷。

3.3    評估函數對比分析

上述羅列的幾種文檔特征評估函數的特點如何呢?資訊增益的定義過于複雜,是以應用較多的是交叉嫡和互資訊。其中互資訊的效果要好于交叉嫡,這是因為互資訊是對不同的主題類分别抽取特征詞,而交叉嫡跟特征在全部主題類内的分布有關,是對全部主題類來抽取特征詞。這些方法,在英文特征提取方面都有各自的優勢,但用于中文文本,并沒有很高的效率。主要有2 個方面的原因:

1) 特征提取的計算量太大,特征提取效率太低,而特征提取的效率直接影響到整個文本分類系統的效率;

2) 經過特征提取後生成的特征向量維數太高,而且不能直接計算出特征向量中各個特征詞的權重。

目前使用評估函數進行特征選取越來越普遍,特征選取算法通過構造一個評估函數的方法,選取預定數目的最佳特征作為特征子集的結果。在幾種評估方法中,每一種方法都有一個選詞标準,遵從這個标準,從文本集的所有詞彙中選取出有某個限定範圍的特征詞集。因為評估函數的構造不是特别複雜,适用範圍又很廣泛,是以越來越多的人們喜歡使用構造評估函數來進行特征的選取,這些評估函數在Web文本挖掘中被廣泛使用,特征選擇精度普遍達到70%~80%,但也各自存在缺點和不足。例如,“資訊增益”考慮了單詞未發生的情況,對判斷文本類别貢獻不大,而且引入不必要的幹擾,特别是在處理類分布和特征值分布高度不平衡的資料時選擇精度下降。“期望交叉熵”與“資訊增益”的唯一不同就是沒有考慮單詞未發生的情況,是以不論處理哪種資料集,它的特征選擇精度都優于“資訊增益”。與“期望交叉熵”相比,“互資訊”沒有考慮單詞發生的頻度,這是一個很大的缺點,造成“互資訊”評估函數經常傾向于選擇稀有單詞。“文本證據權”是一種構造比較新穎的評估函數,它衡量一般類的機率和給定特征類的條件機率之間的差别,這樣在文本進行中,就不需要計算W的所有可能值,而僅考慮W在文本中出現的情況。“優勢率”不像前面所述的其他評估函數将所有類同等對待,它隻關心目标類值,是以特别适用于二進制分類器,可以盡可能多地識别正類,而不關心識别出負類。從考慮文本類間相關性的角度,可以把常用的評估函數分為兩類,即類間不相關的和類間相關的

“文檔頻數”(DF)是典型的類間不相關評估函數, DF的排序标準是依據特征詞在文檔中出現篇數的百分比,或稱為篇章覆寫率。這種類型的評估函數,為了提高區分度,要盡量尋找篇章覆寫率較高的特征詞,但又要避免選擇在各類文本中都多次出現的無意義高頻詞,是以類間不相關評估函數對停用詞表的要求很高。但是,很難建立适用于多個類的停用詞表,停用詞不能選擇太多,也不能選擇太少,否則都将會影響特征詞的選擇。同時,類間不相關評估函數還存在一個明顯的缺點,就是對于特征詞有交叉的類别或特征相近的類别,選擇的特征詞會出現很多相似或相同的詞條,造成在特定類别間的區分度下降。類間相關的評估函數,例如期望交叉熵、互資訊、文本證據權等,綜合考慮了詞條在已定義的所有類别中的出現情況,可以通過調整特征詞的權重,選擇出區分度更好的特征,在一定程度上提高了相近類别的區分度。但是,該區分度的提高僅展現在已定義的類别間,而對于尚未定義的域外類别,類間相關評估函數的選擇效果也不理想。是以,在評估函數選擇問題上,提高對域外類别文本的區分度是十分重要的研究課題。 

傳統的特征選擇方法大多采用以上各評估函數進行特征權重的計算,由于這些評估函數是基于統計學的,其中一個主要缺陷就是需要用一個很龐大的訓練集才能獲得幾乎所有的對分類起關鍵作用的特征.這需要消耗大量的時間和空間資源,況且,建構這樣一個龐大的訓練集也是一項十分艱巨的工作。然而,在現實應用中,考慮到工作效率,不會也沒有足夠的資源去建構一個龐大的訓練集,這樣的結果就是:被選中的甚至是權重比較高的特征,可能對分類沒有什麼用處,反而會幹涉到正确的分類;而真正有用的特征卻因為出現的頻率低而獲得較低的權重,甚至在降低特征空間維數的時候被删除掉了。基于評估函數的特征提取方法是建立在特征獨立的假設基礎上,但在實際中這個假設是很難成立的,是以需要考慮特征相關條件下的文本特征提取方法。

3.4    詞向量的應用

特征選擇也可以通過用映射或變換的方法把原始特征變換為較少的新特征。上面提到的特征選擇子產品,在實際情況會碰到這樣的問題:無論是采用文檔頻率、資訊增益法、互資訊法等得降維方法,都會損失了部分的文檔資訊。以文檔頻率為例,在特征選擇過程中由于某些關鍵的詞語低于了人為設定的門檻值,是以會被直接忽視掉,而很多情況這部分詞彙能包含較多的資訊,對于分類的重要性比較大。怎麼能夠進一步了解這部分的資訊,是急需要解決的問題。一個想法是找到這些使用頻率比較低的詞語相似的高頻詞,譬如在讨論“月亮”的古詩詞中,包含了很多低頻的同義詞,如“玉兔”,“婵娟”等,如果我們能把這些低頻的詞語合并到一個次元,無疑是能夠增強分類系統對文檔的了解深度的。詞向量這一概念能夠有效地表示詞語之間的相似性,适用于這種方法。

先介紹一下詞向量的定義。一種最簡單的詞向量是one-hot representation,就是用一個很長的向量來表示一個詞,向量的長度是詞典D的大小N,向量的分量隻有一個為1,其他全為0,1的位置對應該詞在詞典中的索引。這種詞向量表示有一些缺點:容易受維數災難的困擾。另一種詞向量是Distributed Representation,它最早是Hinton于1986年提出來的,可以克服one-hot representation的上述缺點。其基本想法是:通過訓練将某種語言中的每個詞映射成一個固定長度的短向量。所有這些向量構成一個詞向量空間,每個向量是該空間中的一個點,在這個空間上引入距離,就可以根據詞之間的距離來判斷它們之間的(詞法、語義上的)相似性了。如何擷取Distributed Representation的詞向量呢?有很多不同的模型可以用來估計詞向量,包括有名的LSA、LDA和神經網絡算法。Word2Vec就是使用度比較廣的一個神經網絡算法實作的詞向量計算工具。

現介紹詞向量在分類系統上的具體實踐。Word2Vec能夠将詞映射成一個固定長度的短向量,是以生成了文檔集合詞語的向量表示。由于向量的距離代表了詞語之間的相似性,我們可以通過聚類的方法(譬如K-Means)把相似的詞語合并到一個次元,重新計算該次元的特征向量權值。相比于原來的方法,使用詞向量能在一定程度保留了文檔的資訊。此外,Word2Vec作為無監督學習方法的一個實作,能夠允許它從無标注的文本進行訓練,能進一步提升系統的性能。(達觀資料張健)

另外,基于向量空間模型的文本分類方法是沒有考慮到詞的順序的。基于卷積神經網絡(CNN)來做文本分類,可以利用到詞的順序包含的資訊。CNN模型把原始文本作為輸入,不需要太多的人工特征。下圖是CNN模型的一個實作,共分四層,第一層是詞向量層,doc中的每個詞,都将其映射到詞向量空間,假設詞向量為k維,則n個詞映射後,相當于生成一張n*k維的圖像;第二層是卷積層,多個濾波器作用于詞向量層,不同濾波器生成不同的feature map;第三層是pooling層,取每個feature map的最大值,這樣操作可以處理變長文檔,因為第三層輸出隻依賴于濾波器的個數;第四層是一個全連接配接的softmax層,輸出是每個類目的機率。除此之外,輸入層可以有兩個channel,其中一個channel采用預先利用word2vec訓練好的詞向量,另一個channel的詞向量可以通過backpropagation在訓練過程中調整。

圖 3基于卷積神經網絡的文本分類算法

4      特征向量權值計算

特征權重用于衡量某個特征項在文檔表示中的重要程度或區分能力的強弱。選擇合适的權重計算方法,對文本分類系統的分類效果能有較大的提升作用。影響特征詞權值的因素包括以下幾點:

  1. 詞頻和文檔頻度,

    詞頻和文檔頻度,是特征項最重要的影響因素。文本内中的中頻詞往往具有代表性,高頻詞區分能力較小,而低頻詞或者示出現詞也常常可以做為關鍵特征詞。而對于文檔頻度這一角度,出現文檔多的特征詞,分類區分能力較差,出現文檔少的特征詞更能代表文本的不同主題。結合詞頻和文檔頻度來評估特征的重要性有較強的區分能力,它們在不同方法中有不同的應用公式,這些方法包括:絕對詞頻(TF)、倒排文檔頻度(IDF)、TF-IDF、TFC、ITC、TF-IWF,如下:

  1. 絕對詞頻(TF):直接使用特征項在文本中出現的頻度;
  2. 倒排文檔頻度(IDF):稀有特征比常用特征含有更新的資訊;
  3. TF-IDF: 權重與特征項在文檔中出現的頻率成正比,與在整個語料中出現該特征項的文檔書成反比;
  4. TFC:對文本長度進行歸一化處理後的TF-IDF;
  5. ITC:在TFC基礎上,用tf的對數值代替tf值;
  6. TF-IWF:在TF-IDF算法的基礎上,用特征項頻率倒數的對數值IWF代替IDF,并且用IWF的平方平衡權重值對于特征項頻率的倚重。
  1. 詞性

    漢語言中,能辨別文本特性的往往是文本中的實詞,如名詞、動詞、形容詞等。而文本中的一些虛詞,如感歎詞、介詞、連詞等,對于辨別文本的類别特性并沒有貢獻,也就是對确定文本類别沒有意義的詞。如果把這些對文本分類沒有意思的虛詞作為文本特征詞,将會帶來很大噪音,進而直接降低文本分類的效率和準确率。是以,在提取文本特征時,應首先考慮剔除這些對文本分類沒有用處的虛詞,而在實詞中,又以名詞和動詞對于文本的類别特性的表現力最強,是以可以隻提取文本中的名詞和動詞作為文本的一級特征詞。

  2. 标題

    标題是作者給出的提示文章内容的短語,特别在新聞領域,新聞報道的标題一般都要求要簡練、醒目,有不少縮略語,與報道的主要内容有着重要的聯系,對摘要内容的影響不可忽視。統計分析表明,小标題的識别有助于準确地把握文章的主題。主要展現在兩個方面:正确識别小标題可以很好地把握文章的整體架構,理清文章的結構層次;同時,小标題本身是文章中心内容的高度概括。是以,小标題的正确識别能在一定程度上提高文摘的品質。

  3. 位置

    美國的EE.Baxendale的調查結果顯示:段落的論題是段落首句的機率為85%,是段落末句的機率為7%。而且新聞報道性文章的形式特征決定了第一段一般是揭示文章主要内容的。是以,有必要提高處于特殊位置的句子權重,特别是報道的首旬和末句。但是這種現象又不是絕對的,是以,我們不能認為首句和末句就一定是所要摘要的内容,是以可以考慮一個折衷的辦法,即首句和末句的權重上可通過統計數字擴大一個常數倍。首段、末段、段首、段尾、标題和副标題、子标題等處的句子往往在較大程度上概述了文章的内容。對于出現在這些位置的句子應該加大權重。Internet上的文本資訊大多是HTML結構的,對于處于Web文本結構中不同位置的單詞,其相應的表示文本内容或差別文本類别的能力是不同的,是以在單詞權值中應該展現出該詞的位置資訊。

  4. 句法結構

    句式與句子的重要性之間存在着某種聯系,比如摘要中的句子大多是陳述句,而疑問句、感歎句等則不具内容代表性。而通常“總之”、“綜上所述”等一些概括性語義後的句子,包含了文本的中心内容。

  5. 專業詞庫

    通用詞庫包含了大量不會成為特征項的常用詞彙,為了提高系統運作效率,系統根據挖掘目标建立專業的分詞表,這樣可以在保證特征提取準确性的前提下,顯著提高系統的運作效率。使用者并不在乎具體的哪一個詞出現得多,而在乎泛化的哪一類詞出現得多。真正起決定作用的是某一類詞出現的總頻率。基于這一原理,我們可以先将詞通過一些方法依主題領域劃分為多個類,然後為文本提取各個詞類的詞頻特征,以完成對文本的分類。可以通過人工确定領域内的關鍵詞集。

  6. 資訊熵

    熵(Entropy)在資訊論中是一個非常重要的概念,它是不确定性的一種度量。資訊熵方法的基本目的是找出某種符号系統的資訊量和多餘度之間的關系,以便能用最小的成本和消耗來實作最高效率的資料儲存、管理和傳遞。我們将可以将資訊論中的熵原理引入到特征詞權重的計算中。

  7. 文檔、詞語長度

    一般情況下,詞的長度越短,其語義越泛。一般來說,中文中詞長較長的詞往往反映比較具體、下位的概念,而短的詞常常表示相對抽象、上位的概念一般說來,短詞具有較高的頻率和更多的含義,是面向功能的;而長詞的頻率較低,是面向内容的,增加長詞的權重,有利于詞彙進行分割,進而更準确地反映出特征詞在文章中的重要程度。詞語長度通常不被研究者重視。但是本文在實際應用中發現,關鍵詞通常是一些專業學術組合詞彙,長度較一般詞彙長。考慮候選詞的長度,會突出長詞的作用。長度項也可以使用對數函數來平滑詞彙間長度的劇烈差異。通常來說,長詞彙含義更明确,更能反映文本主題,适合作為關鍵詞,是以将包含在長詞彙中低于一定過濾門檻值的短詞彙進行了過濾。所謂過濾門檻值,就是指進行過濾短詞彙的後處理時,短詞彙的權重和長詞彙的權重的比的最大值。如果低于過濾門檻值,則過濾短詞彙,否則保留短詞彙。根據統計,二字詞彙多是常用詞,不适合作為關鍵詞,是以對實際得到的二字關鍵詞可以做出限制。比如,抽取5個關鍵詞,本文最多允許3個二字關鍵詞存在。這樣的後處理無疑會降低關鍵詞抽取的準确度和召回率,但是同候選詞長度項的運用一樣,人工評價效果将會提高。

  8. 詞語間關聯

    詞彙間的關聯關系對提升文本了解的深度有非常重要的影響,例如中文中存在大量的同義詞,近義詞,中文簡稱,指代等。在前文中計算詞頻、出現位置時,如果沒有很好的考慮詞語間關聯,則很容易錯誤的識别文章的核心關鍵詞,影響文本分類精度。

  9. 單詞的區分能力

    在TF*IDF公式的基礎上,又擴充了一項單詞的類區分能力。新擴充的項用于描述單詞與各個類别之間的相關程度。

  10. 詞語直徑(Diameter(t))

    詞語直徑是指詞語在文本中首次出現的位置和末次出現的位置之間的距離。詞語直徑是根據實踐提出的一種統計特征。根據經驗,如果某個詞彙在文本開頭處提到,結尾又提到,那麼它對該文本來說,是個很重要的詞彙。不過統計結果顯示,關鍵詞的直徑分布出現了兩極分化的趨勢,在文本中僅僅出現了1 次的關鍵詞占全部關鍵詞的14.184%。 是以詞語直徑是比較粗糙的度量特征。

  11. 首次出現位置(FirstLoc(t))

    Frank在Kea算法中使用候選詞首次出現位置作為Bayes機率計算的一個主要特征,他稱之為距離(Distance)。簡單的統計可以發現,關鍵詞一般在文章中較早出現,是以出現位置靠前的候選詞應該加大權重。實驗資料表明,首次出現位置和詞語直徑兩個特征隻選擇一個使用就可以了。由于文獻資料加工問題導緻中國學術期刊全文資料庫的全文資料不僅包含文章本身,還包含了作者、作者機構以及引文資訊,針對這個特點,使用首次出現位置這個特征,可以盡可能減少全文資料的附加資訊造成的不良影響。

  12. 詞語分布偏差(Deviation(t))

    詞語分布偏差所考慮的是詞語在文章中的統計分布。在整篇文章中分布均勻的詞語通常是重要的詞彙。詞語的分布偏差計算公式如下: 其中,CurLoc(tj)是詞彙t在文章中第j次出現的位置;MeanLoc(t)是詞彙t在文章中出現的平均位置。

    特征權重計算方法沒有最好的選擇,往往要依據現實的具體場景來選取适合的方法。在進行特征權重的計算之後,已經可以把測試集資料采用機器學習方法進行分類訓練。但是實際操作會遇到一些問題。單詞并不都包含相同的資訊。如果在一部分檔案中有些單詞頻繁地出現,那将擾亂分類系統的分析。我們想要對每一個詞頻向量進行比例縮放,使其變得更具有代表性。換句話說,我們需要進行向量标準化,譬如标準化向量使其L2範數為1。某種程度上,我們得到了一個在該詞的資訊價值上衰減的結果。是以我們需要按比例縮小那些在一篇文檔中頻繁出現的單詞的值。

5      樣本訓練

5.1    文本分類算法

由于文本分類本身是一個分類問題,是以一般的模式分類方法都可以用于文本分類應用中。常用的分類算法包括:

  1. Rocchio分類器

    Rocchio分類器的基本思想是,首先為每一個訓練文本C建立一個特征向量,然後使用訓練文本的特征向量為每個類建立一個原型向量(類向量)。當給定一個待分類文本時,計算待分類文本與各個類别的原型向量之間的距離,然後根據計算出來的距離值決定待分類文本屬于哪一類别。一個基本的實作方法就是把一個類别裡的樣本文檔各項取個平均值,作為原型變量。

  2. 樸素貝葉斯分類器

    利用特征項和類别的列和機率來估計給定文檔的類别機率。假設文本是基于詞的一進制模型,即文本中目前詞的出現依賴于文本類别,但不依賴于其他詞及文本的長度,也就是說,詞與詞之間是獨立的。根據貝葉斯公式,文檔Doc屬于Ci類别的機率為P(Ci|Doc)=P(Doc|Ci)*P(Ci)/P(Doc)。

  3. 基于支援向量機的分類器

    基于支援向量機(SVM)的分類方法主要用于解決二進制模式分類問題。SVM的基本思想是在向量空間中找到一個決策平面,這個平面能夠“最好”地分割兩個分類中的資料點。支援向量機分類法就是要在訓練集中找到具有最大類間界限的決策平面,如圖4。

圖 4基于支援向量機分類器原理圖

  1. k-最近鄰法

    k-最近鄰方法的基本思想是:給定一個測試文檔,系統在訓練集中查找離它最近的k個鄰近文檔,并且根據這些鄰近文檔的分類來給該文檔的候選類别評分。把鄰近文檔和測試文檔的相似度作為鄰近文檔所在類别的權重,如果這k個鄰近文檔中的部分文檔屬于同一個類别,那麼将該類别中每個鄰近文檔的權重求和,并作為該類别和測試文檔的相似度。然後,通過對候選分類評分的排序,給出一個門檻值。

  2. 基于神經網絡的分類器

    神經網絡是人工智能中比較成熟的技術之一,基于該技術的分類器的基本思想是:給每一類文檔履歷一個神經網絡,輸入通常是單詞或者更加複雜的特征向量,通過機器學習方法獲得從輸入到分類的非線性映射。

  3. 決策樹

    決策樹分類器把文本處理過程看作是一個等級分層分解完成的複雜任務。如圖5,決策樹是一棵樹,樹的根節點是整個資料集合空間,每個分結點是對一個單一變量的測試,改測試将資料集合空間分割成兩個或更多個類别,及決策樹可以是二叉樹也可以是多叉樹。每個葉結點是屬于單一類别的記錄。構造決策樹分類器時,首先要通過訓練生成決策樹,然後再通過測試集對決策樹進行修剪。一般可通過遞歸分割的過程建構決策樹,其生成過程通常是自上而下的,選擇分割的方法有很多種,但是目标都是一緻的,就是對目标文檔進行最佳分割。

圖 5決策樹執行個體

5.2    Ensemble方法

我們使用上述的經典分類算法的過程中,很自然的想到一點,我們是否能夠整合多個算法優勢到解決某一個特定分類問題中去?答案是肯定的。通過聚合多個分類器的預測來提高分類的準确率。這種技術稱為Ensemble方法。Ensemble方法是提升機器學習精度的有效手段。它的基本思想,充分利用不同分類器的優勢,取長補短,最後綜合多個分類器的結果。Ensemble可以設定一個目标函數(組合多個分類器),通過訓練得到多個分類器的組合參數(而不是簡單的累加或者多數)。 在Ensemble架構下将分類器分為兩個Level: L1層和L2層。L1層是基礎分類器,前面提到的分類器均可以作為L1層分類器來使用;L2層基于L1層,将L1層的分類結果形成特征向量,再組合一些其他的特征後,形成L2層分類器(如SVM,AdaBoost等)的輸入。這裡需要特别留意的是用于L2層的訓練的樣本必須沒有在訓練L1層時使用過。(達觀資料張健,陳運文)

圖 6 Ensemble架構

6      文本分類評估

針對不同的目的,多種文本分類器性能評價方法被提出,包括召回率、正确率和F-測度值。設定a表示分類器将輸入文本正确分類到某個類别的個數;b表示分類器将輸入文本錯誤分類到某個類别的個數;c表示分類器将輸入文本錯誤地排除在某個類别之外的個數;d表示分類器将輸入文本正确地排除在某個類别之外的個數。

該分類器的召回率、正确率和F-測度值分别采用以下公式計算:

  • 召回率 r = a / (a + c) * 100%
  • 正确率 p = a / (a + b) * 100%
  • F-測度值 F = (2 * p * r) /(p + r)

    由于在分類結果中,對應每個類别都會有一個召回率和正确率,是以,可以根據每個類别的分類結果評價分類器的整體性能,通常方法有兩種:微平均和宏平均。微平均是根據正确率和召回率計算公式直接計算出總得正确率和召回率值。宏平均是指首先計算出每個類别的正确率和召回率,然後對正确率和召回率分别取平均得到總的正确率和召回率。不難看出,宏平均平等對待每一個類别,是以它的值主要受到稀有類别的影響,而微平均平等考慮文檔集中的每一個文檔,是以它的值受到常見類别的影響比較大。

結語

如今我們正處在一個資訊爆炸的時代,如何在這樣一個巨大的資訊海洋中更加有效的發現和使用資訊以及如何利用這個資訊寶庫為人們提供更高品質和智能化的資訊服務,是值得探讨的問題。自動文本分類技術作為處理群組織大量文本資料的關鍵技術,已經成為關注焦點,具有廣泛的應用場景。達觀資料科技非常願意與所有企業分享我們的經驗和能力,助力各個企業享受大資料技術的成果。

繼續閱讀