宋琳璇
首先介紹一下TF-IDF算法的官方概念:TF-IDF是一種統(tǒng)計方法,用來評算估測一個詞字對于一個文件集或一個語料庫中的其中一份文件的重要程度。字詞的重要性隨著它在文件中出現(xiàn)的次數(shù)成正比增加,但同時會隨著它在語料庫中出現(xiàn)的頻率成反比下降。TF-IDF加權(quán)的各種形式常常被用來搜索應(yīng)用,作為文件與用戶的查詢之間的相關(guān)程度的度量或評級。
接下來看一下TF-IDF算法的核心使用概念:如果某個詞或短語在一篇文章中出現(xiàn)的頻率TF高,并且在其他文章中很少出現(xiàn),則認(rèn)為這個詞或者這個短語具有很好的類別區(qū)分能力,適合用來進(jìn)行分類。同時,如果一篇文章中出現(xiàn)了我們要查的詞,我們就會認(rèn)為該文章與我們要查的詞有比較大的相關(guān)性。延續(xù)這種思路,如果一篇文檔中出現(xiàn)要查詢的詞的次數(shù)越多,該文章與要查詢的詞之間的相關(guān)性應(yīng)該越大。
具體我們應(yīng)該如何使用TF-IDF算法,可以采用如下思路:在TF-IDF算法中,先定義一個TF(t,d)表示詞語t在文章d中的出現(xiàn)次數(shù)。我們可以通過關(guān)鍵詞密度查詢工具來查詢該詞的TF值,但僅僅考慮詞出現(xiàn)的次數(shù)是不行的,因為我們通常查詢的都是兩個以上的詞,比如“AA BB”或者“XX YY ZZ”等形式。如果是這種形式的查詢,到底哪個詞出現(xiàn)的次數(shù)應(yīng)該作為重要性的依據(jù)呢?這就引出了IDF來測量詞的稀缺度,在這里我們定義IDF為IDF(t)= log(N / DF(t))(具體含義下段會解釋)。
其中DF(t):該詞(以t為代表)在多少篇文章中出現(xiàn)過。查詢辦法是通過google搜索某一個詞t,得到的搜索結(jié)果我們可以理解為DF(t)。
另外,我們定義一個大寫字母N來表示總文章數(shù)。這個數(shù)值雖然在我們工作中沒有什么實際的用處,因為我們不可能知道搜索引擎索引了多少文章。但是對于搜索引擎來說,N卻是一個判定詞權(quán)重的數(shù)據(jù)。
接下來是log:這個也不是我們工作中需要考慮的數(shù)值。一般來說,log的底數(shù)可以隨便設(shè)定,我們采用+1的方式來抑制多倍夸張情況的出現(xiàn)。
接下來我們看一段實例,如何真正的去操作TF-IDF算法:
TF-IDF值 = TF×IDF(TF乘以IDF)=(1+log tf(t,d))× log(N / DF(t))。以《網(wǎng)站權(quán)重 SEO》和《SEO學(xué)習(xí):什么是網(wǎng)站權(quán)重》這篇文章為例:“網(wǎng)站權(quán)重”TF值為:w=1+log 31(次出現(xiàn))=2.49?!熬W(wǎng)站權(quán)重”IDF值為:log(1萬億(假設(shè)值,08年數(shù)據(jù))/ 23,200,000篇)=4.63?!熬W(wǎng)站權(quán)重”TF-IDF值為:2.49*4.63=11.53?!癝EO”TF值為:w=1+log 34(次出現(xiàn))=2.53,“SEO”IDF值為:(1萬億(假設(shè)值,08年數(shù)據(jù))/ 1,220,000,000篇)=2.91?!癝EO”TF-IDF值為:2.53*2.91=7.36。我們得到了“網(wǎng)站權(quán)重”TF-IDF值11.53和“SEO”TF-IDF值7.36。
TF-IDF值越大,文章與索引詞越相關(guān);只有當(dāng)“網(wǎng)站權(quán)重”這個詞權(quán)重高的頁面,才有可能在“網(wǎng)站權(quán)重 SEO”這個搜索結(jié)果的排名上有比較好的效果。