只考慮剩下的有實(shí)際意義的詞,如果文章中詞頻數(shù)關(guān)系: “Blink” > “詞頻” = “總結(jié)”,那么肯定是 Blink 是這篇文章更重要的關(guān)鍵字 。但又會(huì)遇到了另一個(gè)問題,如果發(fā)現(xiàn) "Blink"、"實(shí)戰(zhàn)"、"總結(jié)"這三個(gè)詞的出現(xiàn)次數(shù)一樣多 。這是不是意味著,作為關(guān)鍵詞,它們的重要性是一樣的?
不是的,通過統(tǒng)計(jì)全部博客,你發(fā)現(xiàn) 含關(guān)鍵字總博客數(shù): “Blink” < “實(shí)戰(zhàn)” < “總結(jié)”,這時(shí)候說明 “Blink” 不怎么常見,一旦出現(xiàn),一定相比 “實(shí)戰(zhàn)” 和 “總結(jié)”,對這篇文章的重要性更大 。
BM25
上面解釋了 TF 和 IDF,那么 TF 和 IDF 誰更重要呢,怎么計(jì)算最終的相關(guān)性得分呢?那就是 BM25 。
BM25算法,通常用來作搜索相關(guān)性平分 。一句話概況其主要思想:對Query進(jìn)行語素解析,生成語素qi;然后,對于每個(gè)搜索結(jié)果D,計(jì)算每個(gè)語素qi與D的相關(guān)性得分,最后,將qi相對于D的相關(guān)性得分進(jìn)行加權(quán)求和,從而得到Query與D的相關(guān)性得分 。
BM25算法的一般性公式如下:

其中,Q表示Query,qi表示Q解析之后的一個(gè)語素(對中文而言,我們可以把對Query的分詞作為語素分析,每個(gè)詞看成語素qi 。);d表示一個(gè)搜索結(jié)果文檔;Wi表示語素qi的權(quán)重;R(qi,d)表示語素qi與文檔d的相關(guān)性得分 。
其中 Wi 通常使用 IDF 來表達(dá),R 使用 TF 來表達(dá);綜上,BM25算法的相關(guān)性得分公式可總結(jié)為:

BM25 通過使用不同的語素分析方法、語素權(quán)重判定方法,以及語素與文檔的相關(guān)性判定方法,我們可以衍生出不同的搜索相關(guān)性得分計(jì)算方法,這就為我們設(shè)計(jì)算法提供了較大的靈活性 。
Part 4、空間索引在點(diǎn)評口碑上,經(jīng)常有類似的場景,搜索 “1公里以內(nèi)的美食”,那么這個(gè)1公里怎么實(shí)現(xiàn)呢?
【深入搜索引擎原理 搜索引擎其實(shí)也是一個(gè)什么系統(tǒng)】在數(shù)據(jù)庫中可以通過暴力計(jì)算、矩形過濾、以及B樹對經(jīng)度和維度建索引,但這性能仍然很慢(可參考 為什么需要空間索引 ) 。搜索里用了一個(gè)很巧妙的方法,Geo Hash 。

如上圖,表示根據(jù) GeoHash 對北京幾個(gè)區(qū)域生成的字符串,有幾個(gè)特點(diǎn):
- 一個(gè)字符串,代表一個(gè)矩形區(qū)域
- 字符串越長,表示的范圍越精確 (長度為8時(shí)精度在19米左右,而當(dāng)編碼長度為9時(shí)精度在2米左右)
- 字符串相似的,表示距離相近 (這就可以利用字符串的前綴匹配來查詢附近的POI信息)
一、對緯度 39.908 的編碼如下:
- 將緯度劃分2個(gè)區(qū)間,左區(qū)間 [-90, 0) 用 0 表示,右區(qū)間 [0, 90] 用 1 表示,39.908 處在右區(qū)間,故第一位編碼是 1;
- 在將 [0, 90] 劃分2個(gè)區(qū)間,左區(qū)間 [0, 45) 用 0 表示,右區(qū)間 [45, 90] 用 1 表示,39.908處在左區(qū)間,故第二位編碼是 0;
- 同1、2的計(jì)算步驟,39.908 的最后10位編碼是 “10111 00011”
- 將經(jīng)度劃分2個(gè)區(qū)間,左區(qū)間 [-180, 0) 用 0 表示,右區(qū)間 [0, 180] 用 1 表示,116.397處在右區(qū)間,故第一位編碼是 1;
- 在將 [0, 180] 劃分2個(gè)區(qū)間,左區(qū)間 [0, 90) 用 0 表示,右區(qū)間 [90, 180] 用 1 表示,116.397處在右區(qū)間,故第二位編碼是 1;
推薦閱讀
- 網(wǎng)絡(luò)電話的原理是什么
- 網(wǎng)絡(luò)爬蟲的原理
- 網(wǎng)橋的工作原理
- 網(wǎng)絡(luò)傳輸?shù)脑?
- 太陽能熱水器工作原理 太陽能熱水器的基本參數(shù)
- 軟件無線電原理與應(yīng)用 5g網(wǎng)絡(luò)架構(gòu)及關(guān)鍵技術(shù)分析
- 入射面和折射面的定義及其物理原理 入射面和折射面的定義是什么
- 機(jī)械原理關(guān)于斜齒輪重合度的問題
- 機(jī)械千斤頂?shù)脑砑?
- 機(jī)械制冷的原理
