TF-IDF算法是一種統計算法,用於對檢索的加權。簡單的講其作用是評估一字詞對於一個文件的重要程度。
在SEO的衍生應用中,我們可以這麼去理解上面這段話:在一個公司裡,有10個SEOer,每個人都寫了一篇關於SEO的文章,並且把這些文章都放在了一個文檔集裡。我們可以預料到的是,基本每篇文章中都會重復多次出現SEO這個詞,意味著這十篇文章都與SEO有關。現在我要查找一篇關於網站權重的SEO文章。那麼我會在搜索引擎中輸入“SEO 網站權重”。
最終我找到兩篇同時出現了這兩個詞的文章,第一篇裡面出現了2次“網站權重”和10次“SEO,另一篇出現了10次“網站權重”和2次“SEO”。現在的問題是:拋開作者的素質(網站整體權重)、文章質量(頁面權重)、公司內專家的推薦(高質量外鏈)以及其他種種因素的影響後,誰的文章應該排在搜索結果的前面?
帶著這個問題,我們來學習TF-IDF算法以及TF-IDF算法在SEO中衍生的應用。
TF-IDF的核心概念
如果某個詞或短語在一篇文章中出現的頻率TF高,並且在其他文章中很少出現,則認為此詞或者短語具有很好的類別區分能力,適合用來分類。
同時,如果一篇文章中出現了我們要查詢的詞,我們就會認為該文章與我們要查的詞有比較大的相關性。延續這種思路,就是如果一篇文檔中出現要查詢的詞的次數越多,該文章與要查詢的詞之前的相關性應該越大。
我們在以往的SEO工作中,運用到的關鍵詞密度技術,基於的就這個TF原理。
那麼我們在TF-IDF算法中,先定義一個TF(t,d)表示詞語t在文章d中的出現次數。
我們可以通過關鍵詞密度查詢工具來查詢TF值:http://tool.chinaz.com/Tools/Density.aspx
但僅僅考慮詞出現的次數是不行的,因為常常我們查詢的都是兩個以上的詞,比如“AA BB”或者“XX YY ZZ”等形式。如果是這種形式的查詢,哪個詞出現的次數應該做為重要性的依據呢?這就引出了IDF來測量詞的稀缺度,這裡我們定義IDF為IDF(t) = log(N / DF(t))。其中:
DF(t):該詞(以t為代表)在多少篇文章中出現過。查詢辦法是通過google搜索某一個詞t,得到的搜索結果我們可以理解DF(t)。
N:總文章數。這個數值在我們SEO工作中沒有什麼實際的用處,因為我們不可能知道搜索引擎索引了多少文章。但是對於搜索引擎來說,N卻是一個判定詞權重的數據。
log:這個也不是我們SEO工作中需要考慮的數值,一般而言,log的底數可以隨便設定。一般而言,我們采用+1的方式來抑制上述“網站權重 SEO”例子中第二篇出現10次“網站權重”的文章比第一篇出現2次“網站權重”的文章重要5倍的誇張情況出現。
TF-IDF的SEO應用實戰
看到這裡,是不是覺得很煩躁?我們來進入一段廣告……呃,不,進入一段實例:
TF-IDF值 = TF×IDF(TF乘以IDF) = 1+log tf(t,d) × log(N / DF(t))
以《網站權重 SEO》和《SEO學習:什麼是網站權重》這篇文章為例:
“網站權重”TF值為:w=1+log 31(次出現)=2.49
“網站權重”IDF值為:23,200,000篇/1萬億(假設值,08年數據)=4.63
“網站權重”TF-IDF值為:2.49*4.63=11.53
“SEO”TF值為:w=1+log 34(次出現)=2.53
“SEO”IDF值為:1,220,000,000篇/1萬億(假設值,08年數據)=2.91
“SEO”TF-IDF值為:2.53*2.91=7.36
我們得到了“網站權重”TF-IDF值11.53和“SEO”TF-IDF值7.36。這有什麼用呢?
TF-IDF值越大,文章與索引詞越相關;
只有當“網站權重”這個詞權重高的頁面,才有可能在“網站權重 SEO”這個搜索結果的排名上有比較好的效果;
錨文本鏈接需要加強“網站權重”這個詞;
如果我們針對這個頁面做“SEO”的錨文本,則不會有太好的表現;
在沒有其他因素加權或降權的情況下,小於該頁面的總計詞權值18.89(11.53+7.36)的頁面將排名較低,大於18.89的頁面將排名比次文章高
TF-IDF在SEO應用的總結
以上只是一個TF-IDF在SEO衍生應用中的一個例子。無論是TF-IDF的計算方式,或者是該案例的假設條件,都是不嚴謹和准確的。但這不妨礙我們明白“關鍵詞密度”這一SEO技術的原理。同時,也在關鍵詞排名方面,跟競爭對手有了一個可以量化的參考。
無論百度還是谷歌又或者其他搜索引擎,TF-IDF只是其搜索排名算法中很小的一部分。同時為了打擊關鍵詞堆砌,各大搜索引擎又都會對TF值做一定的限制。SEOMoz給的一個安全的詞頻數為每篇頁面不重復15詞關鍵詞。而不是簡單的用2%-8%的關鍵詞密度。當然這個建議是基於國外的搜索引擎。
我們在學習SEO時,的確需要了解一些技術和理論的知識,這些知識有助於我們更好的開展工作。但同時,我們也無需糾結於一些純理論和技術方面的問題,畢竟,在SEO這個行業中,實戰和經驗同樣無比重要。