TF-IDF框架與其可以衍生到的SEO知識

  這是一篇關於搜索引擎網站排序基礎TF-IDF框架的普及文章,並非網上間或可見的一點泛泛而談甚至於望文生義的內部實質意義,而是接合搜索引擎網站的理論,和自個兒仔細查看到的較多實際的例子所總結概括的切合實際的知識。固然有可能相相比較較難於了解,但信任我,這些個用來了解的時間完全是值當的。

  寫這篇文章主要是為了對後面一篇《SEO實踐》系列的文章中要提到的一點內部實質意義先寫好基礎理論,就不放到正篇裡邊去佔用篇幅了。

  本文先援用一段張俊林的《這就是搜索引擎網站》中對於TF-IDF框架的大略敘述。因為原文較長,這處大略敘述下我所覺得的重點,也許會有大略敘述不充足之處,所以更周密的內部實質意義引薦看原書。

  (注:TF-IDF或TF*IDF是寫法習性問題,書中用的是TF*IDF,沒想到味著兩者之間有差別)

  TF-IDF原理大略敘述

  當用戶在搜索引擎網站搜索一個詞的時刻,它會將詞去和引得庫內的文檔去施行般配計算,將和詞和詞組最有關的一定數目的文檔抽取,參加後續的名次計算。此處最有關的量化指標被變成權值,而對於絕大部分數搜索引擎網站,權值的計算中TF*IDF框架都是比較關緊的一小批。那裡面被主要思索問題到的因數為:詞的出現次數TF和逆文檔頻率IDF。

  詞的出現次數因數(TF)

  TF計算因數代表了詞的出現次數,即一個單詞在文檔中顯露出來的回數。普通來說,詞的出現次數越高越顯得文檔和該詞有關,就應當給與這個單詞更高的權重。

  具體計算詞的出現次數因數的時刻,基於不一樣的動身點,可以取納不一樣的計算公式。最簡單的形式是直接利用詞的出現次數數,譬如一個文檔中某單詞顯露出來5次,它的TF值就是5。

  一種詞的出現次數因數的變體計算公式是:W = 1+log(TF)

  將要詞的出現次數數字TF取Log值來作為詞的出現次數權值,譬如單詞在文檔中顯露出來4次,其詞的出現次數因數權值為3,公式中的數碼1是為了平而光滑計算之用。由於假如TF值為1的事情狀況下,取Log後值為0,即壓根兒顯露出來了一次的單詞,依照這種辦法計算會覺得這個單詞從來在文檔中顯露出來過,為了防止這種事情狀況,認為合適而使用+1的形式來施行平而光滑。之所以要對詞的出現次數取Log,是基於如下所述思索問題:縱然一個單詞顯露出來了10次,也應當在計算特點標志權值時,比顯露出來1次的事情狀況權值大10倍,所以參加Log機制制約這種過大的差別。

  還有種比較關緊的變體計算公式將文檔的長度也歸入思索問題。由於與短文檔相形的話,長文檔內全部單詞的TF值會存在廣泛比短文檔的值高。這邊不詳細提了。

  逆文檔頻率因數(IDF)

  IDF代表的是文檔聚齊范圍的一種整個的局面:胸懷~因數,它只和給定的文檔聚齊相關,與具體文檔無關。所以IDF思索問題的不是文檔本身的特點標志,而是特點標志單詞之間的相對關緊性。

  計算公式如下所述:IDF = log(N/n)

  那裡面N代表文檔聚齊中一共有若乾個文檔,而n代表特點標志單詞在那裡面若乾個文檔中顯露出來過,即文檔頻率。由公式可以,當越多的文檔裡面含有某個單詞時,則其IDF值越小,意味著這個詞區別不一樣文檔的有經驗越差。

  TF*IDF框架

  TF-IDF值的計算公式為:

  Weight = TF * IDF

  當這個值越大時,文檔就與該詞越有關。

  百度所實際使用的

  對於百度,TF-IDF框架天然是被使用到的。但對於單個引得詞名次時,TF-IDF不是網站關鍵詞名次的表決性因素。百度的名次實質是幾率檢索板型。

  依據我曾經對百度上做過的簡單計數剖析,百度對於TF計算至少使用了上面所說的的Log平而光滑計算辦法。除開面前提到的以外,當一個網站關鍵詞的顯露出來回數超過一定閾值時,其TF值會隨著顯露出來回數的增多,而接著以Log方式使名次義之下降。

  由於有這個機制存在,所以一個頁面上頭每個詞的TF-IDF值是有各自不一樣的最大限度的,這對於SEO是一個很關緊的概念。

  可以自個兒用來實際體驗認識TF-IDF計算的最簡單辦法

  固然不很確切,但先將一篇文章中某網站關鍵詞顯露出來的回數記為TF值,額外到Google搜索該詞,將該詞的搜索最後結果總額量作為DF值。而後將TF除以DF,就可以獲得最簡單的TF-IDF值了。

  盡管這麼的計算十分粗略有可能沒關系實際意義,但照此實際計算一次往後便會對TF-IDF容易了解得多。

  SEO衍生

  舉個實際的例子,譬如噴碼機價錢一詞,它會被百度分成噴碼機和價錢二詞。(題外話,分詞與否也應當是決定於於數值而非自個兒直覺的,假如往後有機緣我會寫寫自個兒近來用過的一點辦法。但有點人常用的從百度快照來看網站關鍵詞高亮局部來判斷分詞,是沒有不論什麼事情的真實情況基礎的,沒關系價值。)

  到Google去作別搜索下噴碼機和價錢二詞,噴碼機的最後結果約是20,600,000個,價錢則對應大約1,850,000,000個搜索最後結果,後者的DF值大約高前者數百倍。(之所以不到百度去搜索,由於百度顯露搜索最後結果數目最大限度為1億個)

  在這種事情狀況下,姑且有噴碼機和價錢二詞都在一篇文檔中顯露出來相同的回數,後者也會由於IDF因數的影響,而造成權值遠遠低於前者。

  因為這個,普通事情狀況下只有當噴碼機這個詞權值高的頁面,纔有機緣在噴碼機價錢這個詞的名次上取得好的表達,和價錢此詞權值的關系細小。由於不管怎麼樣,價錢此詞的權值是沒可能經過TF-IDF規則取得非常多的。

  所以至少對於百度而言,想單獨做噴碼機價錢這種詞的名次的話,普通要用噴碼機名次本就頎長的著陸頁來做,不然相對會難的多。

  最終

  限於自個兒的SEO水准,沒有辦法妄論SEO是否應當去對搜索引擎網站施行很深化的理解,並且至少主觀角度上,我覺得SEO在搜索引擎網站原理裡邊鑽太深是意義半大的事物。但面前提到的,我想只應當總算務必掌握的基礎,假如連對搜索引擎網站最經典的基礎算法都沒有花過不論什麼精神力去理解的話,又談何與搜索引擎網站交道呢?

原文:http://semwatch.org/2012/03/tf-idf/