五 搜索引擎的查詢系統

查詢系統直接面對用戶,在接受用戶的查詢請求后,通過檢索,排序及摘要提取等計算,將結果組織成搜索結果返回給用戶

特點:快速,準確,全面(效率,效果)

1.1 信息熵

如數據結構的huffMan編碼,為不同詞頻的詞頻創建不同長度的前綴編碼

信息熵在信息論中稱為消息X的熵,其含義是信息集X發出任意一個隨機事件的平均信息量
通過熵闡明概率和信息的關系.變量的不確定性越大,熵也就越大,將其搞清楚所需要的信息量也就越大

1.2 檢索和查詢的區別

查詢的結果是搜索結果網頁;而檢索結果是與查詢詞相關的文檔列表
查詢相對查詢系統而言;檢索相對于索引系統而言

1.3 檢索詞和查詢詞的區別

用戶輸入查詢詞,通過查詢系統分詞提交給檢索代理"檢索分詞"

1.4 自動文本摘要

從文檔中自動提取一個正文片段

2 網頁信息檢索

檢索數據來源于網頁索引庫(網頁對象被索引入庫的全過程),網頁信息檢索輸出是一組文檔編號.

2.1 早期檢索模型

"布爾模型"(Boolean Models)也稱集合模型

采用AND,OR,NOT等邏輯運算符組成的邏輯表達式.通過布爾運算進行檢測的簡單匹配模型.

易于實現,速度快.但是沒有考慮文檔和關鍵詞的相關性,沒有區分查詢詞權重問題.放棄了效果(出現次數排序或者優先詞問題),僅僅考慮效果

2.2 向量空間模型(Vector Space Models)

向量空間模型 主要關心的是效果而非效率.

提出了將查詢詞和文檔按照關鍵詞唯獨分別向量化,然后通過計算這兩個向量之間夾角的方法得到文檔和關鍵詞的相似度.從而優先檢索相似度大的文檔,并進行排序

三個步驟
(1) 把原始查詢和文檔看作文本,使用同樣的向量化過程分別得到查詢向量和文檔向量
(2) 通過計算向量相似度的方法計算原始查詢和文檔的相似度
(3) 按照相似度從大到小進行排序,返回給用戶

將不同的關鍵詞看作不同維度,那么每個文檔關鍵詞進行高向量化得到向量中的每個分量可以理解為向量在關鍵詞維度上的投影.

eg

三維空間

通過每個關鍵詞出現次數比
走進,搜索引擎,學習 = (1/4,2/4,1/4)

對于文檔進行同樣的處理,那么得到類似一個空間向量

然后計算夾角,夾角越小,說明相似度越高,排名越高,返回給用戶的網頁顯示也就越靠前

因為這樣會產生浮點數計算的問題,所以使用詞頻進行處理
TF/IDF方法進行向量化工作,然后計算文檔和查詢詞相似度的問題.

可以使用哈希表的方法快速找到兩個向量相同分量的非0值進行計算

2.3 關鍵詞權重 量化方法 TF/IDF

熵最大限度的壓縮冗余信息對于衡量關鍵詞權重具有特殊意義

具體參考自制簡單搜索引擎

2.4 搜索引擎采用的檢索模型

鎖搜引擎采用布爾模型和空間向量空間模型結合的方法進行信息檢索,布爾模型高效且易于實現;空間向量模型能提高檢索相似度,改善禪尋效果.

一個完整檢索過程

2.5 多文檔列表求交計算

三種情況
(1) 查詢單個詞
(2) 查詢多個詞: 空格隔離
(3) 查詢一個詞:由于分詞形成多詞查詢

對23情況進行文檔求交.

使用"最佳歸并樹算法"

基本思路:越短的文檔列表越早參與文檔列表求交過程...
好處:如果在求最短的兩個文檔列表的交集時發現為空,那么終止這個過程

缺點:
計算有依賴性,難以并發
需要本地空間臨時保存求交結果
最后依次求交必然是1個長列表和一個短列表求交

2.6 檢索結果排序

對于返回結果,只需要返回前n項即可.稱為"top-n查詢"也就是采用堆排序方案處理

堆排序除了內存復制少特點,還具有"就地(inplace)"排序的特點

3 中文自動摘要

3.1 自動摘要的含義和實現

自動摘要是從文檔中自動提取一個正文片段.
對于同一個文檔,其自動摘要對于不同的查詢詞是不同的.所以,自動摘要的計算是實時的,并且和查詢相關,考慮"效率" 和"效果"

摘要必須包含的4層含義:
(1) 摘要指示性:摘要必須出現查詢詞,指出文檔位置
(2) 摘要描述性:如果多個查詢詞,摘要最好全部顯示查詢詞,即使不能,也應當給出權重更高的查詢詞
(3) 摘要簡介性:長度控制,不長不短
(4) 摘要完整性:句子完整,且從句子首部開始,不允許斷句

投票方式+滑動窗口方法.

滑動窗口實現自動摘要的步驟:
(1) 在文檔正文中標記查詢詞出現的位置
(2)從第一個查詢詞開始,取出滑動窗口長度的正文片段作為第一個候選窗口,接下來,每次窗口滑動到下一個出現的查詢詞開始.同樣取出窗口長度的正文片段作為候選窗口,直到取完所有候選窗口
(3)每個候選窗口包含的正文片段中,累計候選窗口中出現的全部查詢詞的權重作為候選窗口的評分,最終評分高的候選窗口作為自動摘要提取的結果輸出.

滑動窗口類似SIngle算法.


標記查詢詞在文檔中的位置<位置,長度,權重>



通過滑動窗口得到6個候選窗口



微調后的滑動窗口

4 生成搜索結果頁

搜索結果頁的主體包含與查詢相關的網頁鏈接URL和自動摘要

生成搜索結果頁的全過程

4.1 生成網頁搜索結果頁

因為索引系統中的使用局部倒排文件的分布式部署,提高并發性,可靠性.而由于這種存儲結構,實際的檢索也是在索引節點內完成.

每個索引節點增加一個檢索模塊從而變成一個檢索節點.

主要步驟:
(1) 檢索請求發送給檢索代理,檢索代理進行查詢詞分詞
(2) 查詢詞分詞后的結果同時發往各個檢索節點
(3) 檢索代理重新排序來自各個檢索節點的文檔,去除top-n作為結果頁拼接的候選文檔
(4) 通過自動摘要模塊從網頁庫中去除n個文檔的摘要信息
(5) 將3,4的結果合并,動態產生搜索結果頁

5 搜索結果頁的緩存

在查詢系統中,搜索結果頁的緩存是對搜索"效率"貢獻的最大設計

注:緩存保存前人查詢結果.查詢時,直接從緩存提取.

結論:

(1) 前20%的查詢詞的查詢次數約總查詢次數的80%
(2) 查詢具有穩定性,查過的查詢詞很可能在將來還會被查詢.

使用LRU緩存技術

具有搜索結果頁緩存功能支持的查詢系統

6 推測用戶查詢意圖

日志分析及挖掘的技巧對排名進行干預.

6.1 查詢分類

導航類
信息類
事物類

導航類可以充分利用瞄信息,關鍵詞位置,標題/正文,PageRank等信息,eg"南京大學"-->"首頁匹配"
而信息類和事物類查詢效果不理想.egZ50,3/10的查詢有效率

6.2 推測信息類,事物類的查詢意圖

(1) 從查詢日志中得到用戶這類查詢中實際點擊的URL,并進行排名反饋
(2) 在用戶的查詢序列中分析查詢意圖,并給出搜索結果

所以:信息類,事物類查詢大多數通過事后分析及日志挖掘的技巧將分析結果反饋給排名系統,使得后續搜索效果更好

7 查詢系統的當前熱點和發展方向

搜索結果是搜索引擎的命脈,改善搜索結果的主要途徑是查詢系統,所以,查詢系統是搜索引中最熱門的話題

7.1 當前熱點

(1) 推測用戶查詢意圖,查詢糾錯,查詢推薦,相關搜索
(2) 能夠在領域進行查詢.包括垂直搜索和分類搜索
(3) 查詢結果的優化(相似結果聚類,垃圾網頁和病毒的甄別)
(4) 提供個性化服務

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容