本節主要介紹文本分類中的一種算法即向量空間模型,這個算法很經典,包含文本預處理、特征選擇、特征權值計算、分類算法、這是VSM的幾個主要步驟,在宗老師的書里都有詳細的講解,這里也會進行深入的講解,淺顯易懂的是目的,深入理解是目標,下面給出這個VSM模型的方框流程圖:
其中分詞和詞袋的建立我們在前兩節進行解釋了,這一節將主要介紹特征詞選擇、文本模型表示(VSM),分類算法的建立。下面就系統的進行梳理VSM的算法過程,這里大家多參考宗老師的書效果會更好:
文本分類就是在給定的分類模型下, 由計算機根據文本內容自動判別文本類別的過程。 隨着文本分類技術的發展, 不同的文本表示模型逐漸出現多種文本分類算法, 使得文本挖掘領域道路越來越寬。 目前已經出現多種中文文本表示方法,如布爾模型、向量空間模型、潛在語義模型和概率模型等。 所以在構造自動文本分類器時, 面臨的選擇也越來越多。 空間向量模型是一種出現較早的文本表示模型, 但現在仍然在廣泛的使用。 本篇的重點是對已經出現的基於向量空間模型的文本分類算法進行研究分析。
文本分類的定義
Sebastiani(2002)以如下數學模型描述文本分類任務。文本分類的任務可以理解為獲得這樣的一個函數:
其中,表示需要進行分類的文檔,
表示預定義的分類體系下的類別集合。T值表示對於
來說,文檔屬於類,而F值表示對於
而言文檔不屬於類。也就是說,文本分類任務的最終目的是要找到一個有效的映射函數,准確地實現域D×C到值T或F的映射,這個映射函數實際上就是我們通常所說的分類器。因此,文本分類中有兩個關鍵問題:一個是文本的表示,另一個就是分類器設計。
一個文本分類系統可以簡略地用下圖所示:
文本表示
中文文本信息多數是無結構化的, 並且使用自然語言,很難被計算機處理。 因此,如何准確地表示中文文本是影響文本分類性能的主要因素。 經過多年發展,如下圖所示,研究人員提出了布爾模型、向量空間模型、潛在語義模型和概率模型等文本表示模型,用某種特定結構去表達文本的語義。基於分類速度的考慮, 目前的文本分類挖掘系統主要采用向量空間模型來表示文本
。VSM由哈佛大學的 G Salton 提出,這一模型將給定的文本轉換成一個維數很高的向量, 並以特征項作為文本表示的基本單位
, 向量的各維對應文本中的一個特征項, 而每一維本身則表示了其對應的特征項在該文本中的權值。 權值代表了特征項對於所在文本的重要程度, 即該特征項能夠多大程度上反映它所在文檔的類別。
下面給出VSM的概念和相關的定義,主要參考了宗老師的書,因為我查了很多資料,感覺還是宗老師說的比較簡單明了,大家也看看,算法難點我會詳細的講解的,下面開始:
目前文本表示通常采用向量空間模型(vector space model,VSM)。VSM是20世紀60年代末期由G.Salton等人提出的[Salton,1971],最早用在SMART信息檢索系統中,目前已經成為自然語言處理中常用的模型。下面首先給出VSM涉及的一些基本概念。
文檔(document):通常是文章中具有一定規模的片段,如句子、句群、段落、段落組直至整篇文章。本書對文本(text)和文檔不加區分。
項/特征項(term/feature term):特征項是VSM中最小的不可分的語言單元,可以是字、詞、詞組或短語等。一個文檔的內容被看成是它含有的特征項所組成的集合,表示為:,其中
是特征項,
。
項的權重(term weight):對於含有n個特征項的文檔,每一特征項都依據一定的原則被賦予一個權重
,表示它們在文檔中的重要程度。這樣一個文檔D可用它含有的特征項及其特征項所對應的權重所表示:
,簡記為
,其中
就是特征項
的權重,
。
一個文檔在上述約定下可以看成是視維空間中的一個向量,這就是向量空間模型的由來。下面給出其定義。
定義: (向量空間模型(VSM)) 給定一個文檔,D符合以下兩條約定:
(1)各個特征項(
)互異(既沒有重復);
(2)各個特征項無先后順序關系(即不考慮文檔的內部結構)
在以上兩個約定下,可以把特征項看成一個n維坐標系,而權重
為相應的坐標值,因此,一 個 文本就表示為維空間中的一個向量,我們稱
為文本D的向量或向量空間模型,如下圖所示:
向量的相似性度量
定義: 任意兩個文檔和
之間的相似性系數
指兩個文檔內容的相關程度(degree of relevance)。設文檔
和
表示
VSM中的兩個向量:
那么,可以借助於n維空間中兩個向量之間的某種距離來表示文檔之間的相似度,常用的方法是使用向量之間的內積來計算:
考慮到向量的歸一化,則可以使用兩個向量的余弦值來表示相似系數:
這里需要解釋一下,我們知道在平面向量里兩個向量越接近,那么這兩個向量的夾角越小,直到這兩個向量平行這兩個向量才完全相等,大家需要理解一下基本的向量知識就懂了,上式是根據求向量的夾角進行判斷,如下:
設二維空間內有兩個向量 表示向量a和b的大小,它們的夾角為
,則內積定義為以下實數: 、
則 夾角的計算
這樣大家應該可以理解吧,我們繼續:
采用向量空間模型進行文本表示時,需要經過以下兩個主要步驟:
(1)根據訓練樣本集生成文本表示所需要的特征項序列;
(2)依據文本特征項序列,對訓練文本集和測試樣本集中的各個文檔進行權重賦值、規范化等處理,將其轉化為機器學習算
法所需的特征向量。
另外,用向量空間模型表示文檔時,首先要對各個文檔進行詞匯化處理,在英文、法文等西方語言中這項工作相對簡單,但在漢語中主要取決於漢語自動分詞技術。由於n元語法具有語言無關性的顯著優點,而且對於漢語來說可以簡化分詞處理,因此,有些學者提出了將n元語法用於文本分類的實現方法,利用n元語法表示文本單元(“詞”)。
需要指出的是,除了VSM文本表示方法以外,研究比較多的還有另外一些表示方法,例如:詞組表示法,概念表示法等。但這些方法對文本分類效果的提高並不十分顯著。詞組表示法的表示能力並不明顯優於普通的向量空間模型,原因可能在於,詞組雖然提高了特征向量的語義含量,但卻降低了特征向量的統計質量,使得特征向量變得更加稀疏,讓機器學習算法難以從中提取用於分類的統計特性。