Preface :
在 Frequency-Based Indexing Method 使用了 tf (term frequency) 來當作資訊檢索時的 weighting, 這樣用沒有什麼不好, 只是會有盲點. 試想如果某些文件字特別多, 自然包含查詢的字元的機率會比一般小文件大的許多. 但是同樣次數的 terms 在小文件與大文件的權重應該是一樣的嗎? 再者某些 terms 在許多文件都有出現與某些 terms 只有在少數文件出現的權重應該也是不同的! (那些 terms 只在少數文件出現的, 相對於在多數文件都有出現的 terms 較有區別度, 故預期應該有比較大的權重.)
Document Frequency :
為了解決上面說的問題, 這邊引入新的符號 df (document frequency) 說明某個 term 在整個文件集有多少文件包含該 term (即使某文件含有多個該 term, 也只算一次.). 底下是對該符號的討論 :
Inverse Document Frequency :
為了將剛剛的說明, 有較少文件包含的 term 應該有較高的權重, 引入了 idf :
接著如果考慮 term 在文件中出現的頻率加上該 term 的權重, 便形成下面公式 :
這個公式帶來以下好處 :
tf-idf weighting :
另一個常見的符號 tf-idf 的 weighting 公式如下 :
底下範例我們將使用此 weighting 來進行檢索的 Ranking 計算.
Example :
這邊的 Score 計算, 是將查詢中的每個 term 在文件中的 tf-idf 加起來, 並以此 Score 進行 Ranking (需要引入套件 IRToolkit.jar):
運行訊息如下 :
這邊值得注意的是 Doc005(一個 A 與 一個 X) 雖然與 Doc003(兩個 A) 同樣都包含兩個查詢的 term, 但是因為 "X" 字元在文件集有較少的文件包含, 故有較高的 idf 值. 所以 Doc005 的 Ranking 比 Doc003 高!
Supplement :
* 台大資工課程 > 資訊檢索與擷取
在 Frequency-Based Indexing Method 使用了 tf (term frequency) 來當作資訊檢索時的 weighting, 這樣用沒有什麼不好, 只是會有盲點. 試想如果某些文件字特別多, 自然包含查詢的字元的機率會比一般小文件大的許多. 但是同樣次數的 terms 在小文件與大文件的權重應該是一樣的嗎? 再者某些 terms 在許多文件都有出現與某些 terms 只有在少數文件出現的權重應該也是不同的! (那些 terms 只在少數文件出現的, 相對於在多數文件都有出現的 terms 較有區別度, 故預期應該有比較大的權重.)
Document Frequency :
為了解決上面說的問題, 這邊引入新的符號 df (document frequency) 說明某個 term 在整個文件集有多少文件包含該 term (即使某文件含有多個該 term, 也只算一次.). 底下是對該符號的討論 :
Inverse Document Frequency :
為了將剛剛的說明, 有較少文件包含的 term 應該有較高的權重, 引入了 idf :
接著如果考慮 term 在文件中出現的頻率加上該 term 的權重, 便形成下面公式 :
這個公式帶來以下好處 :
tf-idf weighting :
另一個常見的符號 tf-idf 的 weighting 公式如下 :
底下範例我們將使用此 weighting 來進行檢索的 Ranking 計算.
Example :
這邊的 Score 計算, 是將查詢中的每個 term 在文件中的 tf-idf 加起來, 並以此 Score 進行 Ranking (需要引入套件 IRToolkit.jar):
運行訊息如下 :
這邊值得注意的是 Doc005(一個 A 與 一個 X) 雖然與 Doc003(兩個 A) 同樣都包含兩個查詢的 term, 但是因為 "X" 字元在文件集有較少的文件包含, 故有較高的 idf 值. 所以 Doc005 的 Ranking 比 Doc003 高!
Supplement :
* 台大資工課程 > 資訊檢索與擷取
沒有留言:
張貼留言