1. 程式人生 > >[轉]搜尋引擎的文件相關性計算和檢索模型(BM25/TF-IDF)

[轉]搜尋引擎的文件相關性計算和檢索模型(BM25/TF-IDF)

1. 檢索模型概述

      搜尋結果排序時搜尋引擎最核心的部分,很大程度度上決定了搜尋引擎的質量好壞及使用者滿意度。實際搜尋結果排序的因子有很多,但最主要的兩個因素是使用者查詢和網頁內容的相關度,以及網頁連結情況。這裡我們主要總結網頁內容和使用者查詢相關的內容。

       判斷網頁內容是否與使用者査詢相關,這依賴於搜尋引擎所來用的檢索模型。檢索模型是搜尋引擎的理論基礎,為量化相關性提供了一種數學模型,是對查詢詞和文件之間進行相似度計算的框架和方法。其本質就是相關度建模。如圖所示,檢索模型所在搜尋引擎系統架構位置:

    

    當然檢索模型理論研究存在理想化的隱含假設,及即假設使用者需求已經通過查詢非常清晰明確地表達出來了,所以檢索模型的任務不涉及到對使用者需求建模。但實際上這個和實際相差較遠,即使相同的查詢詞,不同使用者的需求目的可能差異很大,而檢索模型對此無能為力。

2. 檢索模型分類

   大學學習的《數學模型》(姜啟源第三版),現在還有點印象。數學模型將現實問題歸結為相應的數學問題,並在此基礎上利用數學的概念、方法和理論進行深入的分析和研究,從而從定性或定量的角度來刻畫實際問題,併為解決現實問題提供精確的資料或可靠的指導。
    所以我們從所使用的數學方法上分:
1)基於集合論的IR模型(Set Theoretic models)     布林模型     基於模糊集的模型     擴展布爾模型2)基於代數論的IR模型(Algebraic models)     向量空間模型     潛性語義索引模型     神經網路模型3)基於概率統計的IR模型(Probabilistic models)
     迴歸模型概率模型     語言模型建模IR模型     推理網路模型     信任度網路模型

此外還有基於統計的機器學習排序演算法
這裡主要介紹 布林模型,向量空間模型,概率模型,語言模型,機器學習排序演算法

3. 布林模型

布林模型:

        是最簡單的資訊檢索模型,是基於集合理論和布林代數的一種簡單的檢索模型。

基本思想:

    文件和使用者查詢由其包含的單詞集合來表示,兩者的相似性則通過布林代數運算來進行判定;

相似度計算:

         查詢布林表示式和所有文件的布林表示式進行匹配,匹配成功的文件的得分為1,否則為0。 

         如查詢詞:

                 蘋果 and (iphone OR Ipad2)

         文件集合:

         D1:IPhone 5於9月13號問世。

         D2: 蘋果公司於9月13號釋出新一代IPhone。

         D3:Ipad2將於3月11日在美上市。

         D4:Iphone和ipad2的外觀設計精美時尚

         D5:80後90後都喜歡iphone,但不喜歡吃蘋果。

         那麼單詞與文件關係如下圖:

     

檢索結果就是D2和D5符合搜尋條件。
       這類似於傳統資料庫檢索,是精確匹。一些搜尋引擎的高階檢索往往是使用布林模型的思想。如Google的高階檢索。
優點:
      在於形式簡潔、結構簡單。

缺點:

     1)準確的匹配可能導致檢出的文件過多或過少。因為布林模型只是判斷文件要麼相關、要麼不相關,它的檢索策略基於二值判定標準,無法描述與查詢條件部分匹配的情況。因此,布林模型實際上是一個數值檢索模型而不是資訊檢索模型。

     2)儘管布林表示式有確切的語義,但通常很難將使用者的資訊需求轉換成布林表示式。如今,人們普遍認為,給索引詞加權能極大地改善檢索效果。從對索引詞加權的方法中引出了向量模型。

4. 向量空間模型(Vector Space Model,VSM)

向量空間模型:
    康奈爾大學Salton等人上世紀70年代提出並倡導,原型系統SMART   

基本思想:

    把文件看成是由t維特徵組成的一個向量,特徵一般採用單詞,每個特徵會根據一定依據計算其權重,這t維帶有權重的特徵共同構成了一個文件,以此來表示文件的主題內容。

相似性計算:

    計算文件的相似性可以採用Cosine計算定義,實際上是求文件在t維空間中查詢詞向量和文件向量的夾角,越小越相似;對於特徵權重,可以採用Tf*IDF框架,Tf是詞頻,IDF是逆文件頻率因子指的是同一個單詞在文件集合範圍的出現次數,這個是一種全域性因子,其考慮的不是文件本身的特徵,而是特徵單詞之間的相對重要性,特徵詞出現在其中的文件數目越多,IDF值越低,這個詞區分不同文件的能力就越差,這個框架一般把Weight=Tf*IDF作為權重計算公式。

思路:

1)向量表示:    文件Dj的向量可以表示為Dj(w1j, w2j ,⋯,wnj ) ,其中n是系統中的單詞數目,wij 代表了標引詞i在文件Dj中的權重。    查詢Q的向量可以表示為Q(w1q, w2q ,⋯,wnq ) ,wiq代表了單詞i在查詢Q中的權重 2)文件-單詞矩陣(Doc-Term Matrix)
   n
篇文件,m個標引詞構成的矩陣Am*n,每列可以看成每篇文件的向量表示,同時,每行也可以可以看成單詞的向量表示:    
3)權重計算:
       布林權重:標引詞i在文件j中的權重wij =0或1(出現則取1,否則取0)       TF權重:TF(Term Frequency)是單詞在文件中出現的次數。權重wij = TFij或者歸一化後的TF值       TF的歸一化(Normalization):將一篇文件中所有的標引詞的TF值歸一化到[0,1]之間。通常可以採用以下方式之一:
           1: Wtf = 1 + log(TF)
           2:Wtf = a + (1- a)*  TF /Max(TF) 其中a為調節因子,經驗取值a=0.5 最新研究表明是0.4效果更好。
          單詞的文件頻率DF(Document Frequency)單詞在整個文件集合中出現的文件篇數,DF反映了單詞的區分度, DF越高表示單詞越普遍,因此其區分度越低,其權重也越低。        逆文件頻率(Inverse DF ,IDF):DF的倒數,通常採用如下公式計算:(N是文件集合中所有文件的數目)          
    3) 計算權重向量空間模型中通常採用TF* IDF的方式計算權重,即標引詞i在文件dj的權重Wij = TFij * IDFij .
4)  相似度計算:文件和查詢詞的相關程度(即相似度)可由它們各自向量在向量空問中的相對位置來決定。相似度計算函式有很多種,較常用的是兩個向量夾角的餘弦函式。
   
     由向量的數量積定義:兩個向量的數量積(又稱“內積”、“點積”,物理學上稱為“標量積”。)是一個數量,記作a·b。若ab不共線,則a·b=|a|·|b|·cos〈ab〉。
     其意義:兩向量的數量積等於其中一個向量的模與另一個向量在這個向量的方向上的投影的乘積。我們把|b|cosθ叫做向量b在向量a的方向上的投影。
     兩向量ab的數量積:a·b=|a|*|b|cosθ;其中|a|、|β|是兩向量的模,θ是兩向量之間的夾角(0≤θ≤π)。
     若有座標a(x1,y1,z1) ;b(x2,y2,z2),那麼a·b=x1x2+y1y2+z1z2; |a|=sqrt(x1^2+y1^2+z1^2);|b|=sqrt(x2^2+y2^2+z2^2)。

     依定義有:cos〈a,b〉=a·b / |a|·|b|);若a、b共線,則a·b=+-∣a∣∣b∣。
     其性質:
     1)a
·a=|a|的平方。   
     2)a〈=〉a·b=0。   

     於是文件和提問的相似度值由以下公式獲得:
       
        理解Cosine相似性,可以講每個文件以及查詢看做t維特徵空間的一個數值點。每個特徵形成t維空間中的一個維度,連結特徵空間原點和這個數值點形成一個向量,而Cosine相似性就是計算特徵空間中兩個向量之間的夾角。這個夾角越小,說明兩個特徵向量內容越相似。極端的情況就是兩個完全相同的文件,其在向量空間中的兩個向量是重疊的,Cosine相似性值為1.舉例:            查詢q(<2006:1>,<世界盃:2>)       文件d1(<2006:1>,<世界盃:3>,<德國:1>,<舉行:1>)       文件d2(<2002:1>,<世界盃:2>,<韓國:1>,<日本:1> <舉行:1>)
       倒排索引列表:
       
         
           查詢和文件進行向量的相似度計算:採用內積       文件d1和q的內積:1*1+3*2=7       文件d2和q的內積:2*2=4       夾角餘弦:       文件d1和q的夾角餘弦:       文件d2和q的夾角餘弦:

優點:1) 簡潔直觀,可以應用到很多其他領域(文字分類、生物資訊學),郵件過濾系統spamAssass。           3) 支援部分匹配和近似匹配,結果可以排序           4) 檢索效果不錯缺點:1) 計算量大           2) 單詞的不同位置會代表不同的權重,而不同的關鍵詞長度也會影響權重的大小
           3) 單詞之間的獨立性假設與實際不符:實際上,單詞的出現之間是有關係的,不是完全獨立的。如:“王勵勤”“乒乓球”的出現不是獨立的

5. 概率模型

概率模型:

    是目前效果最好的模型之一,okapi BM25這一經典概率模型計算公式已經在搜尋引擎的網頁排序中廣泛使用。概率檢索模型是從概率排序原理推匯出來的。

基本假設前提和理論:
    1).相關性獨立原則:文獻對一個檢索式的相關性與文獻集合中的其他文獻是獨立的。
    2).單詞的獨立性:單詞和檢索式中詞與詞之間是相互獨立。即文件裡出現的單詞之間沒有任何關聯,任一單詞在文件的分佈概率不依賴其他單詞是否出現
    3).文獻相關性是二值的
:即只有相關和不相關兩種。
    4).概率排序原則:該原則認為,檢索系統應將文件按照與查 詢的概率相關性的大小排序,那麼排在最前面的是最有可能被獲取的文件
    5).貝葉斯(Bayes)定理:用公式表示為:
      P(R|d)=(d|R)·P(R)/P(d)

基本思想是:

    是通過概率的方法將查詢和文件聯絡起來,給定一個使用者查詢,如果搜尋系統能夠在搜尋結果排序時按照文件和使用者需求的相關性由高到底排序,那麼這個搜尋系統的準確性是最優的。在文件集合的基礎上儘可能準確地對這種相關性進行估計就是其核心。

相似度計算:
    將查詢Q和文件D根據有沒有單詞表示為二值向量,Q={q1,q2,…},D={d1,d2,…},di=0或1表示文獻中沒有或有第i個單詞. 用R表示文獻相關,表示文獻不相關.
    條件概率P(R|dj )表示文件 dj與查詢qi相關的概率

    條件概率P(|dj)表示文件dj與查詢qi不相關的概率

    利用它們的比值計算文件與查詢的相似度。
    若P(R|d)> P( |d),即比值大於1,則文獻相關程度大於不相關程度,認為文獻d是相關的,否則認為文獻d不相關。在兩者相等時,人為地認為它是不相關的。

優點:
   1.採用嚴格的數學理論為依據,為人們提供了一種數學理論基礎來進行檢索決策;PubMed的related articles 。
   2.採用相關反饋原理
   3.在其中沒有使用使用者難以運用的布林邏輯方法;
   4.在操作過程中使用了詞的依賴性和相互關係。
缺點:
   1.計算複雜度大,不適合大型網路
   2.引數估計難度較大
   3.條件概率值難估計
   4.系統的檢索效能提高不明顯,需與其他檢索模型結合

6. 語言模型

語言模型:
    是借鑑了語音識別領域採用的語言模型技術,將語言模型和資訊檢索模型相互融合的結果
基本思想:
    其他的檢索模型的思考路徑是從查詢到文件,即給定使用者查詢,如何找出相關的文件,該模型的思路正好想法,是由文件到查詢這個方向,即為每個文件建立不同的語言模型,判斷由文件生成使用者查詢的可能性有多大,然後按照這種生成概率由高到低排序,作為搜尋結果。語言模型代表了單詞或者單詞序列在文件中的分佈情況;

7. 機器學習排序演算法

機器學習排序演算法
    隨著搜尋引擎的發展,對於某個網頁進行排序需要考慮的因素越來越多,這是無法根據人工經驗完成的,這時候用機器學習就是非常合適的,例如Google目前的網頁排序公式考慮了200多種因子。機器學習需要的資料來源在搜尋引擎中較好滿足,例如使用者的搜尋點選記錄。其分成人工標註訓練、文件特徵抽取、學習分類函式以及在實際搜尋系統中採用機器學習模型等4個步驟組成。人工標註訓練可由使用者點選記錄來模擬人為對文件相關打分的機制。

一、課題背景概述

文字挖掘是一門交叉性學科,涉及資料探勘、機器學習、模式識別、人工智慧、統計學、計算機語言學、計算機網路技術、資訊學等多個領域。文字挖掘就是從大量的文件中發現隱含知識和模式的一種方法和工具,它從資料探勘發展而來,但與傳統的資料探勘又有許多不同。文字挖掘的物件是海量、異構、分佈的文件(web);文件內容是人類所使用的自然語言,缺乏計算機可理解的語義。傳統資料探勘所處理的資料是結構化的,而文件(web)都是半結構或無結構的。所以,文字挖掘面臨的首要問題是如何在計算機中合理地表示文字,使之既要包含足夠的資訊以反映文字的特徵,又不至於過於複雜使學習演算法無法處理。在浩如煙海的網路資訊中,80%的資訊是以文字的形式存放的,WEB文字挖掘是WEB內容挖掘的一種重要形式。

文字的表示及其特徵項的選取是文字挖掘、資訊檢索的一個基本問題,它把從文字中抽取出的特徵詞進行量化來表示文字資訊。將它們從一個無結構的原始文字轉化為結構化的計算機可以識別處理的資訊,即對文字進行科學的抽象,建立它的數學模型,用以描述和代替文字。使計算機能夠通過對這種模型的計算和操作來實現對文字的識別。由於文字是非結構化的資料,要想從大量的文字中挖掘有用的資訊就必須首先將文字轉化為可處理的結構化形式。目前人們通常採用向量空間模型來描述文字向量,但是如果直接用分詞演算法和詞頻統計方法得到的特徵項來表示文字向量中的各個維,那麼這個向量的維度將是非常的大。這種未經處理的文字向量不僅給後續工作帶來巨大的計算開銷,使整個處理過程的效率非常低下,而且會損害分類、聚類演算法的精確性,從而使所得到的結果很難令人滿意。因此,必須對文字向量做進一步淨化處理,在保證原文含義的基礎上,找出對文字特徵類別最具代表性的文字特徵。為了解決這個問題,最有效的辦法就是通過特徵選擇來降維。

目前有關文字表示的研究主要集中於文字表示模型的選擇和特徵詞選擇演算法的選取上。用於表示文字的基本單位通常稱為文字的特徵或特徵項。特徵項必須具備一定的特性:1)特徵項要能夠確實標識文字內容;2)特徵項具有將目標文字與其他文字相區分的能力;3)特徵項的個數不能太多;4)特徵項分離要比較容易實現。在中文文字中可以採用字、詞或短語作為表示文字的特徵項。相比較而言,詞比字具有更強的表達能力,而詞和短語相比,詞的切分難度比短語的切分難度小得多。因此,目前大多數中文文字分類系統都採用詞作為特徵項,稱作特徵詞。這些特徵詞作為文件的中間表示形式,用來實現文件與文件、文件與使用者目標之間的相似度計算。如果把所有的詞都作為特徵項,那麼特徵向量的維數將過於巨大,從而導致計算量太大,在這樣的情況下,要完成文字分類幾乎是不可能的。特徵抽取的主要功能是在不損傷文字核心資訊的情況下儘量減少要處理的單詞數,以此來降低向量空間維數,從而簡化計算,提高文字處理的速度和效率。文字特徵選擇對文字內容的過濾和分類、聚類處理、自動摘要以及使用者興趣模式發現、知識發現等有關方面的研究都有非常重要的影響。通常根據某個特徵評估函式計算各個特徵的評分值,然後按評分值對這些特徵進行排序,選取若干個評分值最高的作為特徵詞,這就是特徵抽取(Feature Selection)

特徵選取的方式有4種:

(I)用對映或變換的方法把原始特徵變換為較少的新特徵;

(2)從原始特徵中挑選出一些最具代表性的特徵;

(3)根據專家的知識挑選最有影響的特徵;

(4)用數學的方法進行選取,找出最具分類資訊的特徵,這種方法是一種比較精確的方法,人為因素的干擾較少,尤其適合於文字自動分類挖掘系統的應用。

隨著網路知識組織、人工智慧等學科的發展,文字特徵提取將向著數字化、智慧化、語義化的方向深入發展,在社會知識管理方面發揮更大的作用。

二、文字特徵向量

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

D為一個包含m個文件的文件集合,Di為第i個文件的特徵向量,則有

D={D1,D2,…,Dm}, Di=(di1,di2,…,din),i=1,2,…,m

其中dij(i=1,2,,m;j=1,2,,n)為文件Di中第j個詞條tj的權值,它一般被定義為tjDi中出現的頻率tij的函式,例如採用TFIDF函式,dij=tij*log(N/nj)其中,N是文件資料庫中文件總數,nj是文件資料庫含有詞條tj的文件數目。假設使用者給定的文件向量為Di,未知的文件向量為Dj,則兩者的相似程度可用兩向量的夾角餘弦來度量,夾角越小說明相似度越高。相似度的計算公式如下:

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

三、基於統計的特徵提取方法(構造評估函式)

一、各種流行演算法

這型別演算法通過構造評估函式,對特徵集合中的每個特徵進行評估,並對每個特徵打分,這樣每個詞語都獲得一個評估值,又稱為權值。然後將所有特徵按權值大小排序,提取預定數目的最優特徵作為提取結果的特徵子集。顯然,對於這型別演算法,決定文字特徵提取效果的主要因素是評估函式的質量。

1TF-IDF

單詞權重最為有效的實現方法就是TF*IDF, 它是由Salton1988 年提出的。其中TF 稱為詞頻用於計算該詞描述文件內容的能力; IDF稱為反文件頻率用於計算該詞區分文件的能力。TF*IDF 的指導思想建立在這樣一條基本假設之上在一個文字中出現很多次的單詞在另一個同類文字中出現次數也會很多反之亦然。所以如果特徵空間座標系取TF 詞頻作為測度就可以體現同類文字的特點。另外還要考慮單詞區別不同類別的能力, TF*IDF 法認為一個單詞出現的文字頻率越小它區別不同類別的能力就越大所以引入了逆文字頻度IDF 的概念TF IDF 的乘積作為特徵空間座標系的取值測度。

TFIDF 法是以特徵詞在文件d中出現的次數與包含該特徵詞的文件數之比作為該詞的權重,即

其中, Wi表示第i個特徵詞的權重,TFi(td)表示詞t在文件d中的出現頻率,N表示總的文件數,DF(t)表示包含t的文件數。用TFIDF演算法來計算特徵詞的權重值是表示當一個詞在這篇文件中出現的頻率越高,同時在其他文件中出現的次數越少,則表明該詞對於表示這篇文件的區分能力越強,所以其權重值就應該越大。將所有詞的權值排序根據需要可以有兩種選擇方式:( 1) 選擇權值最大的某一固定數n個關鍵詞;( 2) 選擇權值大於某一閾值的關鍵詞。一些實驗表示,人工選擇關鍵詞, 4個比較合適機選關鍵詞1015 通常具有最好的覆蓋度和專指度。

TFIDF演算法是建立在這樣一個假設之上的:對區別文件最有意義的詞語應該是那些在文件中出現頻率高,而在整個文件集合的其他文件中出現頻率少的詞語,所以如果特徵空間座標系取TF詞頻作為測度,就可以體現同類文字的特點。另外考慮到單詞區別不同類別的能力,TFIDF法認為一個單詞出現的文字頻數越小,它區別不同類別文字的能力就越大。因此引入了逆文字頻度IDF的概念,以TFIDF的乘積作為特徵空間座標系的取值測度,並用它完成對權值TF的調整,調整權值的目的在於突出重要單詞,抑制次要單詞。但是在本質上IDF是一種試圖抑制噪音的加權,並且單純地認為文字頻數小的單詞就越重要,文字頻數大的單詞就越無用,顯然這並不是完全正確的。IDF的簡單結構並不能有效地反映單詞的重要程度和特徵詞的分佈情況,使其無法很好地完成對權值調整的功能,所以TFIDF法的精度並不是很高。

此外,在TFIDF演算法中並沒有體現出單詞的位置資訊,對於Web文件而言,權重的計算方法應該體現出HTML的結構特徵。特徵詞在不同的標記符中對文章內容的反映程度不同,其權重的計算方法也應不同。因此應該對於處於網頁不同位置的特徵詞分別賦予不同的係數,然後乘以特徵詞的詞頻,以提高文字表示的效果。

2、詞頻方法(Word Frequency)

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

3、文件頻次方法(Document Frequency)

文件頻數(Document Frequency, DF)是最為簡單的一種特徵選擇演算法,它指的是在整個資料集中有多少個文字包含這個單詞。在訓練文字集中對每個特徵計一算它的文件頻次,並且根據預先設定的闌值去除那些文件頻次特別低和特別高的特徵。文件頻次通過在訓練文件數量中計算線性近似複雜度來衡量巨大的文件集,計算複雜度較低,能夠適用於任何語料,因此是特徵降維的常用方法。

在訓練文字集中對每個特徵計算它的文件頻數,若該項的DF 值小於某個閾值則將其刪除,若其DF 值大於某個閾值也將其去掉。因為他們分別代表了“沒有代表性”和“沒有區分度”2 種極端的情況。DF 特徵選取使稀有詞要麼不含有用資訊,要麼太少而不足以對分類產生影響,要麼是噪音,所以可以刪去。DF 的優點在於計算量很小,而在實際運用中卻有很好的效果。缺點是稀有詞可能在某一類文字中並不稀有,也可能包含著重要的判斷資訊,簡單捨棄,可能影響分類器的精度。

文件頻數最大的優勢就是速度快,它的時間複雜度和文字數量成線性關係,所以非常適合於超大規模文字資料集的特徵選擇。不僅如此,文件頻數還非常地高效,在有監督的特徵選擇應用中當刪除90%單詞的時候其效能與資訊增益和x2 統計的效能還不相上下。DF 是最簡單的特徵項選取方法, 而且該方法的計算複雜度低, 能夠勝任大規模的分類任務。

但如果某一稀有詞條主要出現在某類訓練集中,卻能很好地反映類別的特徵,而因低於某個設定的閾值而濾除掉,這樣就會對分類精度有一定的影響。

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個目錄的概率。

資訊增益是一種基於熵的評估方法,涉及較多的數學理論和複雜的熵理論公式,定義為某特徵項為整個分類所能提供的資訊量,不考慮任何特徵的熵與考慮該特徵後的熵的差值。他根據訓練資料,計算出各個特徵項的資訊增益,刪除資訊增益很小的項,其餘的按照資訊增益從大到小排序。

資訊增益是資訊理論中的一個重要概念, 它表示了某一個特徵項的存在與否對類別預測的影響, 定義為考慮某一特徵項在文字中出現前後的資訊熵之差。某個特徵項的資訊增益值越大, 貢獻越大, 對分類也越重要。資訊增益方法的不足之處在於它考慮了特徵未發生的情況。特別是在類分佈和特徵值分佈高度不平衡的情況下, 絕大多數類都是負類, 絕大多數特徵都不出現。此時的函式值由不出現的特徵決定, 因此, 資訊增益的效果就會大大降低。資訊增益表現出的分類效能偏低。因為資訊增益考慮了文字特徵未發生的情況,雖然特徵不出現的情況腫可能對文字類別具有貢獻,但這種貢獻往往小於考慮這種情況時對特徵分值帶來的干擾。

8x2統計量方法:

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 forText)

文字證據權衡量類的概率和給定特徵時類的條件概率之間的差別。

10、優勢率(Odds Ratio)

    優勢率只適用於二元分類的情況,其特點是隻關心文字特徵對於目標類的分值。Pos表示目標類,neg表示非目標類。

11、遺傳演算法(Genetic Algorithm, GA)

文字實際上可以看作是由眾多的特徵詞條構成的多維空間,而特徵向量的選擇就是多維空間中的尋優過程,因此在文字特徵提取研究中可以使用高效尋優演算法。遺傳演算法(Genetic Algorithm, GA)是一種通用型的優化搜尋方法,它利用結構化的隨機資訊交換技術組合群體中各個結構中最好的生存因素,複製出最佳程式碼串,並使之一代一代地進化,最終獲得滿意的優化結果。在將文字特徵提取問題轉化為文字空間的尋優過程中,首先對Web文字空間進行遺傳編碼,以文字向量構成染色體,通過選擇、交叉、變異等遺傳操作,不斷搜尋問題域空間,使其不斷得到進化,逐步得到Web文字的最優特徵向量。

基於協同演化的遺傳演算法不是使用固定的環境來評價個體,而是使用其他的個體來評價特定個體。個體優劣的標準不是其生存環境以外的事物,而是由在同一生存競爭環境中的其他個體來決定。協同演化的思想非常適合處理同類文字的特徵提取問題。由於同一類別文字相互之間存在一定相關性,因而各自所代表的那組個體在進化過程中存在著同類之間的相互評價和競爭。因此,每個文字的特徵向量,即該問題中的個體,在不斷的進化過程中,不僅受到其母體(文字)的評價和制約,而且還受到種族中其他同類個體的指導。所以,基於協同演化的遺傳演算法不僅能反映其母體的特徵,還能反映其他同類文字的共性,這樣可以有效地解決同一主題眾多文字的集體特徵向量的提取問題,獲得反映整個文字集合某些特徵的最佳個體。

12、主成分分析法(Principal Component AnalysisPCA)

它不是通過特徵選取的方式降維的,而是通過搜尋最能代表原資料的正交向量,創立一個替換的、較小的變數集來組合屬性的精華,原資料可以投影到這個較小的集合。PCA由於其處理方式的不同又分為資料方法和矩陣方法。矩陣方法中,所有的資料通過計算方差一協方差結構在矩陣中表示出來,矩陣的實現目標是確定協方差矩陣的特徵向量,它們和原始資料的主要成分相對應。在主成分方法中,由於矩陣方法的複雜度在n很大的情況 以二次方增長,因此人們又開發使用了主要使用Hebbian學習規則的PCA神經網路方法。

主成分分析法是特徵選取常用的方法之一,它能夠揭示更多有關變數_豐要方向的資訊。但它的問題在於矩陣方法中要使用奇異值分解對角化矩陣求解方差一協方差。

13、模擬退火演算法(Simulating AnnealSA)

特徵選取可以看成是一個組合優化問題,因而可以使用解決優化問題的方法來解決特徵選取的問題。模擬退火演算法(Simulating Anneal,SA)就是其中一種方法。

模擬退火演算法是一個很好的解決優化問題的方法,將這個方法運用到特徵選取中,理論上能夠找到全域性最優解,但在初始溫度的選取和鄰域的選取t要恰當,必須要找到一個比較折中的辦法,綜合考慮解的效能和演算法的速度。

14NGram演算法

它的基本思想是將文字內容按位元組流進行大小為N的滑動視窗操作,形成長度為N的位元組片段序列。每個位元組片段稱為gram,對全部gram的出現頻度進行統計,並按照事先設定的閾值進行過濾,形成關鍵gram列表,即為該文字的特徵向量空間,每一種gram則為特徵向量維度。由於NGram演算法可以避免漢語分詞的障礙,所以在中文文字處理中具有較高的實用性。中文文字處理大多采用雙位元組進行分解,稱之為bi-gram。但是bigram切分方法在處理20%左右的中文多字詞時,往往產生語義和語序方面的偏差。而對於專業研究領域,多字詞常常是文字的核心特徵,處理錯誤會導致較大的負面影響。基於NGram改進的文字特徵提取演算法[2],在進行bigram切分時,不僅統計gram的出現頻度,而且還統計某個gram與其前鄰gram的情況,並將其記錄在gram關聯矩陣中。對於那些連續出現頻率大於事先設定閾值的,就將其合併成為多字特徵詞。這樣通過統計與合併雙字特徵詞,自動產生多字特徵詞,可以較好地彌補NGram演算法在處理多字詞方面的缺陷。

15、各種方法的綜合評價

上述幾種評價函式都是試圖通過概率找出特徵與主題類之間的聯絡,資訊增益的定義過於複雜,因此應用較多的是交叉嫡和互資訊。其中互資訊的效果要好於交又嫡,這是因為互資訊是對不同的主題類分別抽取特徵詞,而交叉嫡跟特徵在全部主題類內的分佈有關,是對全部主題類來抽取特徵詞。這些方法,在英文特徵提取方面都有各自的優勢,但用於中文文字,並沒有很高的效率。主要有2 個方面的原因:1) 特徵提取的計算量太大,特徵提取效率太低,而特徵提取的效率直接影響到整個文字分類系統的效率。2) 經過特徵提取後生成的特徵向量維數太高,而且不能直接計算出特徵向量中各個特徵詞的權重。

目前使用評估函式進行特徵選取越來越普遍,特徵選取演算法通過構造一個評估函式的方法,選取預定數目的最佳特徵作為特徵子集的結果。在幾種評估方法中,每一種方法都有一個選詞標準,遵從這個標準,從文字集的所有詞彙中選取出有某個限定範圍的特徵詞集。因為評估函式的構造不是特別複雜,適用範圍又很廣泛,所以越來越多的人們喜歡使用構造評估函式來進行特徵的選取。

這些評估函式在Web文字挖掘中被廣泛使用,特徵選擇精度普遍達到70%~80%,但也各自存在缺點和不足。例如,“資訊增益”考慮了單詞未發生的情況,對判斷文字類別貢獻不大,而且引入不必要的干擾,特別是在處理類分佈和特徵值分佈高度不平衡的資料時選擇精度下降。“期望交叉熵”與“資訊增益”的唯一不同就是沒有考慮單詞未發生的情況,因此不論處理哪種資料集,它的特徵選擇精度都優於“資訊增益”。與“期望交叉熵”相比,“互資訊”沒有考慮單詞發生的頻度,這是一個很大的缺點,造成“互資訊”評估函式經常傾向於選擇稀有單詞。“文字證據權”是一種構造比較新穎的評估函式,它衡量一般類的概率和給定特徵類的條件概率之間的差別,這樣在文字處理中,就不需要計算W的所有可能值,而僅考慮W在文字中出現的情況。“優勢率”不像前面所述的其他評估函式將所有類同等對待,它只關心目標類值,所以特別適用於二元分類器,可以儘可能多地識別正類,而不關心識別出負類。

從考慮文字類間相關性的角度,可以把常用的評估函式分為兩類,即類間不相關的和類間相關的。“文件頻數