在傳統常見的 IR Model 約有以下幾種 :
- Boolean Model
- Vector Model
- Probabilistic Model
這邊要介紹的是 Probabilistic Model, 並透過簡單範例介紹如何利用此 Model 進行查詢 Ranking.
Probabilistic Principle :
使用 Probabilistic Model 的流程如下, 透過 "查詢" 來計算文件是相關文件的機率 :
簡單來說就是會有一個初始的 Rating, 透過第一次取回的文件讓使用者確認那些是相關, 與不相關文件. 接著透過 Feedback 的相關文件再計算下次文件的 Ranking. 而 Ranking 使用的 weighting 如下所示 (dj 為 Docj, q 為查詢) :
Similarity :
在開始檢視用來 Ranking 的公式前, 先來看看使用到的 Terminology 與符號說明 :
在 Probabilistic Model 透過下面公式 sim(dj, q) 來計算 "查詢" 與 "文件" 的相似度, 越相似代表越相關 (Ranking 越高) :
透過推導可以得到下面最終的公式長相 :
- Initial guess
上面的公式 R 是指所有相關文件的 collection. 問題是在一開始的時候根本不知道 R 是什麼, 因此需要一個 initial guess 來讓公式可以求值 :
- Initial ranking
有了 initial guess, 接下來我們便可以進行 Ranking, 並且將取回的 answer set 用下面符號作為後續公式推導 :
* V
* Vi
- Feedback ranking
所以我們可以算出在 Initial Guess 後的 Initial Ranking :
Smoothing :
Smoothing 是一個很大的 topic, 一般是解決 Sparse Matrix 的現象. 這邊就公式而言 feedback 的 V 可能是 0, 這樣就會有無窮大的問題發生, 因此為了避免這個問題, 透過 Smoothing 的技巧如下 :
這樣就可以避免分母是 0 的狀況使得 Ranking 的動作可以繼續.
Example :
接著我們來看一個簡單範例, 考慮有 Query 與三個文件如下 (N=3) :
第一步就是把 functional word 如 a, of 等排除在 feature terms 外. 並找出 key words 與算出 idf (Inverse of Document Frequency) :
接著選出關鍵字並將之編號 ki :
- Initial Guess
- Feedback search
接著有 Initial Guess 與 Initial Ranking 後, 假設我們選擇 d2 為 Answer set, 則 (使用 Alternative 1 的 Smoothing):
接著我們可以使用套件 IRToolkit.jar 來驗證上面的說明 :
執行過程如下 :
Supplement :
* 台大資工課程 > 資訊檢索與擷取 (陳信希 教授)
沒有留言:
張貼留言