1. 程式人生 > >向量空間模型(vector space model)

向量空間模型(vector space model)

向量空間模型(vector space model)

向量空間模型概念簡單,把對文字內容的處理簡化為向量空間中的向量運算,並且它以空間上的相似度表達語義的相似度,直觀易懂。當文件被表示為文件空間的向量,就可以通過計算向量之間的相似性來度量文件間的相似性。文字處理中最常用的相似性度量方式是餘弦距離。

VSM基本概念:

(1) 文件(Document):泛指一般的文字或者文字中的片斷(段落、句群或句子),一般指一篇文章,儘管文件可以是多媒體物件,但是以下討論中我們只認為是文字物件,本文對文字與文件不加以區別"。

(2) (Term):文字的內容特徵常常用它所含有的基本語言單位(字、詞、片語或短語等)來表示,這些基本的語言單位被統稱為文字的項,即文字可以用項集(Term List)表示為D(T1,T2,,,,Tn)其中是項

,1≤k≤n"

(3) 項的權重(TermWeight):對於含有n個項的文字D(,………,,項常常被賦予一定的權重表示他們在文字D中的重要程度,即D=(,,,,······,)。這時我們說項的權重為(1≤k≤n)。

(4) 向量空間模型(VSM):給定一文字D=D(,………,)由於在文字中既可以重複出現又應該有先後次序的關係,分析起來有一定困難。為了簡化分析,暫時不考慮的順序,並要求互異,這時可以把,………,看作是一個n維的座標,而就是n維座標所對應的值,所以文件D()就可以被看作一個n維的向量了。

(5) 相似度(Similarity)兩個文字D,和DZ之間的(內容)相關程度(Degree of Relevance)常常用他們之間的相似度Sim(,)來度量,當文字被表示為向量空間模型時,我們可以藉助與向量之間的某種距離來表示文字間的相似度"常用向量之間的內積進行計算:
               Sim(,)=*
或者用夾角的餘弦值表示:
               Sim(,)=

可以看出,對向量空間模型來說,有兩個基本問題:即特徵項的選擇項的權重計算

特徵項選擇

用來表示文件內容的項可以是各種類別,對漢語來說,有字、詞、短語,甚至是句子或句群等更高層次的單位。項也可以是相應詞或短語的語義概念類。

項的選擇必須由處理速度、精度、儲存空間等方面的具體要求來決定。特徵項選取有幾個原則:一是應當選取包含語義資訊較多,對文字的表示能力較強的語言單位作為特徵項;二是文字在這些特徵項上的分佈應當有較為明顯的統計規律性,這樣將適用於資訊檢索、文件分類等應用系統;三是特徵選取過程應該容易實現,其時間和空間複雜度都不太大。實際應用中常常採用字、詞或短語作為特徵項。

由於詞彙是文字最基本的表示項

,在文字中的出現頻度較高,呈現一定的統計規律,在考慮到處理大規模真實文字所面臨的困難,一般選擇詞彙或短語作為特徵項,但是直接選用文字中的詞或片語作為文字特徵項也會存在以下問題:
(1) 文字中存在一些沒有實在意義但使用頻率很高的虛詞和功能詞,如中文中“的”、“把”、“了”等,常常把一些真正有分類作用的實詞淹沒掉了。解決這個問題的方法是把這些片語織成一個禁用詞表,或者進行權重計算時,使它們的權重很低,通過取閥值將它們丟棄。採用禁用詞表時,詞表的選擇很關鍵,很難全面地包括所有的禁用詞,並且語言是不斷髮展的,禁用詞表也是隨著訓練文字集合的不同而不同,某個詞在這裡不是禁用詞,到另外一類文字中可能就成了禁用詞。另一方面考慮到,最能代表一篇文章實際意義的詞,往往是那些實詞,如形容詞、動詞、名詞,而且同一個詞,當處於不同詞性時,可能分別屬於和不屬於禁用詞表。例如:“他高興地走了”(副詞“地”應是禁用詞),“地很不平”(名詞“地”不應作為禁用詞)"針對這個現象,提出了只提取形容詞、動詞和名詞作為特徵項,並嘗試著取代禁用詞表方法.
(2) 採用詞語作為特徵項時還會出現所謂的同義現象,同義現象是指:對於同一個事物不同的人會根據個人的需要、所處的環境、知識水平以及語言習慣有著不同的表達方式,因此所採用的詞彙也有很大的不同。所以經常出現兩個文字所用的詞彙有所不同,但實際上兩者是相似的,這就是詞的同義現象造成的。例如電腦和計算機是同一個概念,應該屬於同一個特徵項,目前最常用的解決方案是採用概念詞典來解決這個問題。

分詞

確定了特徵項單位以後,接下來要做的就是把文字分割成特徵項的表示。我們知道,詞是最小的能夠獨立活動的有意義的語言成分。然而,漢語是以字為基本的書寫單位,文字中詞與詞之間沒有明確的分隔標記,而是連續的漢字串,顯而易見,自動識別詞邊界,將漢字串分為正確的詞串的漢語分詞問題無疑是實現中文資訊處理各項任務的基礎與關鍵。中文詞語分析一般包括3個過程:預處理過程的詞語粗切分、切分排歧與未登陸詞識別、詞性標註。目前中文詞語分析採取的主要步驟是:先採取最大匹配、最短路徑、概率統計、全切分等方法,得到一個相對最好的粗分結果,然後進行排歧、未登陸詞識別,最後標註詞性。在實際系統中,這三個過程可能相互交叉、反覆融合,也可能不存在明顯的先後次序。可以將現在的分詞演算法分為3大類:基於字串匹配的分詞方法、基於理解的分詞方法和基於統計的分詞方法。

1)基於字串匹配的分詞方法
這種方法又叫機械分詞法,它按照一定的策略將待分析的漢字串與機器字典中的詞條進行匹配,若在字典中可以找到某個字串,則匹配成功(識別出一個詞)。按照掃描方向的不同可以分為正向匹配和逆向匹配;按照不同長度優先匹配的情況,又可以分為最大(最長)匹配和最小(最短)匹配;按照是否與詞性標註過程相結合,又可分為單純分詞法和分詞與標註相結合的一體化方法。具體的方法主要有以下幾種:
  (a)最大匹配法(maximum matching method, MM)

在計算機中存放一個已知的詞表,這個詞表叫底表,從被切分的語料中,按給定的順序擷取一個定長的字串,通常為6-8個漢字,這個字串的長度叫做最大詞長,把這個具有最大詞長的字串與底表中的詞相匹配,如匹配成功,則可確定這個字串為詞,然後指標向給定的方向移動與已經識別出的詞長相應個數的漢字,繼續進行匹配,否則,則把該字串逐次減一,再與底表中的詞長進行匹配,直到成功為止。MM的原理簡單,易於在計算機上實現,實現複雜度比較低。缺點是最大詞長難以確定,如果定得過長,則演算法複雜度顯著提高,如果定得太短,則不能切分長度大於它的詞,導致切分正確率降低。

b)逆向最大匹配法(reverse maximum matching method, RMM)

這種方法的原理與MM相同,不同的是切詞的掃描方向,如果MM的方向是從左到右取字串進行匹配,則RMM的切詞方向就是從右到左取字串進行匹配。試驗證明RMM的切詞正確率較MM更高一些。但是,RMM要求配置逆序的切詞字典,這種詞典與人們的語言習慣不同。

c)逐詞遍歷匹配法

這種方法把辭典中的詞按由長到短的順序,逐個與待切詞的語料進行匹配,直到把語料中所有的詞都切分出來為止。由於這種方法要把辭典中的每個詞都匹配一遍,需要花費很多時間,演算法的時間複雜度相應增加,效率不高。

d)雙向掃描法

這種方法是分別用MM和RMM進行正向和逆向掃描完成初步的切分,並將用MM初步切分的結果與用RMM初步切分結果進行比較,如果兩種結果一致,則判定正確,否則定為疑點,此時或者結合上下文資訊,或進行人工干預,選取一種切分為正確結果,由於要進行雙向掃描,時間複雜度增加,而且為了使切分詞典能同時支援正向與逆向兩種順序的匹配和搜尋,詞典的結構比一般的切詞詞典複雜。

e)最佳匹配法(optimum matching method,0M)

這是在切詞詞典中按詞出現頻率的大小排列詞條,高頻詞在前,低頻詞在後,從而縮短了查詢切詞詞典的時間,加快切詞的速度,使切詞達到最佳的效率。這種切詞方法對於分詞演算法沒有什麼改進,只是改變了分詞詞典的排列順序,它雖然降低了切詞的時間複雜度,卻沒有提高分詞的正確率。

f)設立切分標記法

在書面語中,存在的切分標記有兩種:一種是自然的切分標誌,如標點符號,詞不能跨越標點符號而存在,標點符號則是詞的邊界之所在;另一種是非自然的切分標誌,如只能在詞首出現的詞首字,只能在詞尾出現的詞尾字,沒有構詞能力的單音節單純詞、多音節單純詞、擬聲詞等,詞顯然也不能跨越這些標誌而存在,它們也必然是詞的邊界。如果收集了大量的這種切分標誌,切詞時,先找到切分標誌,就可以把句子切分成一些較短的欄位,然後再用MM或RMM進行進一步切分。使用這種方法切詞,要額外消耗時間,並掃描切分標誌,還要花費儲存空間來儲存非自然的切分標誌,使切詞演算法的時間複雜度和空間複雜度都大大增加了,而切詞的正確率卻提高的有限,所以採用這種方法的自動切詞系統不多。

g)有窮多級列舉法

這種方法把現代漢語中的全部詞分為兩大類:一類是開放詞,如名詞、動詞、形容詞等,它們的成員幾乎是無窮的,另一類是閉鎖詞,如連詞、助詞、嘆詞等,它們的成員是可以一一列舉的。切詞時,先切出詞的特殊標誌的字串,如阿拉伯數字、拉丁字母等,再切出可列舉的閉鎖詞,最後在逐級切出開放詞。這是完全立足於語言學的切詞方法,在計算機上實現起來還是很有困難。
  

由於漢語很少單字成詞的特點,正向最小匹配和逆向最小匹配一般很少使用。一般說來,逆向匹配的切分精度略高於正向匹配,遇到的歧義現象也很少。統計結果表明,單純使用正向最大匹配的錯誤率為1/169,單純使用逆向最大匹配的錯誤率為1/245(這可能是因為漢語的中心語靠後的特點)。但這種精度還遠遠不能滿足實際的需要。由於分詞是一個智慧決策過程,機械分詞方法無法解決分詞階段的兩大基本問題:歧義切分問題未登陸詞識別問題。實際使用的分詞系統,都是把機械分詞作為一種切分手段,還需通過利用各種其他的語言資訊來進一步提高切分的正確率。

對於機械分詞方法,可以建立一個通用模型,形式化地表示為ASM(d,a,m)即Automatic Segmentation Model"其中:

d:匹配方向,+1表示正向,一1表示逆向。

a:每次匹配失敗後增加/減少字串長度(字元數),+1為增字,一1為減字。

m:最大/最小匹配標誌,+1為最大匹配,一1為最小匹配。

例如,ASM(+,-,+)就是正向減字最大匹配法(即MM),ASM(-,-,

+)就是逆向減字最大匹配法(即RMM),等等。對於現代漢語來說,只有m=+1是實用的方法。

2)基於理解的分詞方法

通常的分詞系統,都力圖在分詞階段消除所有歧義切分現象,有些系統則在後續過程中來處理歧義切分問題,其分詞過程只是整個語言理解過程的一個小部分。其基本思想就是在分詞的同時進行句法、語義分析,利用句法資訊和語義資訊來處理歧義現象。它通常包括3個部分:分詞子系統、句法語義子系統、總控部分。在總控部分的協調下,分詞子系統可以獲得有關詞、句子等的句法和語義資訊來對分詞歧義進行判斷,即它模擬了人對句子的理解過程。這種分詞方法需要使用大量的語言知識和資訊。由於漢語語言知識的籠統、複雜性,難以將各種語言資訊組織成機器可直接讀取的形式,因此,目前基於理解的分詞系統還處於試驗階段,聯想回溯法就是其中的一種。

聯想-回溯法(association-backtracking method ,AB):要求建立知識庫-特徵詞詞庫、實詞詞庫和規則庫。首先將待切分的漢字字串序列分割為若干子串,子串可以是詞,也可以是由幾個詞組合成的詞群,然後就利用實詞詞庫和規則庫將詞群細分為詞。切詞時,要利用一定的語法知識,建立聯想機制和回溯機制。聯想機制由聯想網路和聯想推理構成,聯想網路描述每個虛詞的構詞能力,聯想推理利用相應的聯想網路來判定所描述的虛詞究竟是單獨的詞還是作為其他詞中的構成成分。回溯機制主要用於處理歧義句子的切分。聯想回溯演算法雖然增加了演算法的時間複雜度和空間複雜度,但是這種方法的切詞正確率得到了提高,是一種行之有效的方法。

3)基於統計的分詞方法

從形式上看,詞是穩定的字的組合,因此在上下文中,相鄰的詞同時出現的次數越多,就越有可能構成一個詞"因此字與字相鄰共現的頻率或概率能夠較好地反映成詞的可信度。可以對語料中相鄰共現的各個字的組合的頻度進行統計,計算它們的互現資訊。定義兩個字的互現資訊為:
              M(X,Y)=log(P(X,Y)/P(X)*P(Y))

其中P(X,Y)是漢字X,Y的相鄰共現頻率,P(X)、P(Y)分別是X、Y在語料中出現的概率。互現資訊體現了漢字之間結合關係的緊密程度。當緊密程度高於某一個闡值時,便可認為此字組可能構成一個詞。這種方法只需要對語料中字組頻度進行統計,不需要切分詞典,因而又稱為無詞典分詞法或統計取詞方法。但這種方法也有一定的侷限性,會經常抽出一些共現頻度高,但並不是詞的常用字組,例如“這一”、“之一”、“有的”、“我的”、“許多的”等,並且對常用詞的識別精度差,時空開銷大。實際應用的統計分詞系統都要使用一部基本分詞詞典(常用詞詞典)進行串匹配分詞,同時使用統計方法識別一些新詞,即將串頻統計和串匹配結合起來,既發揮匹配分詞切分速度快、效率高的特點,又利用了無詞典分詞結合上下文識別生詞、自動消除歧義的優點。常用的有基於詞頻統計的切詞法基於期望的切詞法
  a)基於詞頻統計的切詞法

這種方法利用詞頻統計的結果幫助在切詞過程中處理歧義切分欄位.這種方法的缺點是:由於只考慮詞頻,出現頻率較低的詞總是被錯誤地切分.

(b) 基於期望的切詞法

這種方法認為一個詞的出現,它後面緊隨的詞就有一種期望,據這種期望,在詞典中找到所有的詞從而完成切分.這種方法增加了切詞的空間複雜度,但在一定程度上提高了切詞的正確率。

中文文字自動分詞技術一般以詞典作為分詞依據,使用專門的分詞演算法將文字中出現於詞典中的詞識別出來。通過這種方法獲得的文字特徵只能是詞典中出現的詞彙,但是自然語言領域相關性和隨時間變化的特性,詞典中不可能包含文字中所有詞彙,因此,對不同型別文字進行分類時,就需要不斷修整和擴充詞典並改進分詞技術,才能獲得良好的分類效能。

針對基於詞典分詞的分類系統存在的弊端,人們提出了一種基於n-gram資訊的文字特徵提取技術,使文字自動分類系統擺脫了對複雜分詞處理程式對龐大詞庫的依賴,實現了中文文字自動分類的領域無關性和時間無關性。N-gram資訊的概念是資訊理論創始人C.E.Shannon在研究信源編碼時提出來的,常被用來表示信源輸出的連續n個字元所組成的字串。Shannon曾用它來研究英文文字中字元或字串的統計特性,即資訊嫡,隨後,n一gram資訊被廣泛應用於文字壓縮、字元識別與糾錯等領域,是一種直接面向程式碼的技術。採用n-gram資訊作為文字特徵具有以下特點:第一:無需任何詞典支援;第二:對輸入文字所需的先驗知識少;第三:無需進行分詞處理;但是n-gram資訊獲取技術的領域無關性和時間無關性的實現是有代價的.首先,n-gram資訊的提取對系統資源的要求比較高,因為進行任何n-gram資訊提取時,都會產生大量的資料冗餘,佔用很大的記憶體空間。相比較於詞典的分詞技術,其實現效率低,獲取n一gram資訊將花費較長的時間。

特徵值抽取
一篇文章在經過了分詞處理之後,會產生很多詞條。如果一個文件所有詞條都被作為其特徵,將會使特徵項異常龐大,而且這樣的特徵項會使得每個特徵項所含資訊非常平滑,有用資訊反而不會突出。因此我們需要進行特徵項選取,把詞條中最能代表某類文字資訊的詞條挑選出來,作為文字的特徵項。實驗結果表明簡化特徵項不但不會使分類結果準確率降低,而且還會使結果更加準確。特徵項選擇一般使用統計方法,利用各種計算公式,計算詞代表的資訊含量,確定一個閥值,將低於閥值的詞語過濾掉。或者確定一個特徵項數目n,保留處於資訊含量在前n位的詞條。

特徵抽取演算法是文字自動分類中的一項關鍵技術和瓶頸技術,如何從原始文字特徵集合中選擇最能表示文字主題內容的特徵子集,是文字特徵抽取演算法的研究目標。目前,有多種特徵抽取演算法被用於文字自動分類的研究中,但這些演算法都有其優點和缺點,沒有公認的最優方法,需要針對具體系統進行對比來確定最優方法。

特徵選擇可以從兩個方面提高系統性能一是分類速度,通過特徵選擇,可以大大減少特徵集合中的特徵數,降低文字向量的維數,簡化計算,防止過度擬合,提高系統執行速度。二是準確率,通過適當的特徵選擇,不但不會降低系統準確性,反而會使系統精度提高。

在文字處理中,一些常用特徵提取評估函式有文件頻數(document frequency)、資訊增益(information gain)、期望交叉熵(expected cross entropy)、互資訊(mutual information)、統計(CHI)、文字證據權(the weight of evidence for text)等。

(1) 文件頻數DF

它是最簡單的評估函式,值為訓練集合中該單詞發生的文字數。DF評估函式的理論假設稀有單詞可能不包含有用資訊,也可能太少而不足以對分類產生影響,也可能是噪音,因此可以刪去。顯然它在計算量上比其他評估函式小很多,但是實踐運用中它的效果卻很好.DF的缺點是稀有單詞可能在某一類文字中並不稀有,也可能包含著重要的判斷資訊,錯誤的捨棄,可能影響分類器的精度。因此,在實際運用中一般並不直接使用DF。

(2) 資訊增益(information Gain)

資訊增益表示文件中包含某一特徵值時文件類的平均資訊量。它定義為某一特徵在文件中出現前後的資訊熵之差。假定c為文件類變數,C為文件類的集合,d為文件,f為特徵(以下各節同此)。對於特徵f,其資訊增量記為IG(f),計算公式如下:
       IG(f)=H(C)-H(C|f)

            =

特徵項賦權

為了兼顧查全率和查準率,檢索系統在對特徵項進行賦權時,應同時包含提高查全率查準率的賦權因子。特徵項賦權因子由頻率因子(TF)、文件集因子(DF)和規格化因子三部分組成。

1)在文件中頻繁出現的特徵項具有較高的權重,因此檢索系統常使用頻率因子TF(Term Frequency)進行特徵項賦權,使用高頻特徵項進行查詢可以提高系統的查全率。

2)僅使用頻率因子並不能保證系統的查詢效能,提高查全率時會影響檢索系統的查準率。因此需要引入一個與文件集合有關的因子,加大文件之間的區分度。如果特徵項在集合中較少的文件中出現,則相應的文件集因子IDF(Inverse Document Frequency)較大。在文件總數為N的集合中,如果包含某特徵項的文件數為n,則文件集因子是idf=。

3)當文件較長時,查詢式與文件進行匹配的可能性更大,所以長文件比短文件更有可能被提取出來,因此引入規格化因子來消除文件長度對匹配結果的影響。假定代表特徵項的權重,最後的規格化因子定義為:

 OR

向量空間模型

TF-IDF 權重
特徵項的權重計算是文字相似度計算中的一個非常重要的環節。一篇文字中的特徵項數目眾多,要想得到比較準確的對文字內容的數學化表示,我們需要對能顯著體現文字內容特徵的特徵項賦予高權重,而對不能可以體現文字內容特徵的特徵項賦予低權重。從效率方面來說,特徵項權重的計算是文字相似度計算中的主要工作,它的效率也直接影響文字相似度計算的整體效率。
經典的 TF-IDF 權重是向量空間模型中應用最多的一種權重計算方法,它以詞語作為文字的特徵項,每個特徵項的權重由 TF 權值和 IDF 權值兩個部分構成。對於文字 中的第 k 個特徵項,其對應權重計算方法為:

              =*

其中

(1) TF (Term Frequency)權值:特徵項在文字中出現的次數,即如果在文字中出現次,那麼

(2) 在實際應用中,通常需要對 TF 值進行標準化處理,以避免文字太長所導致的的統計偏差:
                    =

(3)IDF(Inverse Document Frequency)權值:特徵項在全域性文字集 D 中的出現頻率,即:
              log

假設全域性文字集共有M 篇文字,特徵項共在篇文章中出現過,那麼
                  =log(M/())

其中為經驗常數,一般取 0.01。

TF 權值反映了特徵項在給定的文字中的概念重要程度(freq importance),體現了資訊理論中頻度的思想。某特徵項在文字中的出現次數越多,表示它對於該文字的重要程度越高。IDF 權值則反映了特徵項的資訊度(informativeness),用於體現一個特徵項的“文義甄別能力”。如果一個特徵項只出現在一個或少數文字中,那麼它很可能是能體現文字內容特徵的語義中心詞,會被賦予大的 IDF 值以提高權重。而如果一個特徵項在很多的文字中出現過,表示它代表文字的“個性特徵”的能力很低,IDF 值也就相應地小。

TF-IDF 權重綜合考慮了不同的詞在文字中的出現頻率(TF 值)和這個詞對不同文字的分辨能力(IDF 值),在所有文字中出現次數很少的特徵項被賦予高權重,因為它們被認為是文字內容特徵的辨別器。例如,在漢語中“是”的出現頻率非常高,但由於它在很多文字中都出現,會被賦予一個很低的 IDF 值,以此體現它對於我們分辨文字的特徵並沒有太大的幫助。而像“偏微分”這種專業詞彙由於只會在相關專業文字中才會出現,會被賦予高 IDF 值以體現它的文字特徵鑑別能力。

TF-IDF 是基於統計的權重計算方式,在全域性文字集包含的語料特徵足夠的情況下,這種基於統計學的方法經過實踐檢驗是一種有效的特徵項權重衡量方法。其侷限性在於它的準確度受全域性文字集的影響較大:全域性文字集越大,語料越完備,所得的權重也就越準確,但相應地計算效率也會隨著全域性文字集的增大而降低。