這是一篇關(guān)于搜索引擎排序基本TF-IDF框架的普及文章,并非網(wǎng)上偶然可見的一些泛泛而談甚至斷章取義的內(nèi)容,而是連系搜索引擎的理論,和自己不雅察看到的較多實例所總結(jié)的切實的常識。雖然可能相對斗勁難以理解,但相信我,這些用來理解的侍舊鎖對是值得的。
寫這篇文章主若是為了對后面一篇《seo實踐》系列的文章中要提到的一些內(nèi)容先寫好基本理論,就不放到正篇瑯縵沔去占用篇幅了。
本文先引用一段張俊林的《這就是搜索引擎》中對于TF-IDF框架的概述。因為原文較長,這里概述下我所認(rèn)為的重點,或許會有概述不足之處,所以更具體的內(nèi)容舉薦看原書。
(注:“TF-IDF”或“TF*IDF”是寫法習(xí)慣問題,書賭暌姑的是TF*IDF,不意味著兩者之間有區(qū)別)
TF-IDF事理概述
當(dāng)用戶在搜索引擎搜索一個辭書時辰,它會將詞去和索引庫內(nèi)的文檔去進(jìn)行匹配計較,將和詞語最相關(guān)的必然數(shù)目的文檔掏出,介入后續(xù)的排名計較。此處“最相關(guān)”的量化指標(biāo)被成為“權(quán)值”,而對于絕年夜年夜都搜索引擎,權(quán)值的計較中TF*IDF框架都是斗勁主要的一部門。其中被首要考慮到的因子為:詞頻TF和逆文檔頻率IDF。
詞頻因子(TF)
TF計較因子代表了詞頻,即一個單詞在文檔中呈現(xiàn)的次數(shù)。一般來說,詞剖ё俳高越顯得文檔和該詞相關(guān),就應(yīng)該給以這個單詞更高的權(quán)重。
具體計較詞頻因子的時辰,基于分歧的起點,可以采納分歧的計較公式。最簡單的體例是直接操作詞頻數(shù),好比一個文檔中某單詞呈現(xiàn)5次,它的TF值就是5。
一種詞頻因子的變體計較公式是:W = 1+log(TF)
即將詞頻數(shù)值TF取Log值來作為詞頻權(quán)值,好比單詞在文檔中呈現(xiàn)4次,其詞頻因子權(quán)值為3,公式中的數(shù)字1是為了滑膩計較之用。因為如不美觀TF值為1的情形下,取Log后值為0,即原本呈現(xiàn)了一次的單詞,按照這種體例計較會認(rèn)為這個單詞年夜來沒有在文檔中呈現(xiàn)過,為了避免這種情形,采用+1的體例來進(jìn)行滑膩。之所以要對詞頻取Log,是基于如下考慮:即使也述單詞呈現(xiàn)了10次,也應(yīng)該在計較特征權(quán)制癱,比呈現(xiàn)1次的情形權(quán)值年夜10倍,所以插手Log機(jī)制按捺這種過年夜的差異。
還有種斗勁主要的變體計較公式將文檔的長度也納入考慮。因為與短文檔對比的話,長文檔內(nèi)所有單辭書TF值會普遍比短文檔的值高。這邊不詳提了。
逆文檔頻率因子(IDF)
IDF代表的是文檔集結(jié)規(guī)模的一種全局因子,它只和給定的文檔集結(jié)有關(guān),與具體文檔無關(guān)。所以IDF考慮的不是文檔自己的特征,而是特征單詞之間的相對主要性。
計較公式如下:IDF = log(N/n)
其中N代表文檔集結(jié)中總共有若干好多個文檔,而n代表特征單詞在此魷父多個文檔中呈現(xiàn)過,即文檔頻率。由公式可以,當(dāng)越多的文檔包含某個單詞時,則其IDF質(zhì)ё俳小,意味著這個詞區(qū)分分歧文檔的能力越差。
TF*IDF框架
TF-IDF值的計較公式為:
Weight = TF * IDF
當(dāng)這個質(zhì)ё俳年夜時,文檔就與該詞越相關(guān)。
百度所現(xiàn)實運用的
對于百度,TF-IDF框架自然是被運用到的。但對于單個索引詞排名時,TF-IDF不是關(guān)頭詞排名的抉擇性身分。百度的排名素質(zhì)是概率檢索模子。
按照我以前對百度上做過的簡單統(tǒng)計剖析,百度對于TF計較至少運用了上述的Log滑膩計較體例。除了前面提到的之外,當(dāng)一個關(guān)頭辭書呈現(xiàn)次數(shù)跨越必然閾制癱,其TF值會跟著呈現(xiàn)次數(shù)的增多,而繼續(xù)以Log形式使排名下降。
因為有這個機(jī)制存在,所以一個頁面膳縵沔每個辭書TF-IDF值是有各自分歧的上限的,這對于seo是一個很主要的概念。
可以自己用來現(xiàn)實體驗TF-IDF計較的最簡單體例
雖然不很切當(dāng),但先將一篇文章中某關(guān)頭詞呈現(xiàn)的次數(shù)記為TF值,此外到Google搜索該詞,將該辭書搜索結(jié)不美觀總數(shù)目作為DF值。然后將TF除以DF,就可以獲得最簡單的TF-IDF值了。
盡管這樣的計較很是粗略可能沒什么現(xiàn)實意義,但照此現(xiàn)實計較一次往后就會對TF-IDF輕易理解得多。
seo衍生
舉個實例,好比“噴碼機(jī)價錢”一詞,它會被百度分成“噴碼機(jī)”和“價錢”二詞。(題外話,分詞與否也應(yīng)該是取決于數(shù)據(jù)而非自己直覺的,如不美觀往后有機(jī)緣我會寫寫自己比濫暌姑過的一些體例。但有些人常用的年夜百度快照來看關(guān)頭詞高亮部門來判定分詞,是沒有任何事實基本的,沒什么價值。)
到Google去分袂搜索下“噴碼機(jī)”和“價錢”二詞,“噴碼機(jī)”的結(jié)不美觀年夜約是20,600,000個,“價錢”則對應(yīng)年夜約1,850,000,000個搜索結(jié)不美觀,后者的DF值年夜約高前者百倍。(之所以不到百度去搜索,因為百度顯示搜索結(jié)不美觀數(shù)目上限為1億個)
在這種情形下,哪怕“噴碼機(jī)”和“價錢”二詞都在一篇文檔中呈現(xiàn)不異的次數(shù),后者也會因為IDF因子的影響,而導(dǎo)致權(quán)質(zhì)ё俁遠(yuǎn)低于前者。
是以,一般情形下只有當(dāng)“噴碼機(jī)”這個詞權(quán)值高的頁面,才有機(jī)允ё仝“噴碼機(jī)價錢”這個辭書排名上獲得好的默示,和“價錢”此詞權(quán)值的關(guān)系很小。因為無論若何,“價錢”此辭書權(quán)值是不成能經(jīng)由過程TF-IDF軌則獲得太多的。
所以至少對于百度而言,想零丁做“噴碼機(jī)價錢”這種辭書排名的話,一般要用“噴碼機(jī)”排名本就很高的著陸頁來做,否則相對會難的多。
最后
限于自己的seo水平,無法妄論seo是否應(yīng)該去對搜索引擎進(jìn)行很深切的體味,而且至少主不美觀角度上,我認(rèn)為seo在搜索引擎事理瑯縵沔鉆太深是意義不年夜的工作。但前面提到的,我想只應(yīng)該算是必需把握的基本,如不美觀連對搜索引擎最經(jīng)典的基本算法都沒有花過任何精神去體味的話,又談何與搜索引擎打交道呢?
原文:http://semwatch.org/2012/03/tf-idf/