coursera課程 text retrieval and search engine 第二週 推薦。數據結構
TF(term frequency),根據出現的次數做爲權重,出現一次,權值加1。可是僅使用這種方式沒法區分重要的詞和非重要的詞,好比the架構
DF(document frequency),包含關鍵詞的文檔的個數ide
IDF(inverse document frequency),指的是一個單詞若是在更多的文檔中出現,那麼IDF值越低,關係可用下圖表示 函數
即便用TF*IDF。
假如TF不計算頻率,按最簡單的來,有就算1[y={0,1}]。 如下面文檔爲例,假如想搜索"news about presidential campaign",文檔庫中一共有3個文檔.net
d4更相關能夠獲得認同,可是d3和d2卻同樣,有點沒法接受,由於presidential的重要性很明顯應該比about更重要,也就是說,不一樣詞的權重是不同的,在全部文檔中出現的越多的詞,應該重要性越低,能夠算上IDF,假設 每一個單詞的IDF對應以下 3d
對於這種增加的速率,若是可以加入人工的調控是最好的了,據此發現,最好的是BM25orm
通常說來,長文檔更有可能包含更多的詞彙,所以它會以相對疏散的方式匹配到查詢關鍵字,但真實主題卻不是查詢的關鍵字。這樣看來,須要更好的方式來對長文本作出」懲罰」。另外須要考慮到的是,長文檔可能存在兩種狀況,1是僅僅用了過多的詞,2是有不少描述主題的內容,這是不但願有懲罰的。總的來講是但願懲罰有一個度,一種策略是使用「擺動長度正規」cdn
使用雙ln是爲了達到次線性轉換(隨着TF增長,權值增加相對更慢) 此時的排序函數爲blog
定理代表,一個詞出現的頻率和他的排序是一個常量排序