資訊檢索導論(第二章) 詞項詞典及倒排記錄表

2021-08-04 09:01:52 字數 1590 閱讀 6886

文件字元生成過程中存在編碼識別問題,一般通過啟發式的機器學習手段來識別或者手工選擇方式來解決;

文件的「單位」:文件單位即「

索引粒度」的設定往往需要根據實際情況的需求設定,粒度過大或者過小都有弊端,粒度過小,詞彙都被包含在篇幅很小的段落中,遺漏了其餘相關的段落後導致正確率高召回率低,粒度過大,正確率低召回率高;

詞條化:將給定的字串行拆分成一系列的子串行的過程,其中的每個子串行稱作詞條;

詞條類:相同的詞條構成的集合稱作詞條類;

詞條化處理一般會剔除特殊字元或者進行歸一化處理,往往將文件與查詢的詞語使用相同的方法進行歸一化處理來保證查詢結果的準確性;

去除停用詞:去除意義不大的詞項比如the,to等詞彙,但是需要注意的是並不是所有情況下這些詞語都是應該作為通用詞而刪除的!記得以前有乙個思維定勢,認為有些詞語在任何時候都應該作為停用詞去除,這種思路是錯誤的,例子有很多這裡就不一一枚舉了;

詞項歸一化:將形式不完全一致的詞項歸納、總結到同乙個等價類;

常用的詞項歸一化方法:①採用非歸一化的詞條進行索引②構建索引的時候就對詞進行拓展;

詞條歸一化常遇到的問題以及對策:

① 某些語言系統中變音符號常出現在字元中,並且不同的變音符號代表著不通的含義(如西班牙語),而在檢索資訊時候由於輸入速度、使用者惰性等原因並不輸入這些變音符號;

② 大小寫轉換問題,一般檢索系統會將使用者輸入的檢索詞彙進行統一大寫轉小寫或小寫轉大寫,這種方式會將原本具有專有名詞的含義與其他詞項含義等同,如使用者檢索ferrai(法拉第)轉成小寫後意義已經改變;其次方式是將原本由於語法原因大寫的字母還原小寫;或者採用機器學習中的序列模型,基於多種特徵來實現精確的大小寫決策(truecasting);

③ 英語中特殊的語法習慣等等(歐洲與美國描述時間的方式不同等);

詞幹還原和詞形歸併

都是一種嘗試從特定詞彙尋找源詞項的過程,詞幹還原通常使用啟發式的過程通過取除單詞的前字尾來還原詞項的原本形式,而詞項歸併是一種利用詞彙表和詞形分析來返回原本詞項的過程;

基於跳表(skip list)的倒排記錄表快速合併演算法

原理:在倒排記錄表中存入若干個指標,若合併過程中發現指標所指結點值不滿足條件則指標前的所有結點可以直接忽略,節約合併時間;其次對於指標縮放的位置、個數是乙個需要考慮的問題,常採用的方式是在每個處放置指標,其中p是倒排記錄的長度;

短語查詢

實現短語查詢的常用方式是二元接續詞對,如friends romance countryman則產生了如下二元接續詞對:「friends romance」和「romance countryman」,更長的查詢通過and組成的布林查詢來實現,這其中查詢的短語經常會出現含有介詞、虛詞等詞彙,通常進行詞性標註後將這些詞彙進行剔除後效果更好;

存在的問題:

需要掃瞄整個詞彙表,需要為每個單詞都建立索引,匹配錯誤可能性較大;

三元借續甚至更高的方法需要大大增加詞彙表的大小;

位置資訊索引

文件儲存方式:文件id:(位置1,位置2,… …);

弊端:空間消耗較大;

混合索引機制:

通常對於使用者經常查詢的短語即高頻短語使用短語索引,其他的使用位置索引;

第二章 檢索資料

本章介紹如何用select語句從表中檢索乙個或多個資料列。1.select語句 關鍵字 keyword 作為sql組成部分的保留字。關鍵字不能用作表或列的名字。sql語句不區分大小寫。通常對所有sql關鍵字使用大寫,而對所有列和表名使用小寫,使 更易於閱讀和除錯。注意 雖然sql不區分大小寫,但表名...

演算法導論第二章

插入排序原始碼 1 include 2 include 3 4using namespace std 56 void insert sort inta 7 17 a i 1 key 18 19 2021 intmain 22view code 逆序輸出 1 include 2 include 3 4...

演算法導論 第二章作業

作業2.1 2 template void insert t a,int n a i 1 key 2.1 3 template void find t a,int n,t v if i 1 v nil 迴圈不變式 初始化 i 1,v還沒和任何a陣列中的元素比較,所以是 1,它為真。保持 如果j迴圈到...