向量模型

向量模型認識到布爾模型中的二元權重的局限性,從而提出了一個適合部分匹配的框架。它在查詢串和文檔之間分配給索引術語非二元的權重,這些術語權重反映了資料庫中的每篇文檔與用戶遞交的查詢串的相關度,並將查詢返回的結果文檔集按照相關度的降序排列,所以向量模型得到的文檔是部分地匹配查詢串。向量模型的優點在於根據秩(rank)返回的結果集要比布爾模型返回的結果集在感覺上更加符合檢索用戶的需要。

基本簡介

假設序偶對 的權重 是準確的,非二元的。更進一步,在查詢串中的索引術語也被賦予權重。假設 是序偶對 的權重,且 >0。查詢向量 ,t表示資料庫中索引術語的數目。和布爾模型中的一樣,文檔Dj的向量 。

因此,文檔Dj和用戶查詢串q以t維向量的形式表示如圖2.1所示。該向量模型計算出文檔Dj關於查詢串q的相關度,即向量 的相關性,這種相關性可以通過余(cosine)法則被量化:

q

圖2.1 的餘弦值即為

其中 和 是文檔和查詢向量的範數(norms)。元素 並不影響返回的結果文檔集,因為它對資料庫中所有的文檔都是一樣的。元素 在文檔空間中提供標準化。因為 ,所以 。這樣該向量模型根據查詢的相關度來標記文檔的秩,而在布爾模型中文檔相對於查詢串,只有相關和不相關兩種狀態。因此即使有的文檔只是部分匹配查詢串,由於它相對於查詢串具有較高的相關度,也會被返回。為了計算文檔的秩,我們首先需要知道定義索引術語權重的方法。

索引術語的權重

索引術語的權重可以通過多種方法獲得,這裡不詳細的進行討論,我在這裡要闡明的是大多數計算術語權重的技術中的共同點。假設存在一個對象的集C和 一個描述模糊的集合A(a vague description of a set),簡單聚類算法的目的是將對象集C分成兩個集合:與集合A相關的對象的集合和與集合A無關的對象的集合。這裡“模糊描述”表示我們不能確定那些對象屬於集合A。例如構造一個汽車的集合A ,“which have a price comparable to that of a Lexus 400”。由於不知道術語comparable的確切含義,因此不能準確的來描述集合A。大多數聚類算法會根據這些對象的屬性將他們分成不同的類。例如,癌症病人可以被分為以下五類:晚期、早期、轉移(metastasis)、已診斷(diagnosed)、和恢復。這樣就能決定一個新的癌症病人應該屬於上述五類中的哪一類。下面我們討論簡單的聚類問題,即資料庫中的文檔相對於給定的查詢串是相關還是不相關。

信息檢索

在Salton的著作中把信息檢索問題看作一個聚類問題。我們把資料庫中的文檔集作為對象集C,把用戶的查詢串定義為那個模糊描述的集合A。在這種情況下,信息檢索問題可以被簡化成為判斷資料庫中的哪些是屬於集合A的,哪些不屬於集合A的問題。在聚類問題中需要解決兩個主要的問題。首先要確定集合A的特徵是什麼,這種功能應該能較好的描述集合A中的對象。其次要確定C中剩餘的對象區別於集合A中對象的特徵。第一個集合的特徵為量化提供了內聚相關度,而第二個集合則為量化提供了內聚的相異度。

內聚相關度量化

在向量模型中,內聚相關度的量化是通過計算術語 在文檔 中的出現頻率來實現的。這些術語的頻率( )表現了術語反映文檔內容的程度。此外,內聚的相異程度的量化是通過計算術語 在集合中所有文檔的出現頻率的倒數來實現的,用 (inverse document frequency)來表示。使用 的目的是,在許多文檔中出現的術語對區分查詢串與文檔是相關還是不相關時是沒有多大用處的。在信息檢索問題中,好的聚類算法,即最有效的術語權重方案應該儘量平衡這兩種要素。

假設N為資料庫中的總的文檔數, 表示資料庫中出現索引術語 的文檔數, 為術語 在文檔 中出現的次數。則術語 在文檔中 的規格化頻率 為:

表示在文檔 中出現的單詞數。如果術語 在文檔 中沒有出現,則 =0。進一步,定義 為術語 的倒置文檔頻率,且 。則術語 相對於文檔 的權重 。這種術語權重的算法稱為 算法。對於查詢術語的權重,Salton和Buckley給出了這樣一個公式: ,其中 表示術語 在查詢串中的頻率。

優點

向量模型的優點在於:

1) 術語權重的算法提高了檢索的性能;

2) 部分匹配的策略使得檢索的結果文檔集更接近用戶的檢索需求;

3) 根據結果文檔對於查詢串的相關度通過Cosine Ranking公式對結果文檔進行排序。

相關詞條

相關搜尋

熱門詞條

聯絡我們