搜尋引擎排名演算法介紹-Okapi BM25(Ranking Function of Search Engines)


BM25是一個可以計算詞彙與文章間關聯度的一個演算法,當下個keyword就可以用這個關鍵字與所有文章算關聯度,就可依關聯度來做排名。

應此相關可應用於文章排名、文件推薦系統等等,接下來就簡單介紹此演算法。
更詳細可參考wiki:https://en.wikipedia.org/wiki/Okapi_BM25



k_1,b:調節參數
q_i:關鍵詞
D:文章
f(q_i,D):此關鍵詞在此篇文章的出現次數
|D|:此文章長度
avgdl:所有文章平均長度
IDF(q〗_i):此關鍵詞共在幾篇文章出現倒數

用白話簡單翻譯就是
與關鍵詞在此篇文章出現頻率正相關,與關鍵字在其他文章出現次數負相關,這概念跟TF-IDF很像。
但比較不同他把文章長度加入為考量因素,一樣關鍵字詞頻較長文章重要度會低於較短文章,另外他還加入兩個調節參數,詳細參數設定可參考wiki。

留言

這個網誌中的熱門文章

Python-相關係數矩陣實作(python-correlation matrix )

ASP.NET-後端將值傳給javascript

ASP.NET-FileUpload上傳後自動觸發button click(FileUpload upload auto trigger button click)