第三章 詞典及容錯式檢索

2021-07-30 22:40:14 字數 2438 閱讀 1969

《資訊檢索導論》

美德兩國作者 王斌翻譯

本文是本人的讀書筆記

本書參考:

[中科大的教學**,非常具有參考價值]

k-gram: 舉個例子

castle的3-gram形式:$cas,cas,ast,stl,tle,le$

k-gram 索引結構:[實質也是:倒排索引]

詞典: 由所有詞項的k-gram形式組成

倒排記錄表: 包含該k-gram的所有詞項組成

k-gram 索引結構如何支援萬用字元的檢索?

re*ve: 查詢步驟

1. 構造布林查詢:$re and ve$

2. 去k-gram索引中,查詢詞典:$re 和 ve$,對應的詞項list。假設:response,relieve,retrieve,move/relieve,retrieve,remove...

3. 進行與操作,得到詞項:relieve,retrieve

4. 在普通的倒排索引中查詢這些詞項,並返回這些詞項對應的docid。

red* :導致查詢不準確的例子及解決方案

1. $re and red

2. 詞項list可能會有召回,但不準確的case:retired[不準確]、reddit[準確]

3. 增加後過濾:postfiltering:利用red*,對上述結果進行字元匹配過濾。

4. 再根據結果,比如reddit,到普通倒排索引中查詢詞項,返回docid。

grnt: 修正為 grant 或 grunt ?

flew form heathrow: 修正為 flew from heathrow?

演算法:?動態規劃 時空複雜度:o(m*n)

實現:第3章:

找相似集合s

bord 2-gram: bo or rd

假設有下面的2-gram倒排索引表:

通過bord的2-gram找到了,與其相似的詞集合。假設我們只要拉鍊合併中出現過》=2次的詞:aboard boardroom,border

進一步篩選出更合理的s集合? 提出該問題的出發點:boardroom 這種其實和bord差距還是有點大的。

雅可比係數:|a交b|/|a並b| a:query的k-gram b:待選某個詞項k-gram集合

舉個例子:query=bord 2-gram:[bo or rd]

待選詞項:boardroom [bo oa ar rd dr ro oo om]

j_coefficient = 2/9 [值越大,其實越相似]

計算過程發現,我不可能計算每個待選詞項的k-gram,計算量大了;

假設我們倒排記錄表中預先儲存了boardroom的k-gram的個數8,query=bord的2-gram好計算:3; 通過遍歷我們知道2-gram重合部分,也就是交集2;雅可比系統,可以這樣計算: 2/[8+3-2] = 2/9

計算query與集合s的編輯距離,找最小的。作為糾錯詞項。

b-樹的定義

1、b-樹的定義

一棵m(m≥3)階的b-樹是滿足如下性質的m叉樹:

(1)每個結點至少包含下列資料域:

(j,p0,kl,p1,k2,…,ki,pi)

其中:j為關鍵字總數

ki(1≤i≤j)是關鍵字,關鍵字序列遞增有序:k1 即每個非根結點至少應有[m/2]-1個關鍵字,至多有m-1個關鍵字。

因為每個內部結點的度數正好是關鍵字總數加1,故每個非根的內部結點至少有[m/2]子樹,至多有m棵子樹。

(4)若樹非空,則根至少有1個關鍵字,故若根不是葉子,則它至少有2棵子樹。根至多有m-1個關鍵字,故至多有m棵子樹。

2、b-樹的儲存結構

#define max l000 //結點中關鍵字的最大數目:max=m-1,m是b-樹的階

#define min 500 //非根結點中關鍵字的最小數目:min=┌m/2┐-1

typedef int keytype; //keytype應由使用者定義

typedef struct nodebtreenode;

typedef btreenode *btree;

3、b-樹例子

第三章,檢索資料

select prod name from products 上述語句利用select 語句從products表中檢索乙個名為prod name的列,所需要的列名在select 關鍵字之後給出,from關鍵字指出從其中檢索資料的表名 select prod name,prod id,prod nam...

第三章 排序檢索資料

本章介紹使用select語句的order by子句,根據需要排序檢索出的資料 1.子句 clause sql語句由子句構成。乙個子句通常由乙個關鍵字加上所提供的資料組成。2.order by 子句應保證它是select語句中 最後一條子句 該子句的次序不對將會出現錯誤訊息。3.通常,order by...

《現代資訊檢索》第三章 資訊檢索建模

3.2 經典資訊檢索 乙個資訊檢索模型是乙個四元組 d,q,f,r qi,dj d 是文件集中文件的邏輯檢視的集合。q 是使用者資訊需求的邏輯檢視組成的集合。這些表達稱為查詢。f 是乙個對文件 查詢及其關係建模的框架,例如,集合與布林關係 向量和線性代數運算 樣本空間與概率分布。r qi,dj 是排...