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