文字資料的機器學習自動分類方法(上)

本文為第一部分,著重介紹文字預處理以及特徵抽取的方法。
隨著網際網路技術的迅速發展與普及,如何對浩如煙海的資料進行分類、組織和管理,已經成為一個具有重要用途的研究課題。而在這些資料中,文字資料又是數量最大的一類。“文字分類是指在給定分類體系下,根據文字內容自動確定文字類別的過程”(達觀資料科技聯合創始人,張健)。文字分類有著廣泛的應用場景,例如:
新聞網站包含大量報道文章,基於文章內容,需要將這些文章按題材進行自動分類(例如自動劃分成政治、經濟、軍事、體育、娛樂等。
在電子商務網站,使用者進行了交易行為後對商品進行評價分類,商家需要對使用者的評價劃分為正面評價和負面評價,來獲取各個商品的使用者反饋統計情況。
電子郵箱頻繁接收到垃圾廣告資訊,通過文字分類技術從眾多的郵件中識別垃圾郵件並過濾,提高了郵箱使用者的使用效率。
媒體每日有大量投稿,依靠文字分類技術能夠對文章進行自動稽核,標記投稿中的色情、暴力、政治、垃圾廣告等違規內容。
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=(di1di2…dij),i=12,…,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。
去掉停止詞,一般這種詞幾乎不攜帶任何資訊。例如:“的”、“地”、“得”之類的助詞,以及像“然而”、“因此”等只能反映句子語法結構的詞語,它們不但不能反映文獻的主題,而且還會對關鍵詞的抽取造成干擾,有必要將其濾除。應該去掉的停止詞為所有虛詞以及標點符號。
去掉一些標記資訊,這主要針對網頁文字或其他的標記語言文字。
(二):特徵抽取
1.文字特徵抽取
目前大多數中文文字分類系統都採用詞作為特徵項,作為特徵項的詞稱作特徵詞。這些特徵詞作為文件的中間表示形式,用來實現文件與文件、文件與使用者目標之間的相似度計算 。如果把所有的詞都作為特徵項,那麼特徵向量的維數將過於巨大,會對分類系統的運算效能造成極大的壓力。在這樣的情況下,要完成文字分類幾乎是不可能的。尋求一種有效的特徵降維方法,不僅能降低運算複雜度,還能提高分類的效率和精度,是文字自動分類中一項重要技術。
特徵抽取的主要功能就是在不損傷核心資訊的情況下降低向量空間維數,簡化計算,提高文字處理的速度和效率。相對於其他分類問題,文字特徵抽取的方式常見的有4種:

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

其中基於數學方法進行特徵選擇比較精確,人為因素干擾少,尤其適合於文字應用。這種方法通過構造評估函式,對特徵集合中的每個特徵進行評估,並對每個特徵打分,這樣每個詞語都獲得一個評估值,又稱為權值,然後將所有特徵按權值大小排序,提取預定數目的最優特徵作為提取結果的特徵子集。
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演算法來計算特徵詞的權重值是表示當一個詞在這篇文件中出現的頻率越高,同時在其他文件中出現的次數越少,則表明該詞對於表示這篇文件的區分能力越強,所以其權重值就應該越大。將所有詞的權值排序, 根據需要可以有兩種選擇方式:

  • 選擇權值最大的某一固定數n個關鍵詞
  • 選擇權值大於某一閾值的關鍵詞

達觀資料的實踐經驗是,計算機選擇的關鍵詞數量在10∽15個,人工選擇的關鍵詞數量在4∽6個比較合適, 通常具有最好的覆蓋度和專指度。TFIDF演算法是建立在這樣一個假設之上的:對區別文件最有意義的詞語應該是那些在文件中出現頻率高,而在整個文件集合的其他文件中出現頻率少的詞語,所以如果特徵空間座標系取TF詞頻作為測度,就可以體現同類文字的特點。另外考慮到單詞區別不同類別的能力,TFIDF法認為一個單詞出現的文字頻數越小,它區別不同類別文字的能力就越大。因此引入了逆文字頻度IDF的概念,以TF和IDF的乘積作為特徵空間座標系的取值測度,並用它完成對權值TF的調整,調整權值的目的在於突出重要單詞,抑制次要單詞。但是在本質上IDF是一種試圖抑制噪音的加權 ,並且單純地認為文字頻數小的單詞就越重要,文字頻數大的單詞就越無用,顯然這並不是完全正確的。IDF的簡單結構並不能有效地反映單詞的重要程度和特徵詞的分佈情況,使其無法很好地完成對權值調整的功能,所以TF*IDF法的精度並不是很高。此外,在TFIDF演算法中並沒有體現出單詞的位置資訊,對於Web文件而言,權重的計算方法應該體現出HTML的結構特徵。特徵詞在不同的標記符中對文章內容的反映程度不同,其權重的計算方法也應不同。因此應該對於處於網頁不同位置的特徵詞分別賦予不同的係數,然後乘以特徵詞的詞頻,以提高文字表示的效果。
(2) 詞頻法
詞頻是一個詞在文件中出現的次數。通過詞頻進行特徵選擇就是將詞頻小於某一閾值的詞刪除,從而降低特徵空間的維數。這個方法是基於這樣一個假設,即出現頻率小的詞對過濾的影響也較小。但是在資訊檢索的研究中認為,有時頻率小的詞含有更多的資訊。因此,在特徵選擇的過程中不宜簡單地根據詞頻大幅度刪詞。
(3) 文件頻次法
文件頻數(Document Frequency, DF)是最為簡單的一種特徵選擇演算法,它指的是在整個資料集中有多少個文字包含這個單詞。在訓練文字集中對每個特徵計一算它的文件頻次,並且根據預先設定的闌值去除那些文件頻次特別低和特別高的特徵。文件頻次通過在訓練文件數量中計算線性近似複雜度來衡量巨大的文件集,計算複雜度較低,能夠適用於任何語料,因此是特徵降維的常用方法。在訓練文字集中對每個特徵計算它的文件頻數,若該項的DF 值小於某個閾值則將其刪除,若其DF 值大於某個閾值也將其去掉。因為他們分別代表了“沒有代表性”和“沒有區分度”兩種極端的情況。DF 特徵選取使稀有詞要麼不含有用資訊,要麼太少而不足以對分類產生影響,要麼是噪音,所以可刪去。DF 的優點在於計算量小, 速度快,它的時間複雜度和文字數量成線性關係,所以非常適合於超大規模文字資料集的特徵選擇。不僅如此,文件頻數還非常地高效,在有監督的特徵選擇應用中當刪除90%單詞的時候其效能與資訊增益和x2 統計的效能還不相上下。但如果某一稀有詞條主要出現在某類訓練集中,卻能很好地反映類別的特徵,而因低於某個設定的閾值而濾除掉,包含著重要的判斷資訊被捨棄,這樣就會對分類精度有一定的影響。
(4) 互資訊方法
互資訊(Mutual Information)衡量的是某個詞和類別之間的統計獨立關係,某個詞t和某個類別Ci傳統的互資訊定義如下:互資訊是計算語言學模型分析的常用方法,它度量兩個物件之間的相互性。在過濾問題中用於度量特徵對於主題的區分度。
互資訊的定義與交叉嫡近似。互資訊本來是資訊理論中的一個概念,用於表示資訊之間的關係, 是兩個隨機變數統計相關性的測度,使用互資訊理論進行特徵抽取是基於如下假設:在某個特定類別出現頻率高,但在其他類別出現頻率比較低的詞條與該類的互資訊比較大。通常用互資訊作為特徵詞和類別之問的測度,如果特徵詞屬於該類的話,它們的互資訊量最大。由於該方法不需要對特徵詞和類別之間關係的性質作任何假設,因此非常適合於文字分類的特徵和類別的配準工作。特徵項和類別的互資訊體現了特徵項與類別的相關程度, 是一種廣泛用於建立詞關聯統計模型的標準。
互資訊與期望交叉熵的不同在於沒有考慮特徵出現的頻率, 這樣導致互資訊評估函式不選擇高頻的有用詞而有可能選擇稀有詞作為文字的最佳特徵。因為對於每一主題來講,特徵t的互資訊越大,說明它與該主題的共現概率越大,因此,以互資訊作為提取特徵的評價時應選互資訊最大的若干個特徵。互資訊計算的時間複雜度類似於資訊增益, 互資訊的平均值就是資訊增益。互資訊的不足之處在於得分非常受詞條邊緣概率的影響。達觀的實驗資料顯示,互資訊分類效果通常比較差,其次是文件頻率、CC 統計,CHI 統計分類效果最好。
對互資訊而言,提高分類精度的方法有:1) 可以增加特徵空間的維數,以提取足夠多的特徵資訊,這樣就會帶來了時間和空間上的額外開銷; 2) 根據互資訊函式的定義,認為這些低頻詞攜帶著較為強烈的類別資訊,從而對它們有不同程度的倚重. 當訓練語料庫沒有達到一定規模的時候,特徵空間中必然會存在大量的出現文件頻率很低(比如低於3 次) 的詞條,他們較低的文件頻率導致了他們必然只屬於少數類別. 但是從抽取出來的特徵詞觀察發現,大多數為生僻詞,很少一部分確實帶有較強的類別資訊,多數詞攜帶少量的類別資訊,甚至是噪音詞。
(5) 期望交叉熵(Expected Cross Entropy)
交叉嫡與資訊量的定義近似,其公式為:交叉嫡 ,也稱KL距離。它反映了文字主題類的概率分佈和在出現了某特定詞彙的條件下文字主題類的概率分佈之間的距離,詞彙w的交叉嫡越大,對文字主題類分佈的影響也越大。它與資訊增益唯一的不同之處在於沒有考慮單詞未發生的情況,只計算出現在文字中的特徵項。如果特徵項和類別強相關, P(Ci|w)就大,若P(Ci) 又很小的話,則說明該特徵對分類的影響大。交叉熵反映了文字類別的概率分佈和在出現了某個特定詞的條件下文字類別的概率分佈之間的距離, 特徵詞t 的交叉熵越大, 對文字類別分佈的影響也越大。熵的特徵選擇效果都要優於資訊增益。
(6) 二次資訊熵(QEMI)
將二次熵函式應用於互資訊評估方法中,取代互資訊中的Shannon熵,就形成了基於二次熵的互資訊評估函式。基於二次熵的互資訊克服了互資訊的隨機性,是一個確定的量,因此可以作為資訊的整體測度,另外它還比互資訊最大化的計算複雜度要小,所以可以比較高效地用在基於分類的特徵選取上。
(7) 資訊增益方法(Information Gain)
資訊增益方法是機器學習的常用方法,在過濾問題中用於度量已知一個特徵是否出現於某主題相關文字中對於該主題預測有多少資訊。通過計算資訊增益可以得到那些在正例樣本中出現頻率高而在反例樣本中出現頻率低的特徵,以及那些在反例樣本中出現頻率高而在正例樣本中出現頻率低的特徵。資訊增益G(w)的訓算公式如下:其中P(w)是詞w出現的概率,P(Ci)是取第i個目錄時的概率,P(C, |w) 是假定w出現時取第i個目錄的概率。
資訊增益是一種基於熵的評估方法,涉及較多的數學理論和複雜的熵理論公式,定義為某特徵項為整個分類所能提供的資訊量,不考慮任何特徵的熵與考慮該特徵後的熵的差值。他根據訓練資料,計算出各個特徵項的資訊增益,刪除資訊增益很小的項,其餘的按照資訊增益從大到小排序。資訊增益是資訊理論中的一個重要概念, 它表示了某一個特徵項的存在與否對類別預測的影響, 定義為考慮某一特徵項在文字中出現前後的資訊熵之差。某個特徵項的資訊增益值越大, 貢獻越大, 對分類也越重要。資訊增益方法的不足之處在於它考慮了特徵未發生的情況。特別是在類分佈和特徵值分佈高度不平衡的情況下, 絕大多數類都是負類, 絕大多數特徵都不出現。此時的函式值由不出現的特徵決定, 因此, 資訊增益的效果就會大大降低。資訊增益表現出的分類效能偏低。因為資訊增益考慮了文字特徵未發生的情況,雖然特徵不出現的情況腫可能對文字類別具有貢獻,但這種貢獻往往小於考慮這種情況時對特徵分值帶來的干擾。
(8) 統計量方法
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估計的可靠性較好,便於對程式的控制,無需因訓練集的改變而人為的調節特徵閥值的大小。
(9) 文字證據權(The Weight of Evidence for Text)
文字證據權衡量類的概率和給定特徵時類的條件概率之間的差別。
(10) 優勢率(Odds Ratio)
優勢率只適用於二元分類的情況,其特點是隻關心文字特徵對於目標類的分值。Pos表示目標類,neg表示非目標類。
(11) 遺傳演算法(Genetic Algorithm, GA):
遺傳演算法(Genetic Algorithm, GA)是一種通用型的優化搜尋方法,它利用結構化的隨機資訊交換技術組合群體中各個結構中最好的生存因素,複製出最佳程式碼串,並使之一代一代地進化,最終獲得滿意的優化結果。
文字實際上可以看作是由眾多的特徵詞條構成的多維空間,而特徵向量的選擇就是多維空間中的尋優過程,因此在文字特徵提取研究中可以使用高效尋優演算法。在將文字特徵提取問題轉化為文字空間的尋優過程中,首先對Web文字空間進行遺傳編碼,以文字向量構成染色體,通過選擇、交叉、變異等遺傳操作,不斷搜尋問題域空間,使其不斷得到進化,逐步得到Web文字的最優特徵向量。 基於協同演化的遺傳演算法不是使用固定的環境來評價個體,而是使用其他的個體來評價特定個體。基於協同演化的遺傳演算法不僅能反映其母體的特徵,還能反映其他同類文字的共性,這樣可以有效地解決同一主題眾多文字的集體特徵向量的提取問題,獲得反映整個文字集合某些特徵的最佳個體。
(12) 主成分分析法(Principal Component Analysis,PCA)
PCA是非常常用的一種通用特徵降維方法,也同樣大規模用於文字特徵抽取中,基於其處理方式的不同又分為資料方法和矩陣方法。
矩陣方法中,所有的資料通過計算方差一協方差結構在矩陣中表示出來,矩陣的實現目標是確定協方差矩陣的特徵向量,它們和原始資料的主要成分相對應。在主成分方法中,由於矩陣方法的複雜度在n很大的情況 以二次方增長,因此人們又開發了主要使用Hebbian學習規則的PCA神經網路方法。主成分分析法是特徵選取常用的方法之一,它能夠揭示更多有關變數_豐要方向的資訊。但它的問題在於矩陣方法中要使用奇異值分解對角化矩陣求解方差一協方差。
(13) 模擬退火演算法(Simulating Anneal,SA)
特徵選取可以看成是一個組合優化問題,因而可以使用解決優化問題的方法來解決特徵選取的問題。模擬退火演算法(Simulating Anneal,SA)就是其中一種方法。模擬退火演算法是一個很好的解決優化問題的方法,將這個方法運用到特徵選取中,理論上能夠找到全域性最優解,但在初始溫度的選取和鄰域的選取t要恰當,必須要找到一個比較折中的辦法,綜合考慮解的效能和演算法的速度。
(14) N—Gram演算法
它的基本思想是將文字內容按位元組流進行大小為N的滑動視窗操作,形成長度為N的位元組片段序列。每個位元組片段稱為gram,對全部gram的出現頻度進行統計,並按照事先設定的閾值進行過濾,形成關鍵gram列表,即為該文字的特徵向量空間,每一種gram則為特徵向量維度。
由於N—Gram演算法可以避免中文分詞的障礙,所以對中文分類有較高的實用性。中文文字處理大多采用雙位元組進行分解,稱之為bi-gram。但是bigram切分方法在處理20%左右的中文多字詞時,往往產生語義和語序方面的偏差。而對於專業研究領域,多字詞常常是文字的核心特徵,處理錯誤會導致較大的負面影響。基於N—Gram改進的文字特徵提取演算法,在進行bigram切分時,不僅統計gram的出現頻度,而且還統計某個gram與其前鄰gram的情況,並將其記錄在gram關聯矩陣中。對於那些連續出現頻率大於事先設定閾值的,就將其合併成為多字特徵詞。這樣通過統計與合併雙字特徵詞,自動產生多字特徵詞,可以較好地彌補N—Gram演算法在處理多字詞方面的缺陷。
– 評估函式對比分析
上述羅列的幾種文件特徵評估函式的特點如何呢?資訊增益的定義過於複雜,因此應用較多的是交叉嫡和互資訊。其中互資訊的效果要好於交叉嫡,這是因為互資訊是對不同的主題類分別抽取特徵詞,而交叉嫡跟特徵在全部主題類內的分佈有關,是對全部主題類來抽取特徵詞。這些方法,在英文特徵提取方面都有各自的優勢,但用於中文文字,並沒有很高的效率。主要有2個方面的原因:

  • 特徵提取的計算量太大,特徵提取效率太低,而特徵提取的效率直接影響到整個文字分類系統的效率;
  • 經過特徵提取後生成的特徵向量維數太高,而且不能直接計算出特徵向量中各個特徵詞的權重。

目前使用評估函式進行特徵選取越來越普遍,特徵選取演算法通過構造一個評估函式的方法,選取預定數目的最佳特徵作為特徵子集的結果。在幾種評估方法中,每一種方法都有一個選詞標準,遵從這個標準,從文字集的所有詞彙中選取出有某個限定範圍的特徵詞集。因為評估函式的構造不是特別複雜,適用範圍又很廣泛,所以越來越多的人們喜歡使用構造評估函式來進行特徵的選取,這些評估函式在Web文字挖掘中被廣泛使用,特徵選擇精度普遍達到70%~80%,但也各自存在缺點和不足。例如,“資訊增益”考慮了單詞未發生的情況,對判斷文字類別貢獻不大,而且引入不必要的干擾,特別是在處理類分佈和特徵值分佈高度不平衡的資料時選擇精度下降。“期望交叉熵”與“資訊增益”的唯一不同就是沒有考慮單詞未發生的情況,因此不論處理哪種資料集,它的特徵選擇精度都優於“資訊增益”。與“期望交叉熵”相比,“互資訊”沒有考慮單詞發生的頻度,這是一個很大的缺點,造成“互資訊”評估函式經常傾向於選擇稀有單詞。“文字證據權”是一種構造比較新穎的評估函式,它衡量一般類的概率和給定特徵類的條件概率之間的差別,這樣在文字處理中,就不需要計算W的所有可能值,而僅考慮W在文字中出現的情況。“優勢率”不像前面所述的其他評估函式將所有類同等對待,它只關心目標類值,所以特別適用於二元分類器,可以儘可能多地識別正類,而不關心識別出負類。從考慮文字類間相關性的角度,可以把常用的評估函式分為兩類,即類間不相關的和類間相關的
“文件頻數”(DF)是典型的類間不相關評估函式, DF的排序標準是依據特徵詞在文件中出現篇數的百分比,或稱為篇章覆蓋率。這種型別的評估函式,為了提高區分度,要儘量尋找篇章覆蓋率較高的特徵詞,但又要避免選擇在各類文字中都多次出現的無意義高頻詞,因此類間不相關評估函式對停用詞表的要求很高。但是很難建立適用於多個類的停用詞表,停用詞不能選擇太多,也不能選擇太少,否則都將會影響特徵詞的選擇。同時,類間不相關評估函式還存在一個明顯的缺點,就是對於特徵詞有交叉的類別或特徵相近的類別,選擇的特徵詞會出現很多相似或相同的詞條,造成在特定類別間的區分度下降。類間相關的評估函式,例如期望交叉熵、互資訊、文字證據權等,綜合考慮了詞條在已定義的所有類別中的出現情況,可以通過調整特徵詞的權重,選擇出區分度更好的特徵,在一定程度上提高了相近類別的區分度。但是,該區分度的提高僅體現在已定義的類別間,而對於尚未定義的域外類別,類間相關評估函式的選擇效果也不理想。因此,在評估函式選擇問題上,提高對域外類別文字的區分度是十分重要的研究課題。
傳統的特徵選擇方法大多采用以上各評估函式進行特徵權重的計算,由於這些評估函式是基於統計學的,其中一個主要缺陷就是需要用一個很龐大的訓練集才能獲得幾乎所有的對分類起關鍵作用的特徵.這需要消耗大量的時間和空間資源,況且,構建這樣一個龐大的訓練集也是一項十分艱鉅的工作。然而,在現實應用中,考慮到工作效率,不會也沒有足夠的資源去構建一個龐大的訓練集,這樣的結果就是:被選中的甚至是權重比較高的特徵,可能對分類沒有什麼用處,反而會干涉到正確的分類;而真正有用的特徵卻因為出現的頻率低而獲得較低的權重,甚至在降低特徵空間維數的時候被刪除掉了。基於評估函式的特徵提取方法是建立在特徵獨立的假設基礎上,但在實際中這個假設是很難成立的,因此需要考慮特徵相關條件下的文字特徵提取方法。
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 基於卷積神經網路的文字分類演算法