當前位置:成語大全網 - 英語詞典 - 『IR 信息檢索入門必看』#10 查詢相關反饋(簡明)

『IR 信息檢索入門必看』#10 查詢相關反饋(簡明)

用戶在檢索信息時,通常會以壹個簡短的 query 開始,這樣的查詢往往得不到其最想要的結果。而用戶會在得到結果後優化自己的 query,如:增刪詞項、重新賦權、加入布爾運算符等。

相關反饋 (Relevance Feedback)的主要思想就是:在信息檢索的過程中通過用戶交互來優化查詢,從而提高最終的檢索效果。我們的目的是實現壹個良好的 反饋機制

為了使反饋能讓 query 真正往「更好」的方向演變,需要定義評價 query 的壹個指標。通常我們在 向量空間模型 中評價之,因為可以較好地表達相似度。

假設我們要找壹個最優查詢向量 ,它與相關文檔之間的相似度最大,和不相關文檔之間的相似度最小。若 表示相關文檔集, 表示不相關文檔集,我們希望找到的最優的是 應當滿足:

其中 函數是返回使 最大的變量,相似度 的求法則采用余弦夾角, 和 采用歸壹化後的 單位向量 。此外,我們令:

若使 最大, 需要與 平行,且 為單位向量,故有最佳查詢:

這就是說,最優的查詢向量等於相關文檔的質心向量和不相關文檔的質心向量的差,相當於是最接近相關文檔,同時最遠離不相關文檔。

然而,即使有了上述最佳查詢的表示方法,也無法直接求出來——因為檢索本來的目的就是要找相關文檔,而所有的相關文檔事先是未知的。

Rocchio 提出在真實的檢索情景中,我們可以利用已檢索到的部分相關文檔 和不相關文檔 ,逐步修改原始的查詢向量:

修改後的新查詢從 開始,向著相關文檔的質心向量靠近了壹段距離,而同時又與不相關文檔的質心向量遠離了壹段距離——更加接近最優查詢了。通過不斷叠代,可以觀察到查詢效果確實有顯著的提升。

通常情況下,反饋可分為以下兩種:

在真實相關反饋中,用戶往往不願意主動提供反饋信息(如標記相關或不相關文檔),於是搜索引擎收集用戶的 間接反饋

而點擊流數據則是這個領域最常用的壹種反饋,可以在不幹擾用戶的情況下大量收集(此外還有壹種補充用戶行為信息的方法是眼動追蹤)。

同壹搜索結果中,用戶進行點擊瀏覽的結果被認為是相關的,或者說是「用戶更 偏好 的」。如果用戶查看了每個搜索引擎下面顯示的文本短摘要後,決定跳過它並點擊在排序中低於它的結果,就可以說用戶相對更喜歡這個被點擊的結果。

在假設相關反饋中,還可分為兩種基本方法:

同義詞典構建的代價十分昂貴,通常考慮用 上下文和短語結構 進行分析獲得。而如果把這個思想用於局部分析,則誕生了 LCA 方法:壹種聚焦於從反饋結果中篩選出與 query 相關性更高的 term,再用這些 term 擴展 query 重新檢索的方法。

大致的步驟如下:

相關反饋信息,包括前述文章中提到的相關度、重要度,其實只是 IR 中許多因子的冰山壹角。實際中可能還有若幹、數十個因子,這些因子最後會加權構成壹個統壹的 指標函數

這個指標函數的輸入是數據集(包括查詢和文檔集),輸出是最終檢索出的 ranklist。如何構造這樣壹個復雜的函數呢?

對於構造函數,人們最原始的想法通常是擬合所有 <query, ranklist> 點,但是這顯然不適用於這種規模的問題。

過去的 IR 系統較少用到機器學習,是因為缺乏訓練集,特別是在真實世界中得到的數據集(而不是學術論文中),因為很難收集到用戶檢索的真實需求和對返回文檔的相關反饋。

此外,過去的 IR 系統往往只使用少量的 特征 (feature),如詞項頻率、逆文檔頻率、term 出現的位置等。

少量的特征帶來的是構造函數的便利。而隨著現在網絡的發展、算力的提升,大家開始關註數據集中大量的特征,並嘗試用機器學習使用這些特征。

定義 loss function ,其中 是基於用戶反饋得到的「標準排名」, 是通過擬合的排序函數 F 計算出的「模擬排名」。我們要尋找到壹個 F 使得損失最小——這就是機器學習的目標。

下面以壹個例子說明機器學習在 IR 中的應用。考慮查詢中的 term 出現在文檔的 title (標題) 或 body (正文) 中對返回結果排名的影響。

為此,我們需要對 term 出現的四種情況分別打分:

其中 和 函數是關於 term 是否存在於文檔對應位置的布爾函數(0/1),故 score 的結果只有 0, g , 1- g , 1 四種。我們要求的就是權重 g 。

在第 j 個查詢中,我們對檢索結果中的文檔 i 定義如下 損失函數

這裏簡單的定義 r 函數是關於二者是否相關的布爾函數(0/1),使用平方誤差是為了讓結果更連續。

在訓練集中,我們標註出所有結果的 、 和 r 函數的取值——八種情況,並分別統計其次數。例如, 表示 且相關的例子, 表示 且不相關的例子,其平方誤差之和為:

同樣的,我們對其他三組也進行計算後相加,化簡可得:

要求這個函數的極小值,只需用對關於 g 的導數求零點即可。如果考慮更多的變量,則需要求 偏導 ,再用拉格朗日常數法等數值分析方法。