天天看點

關鍵詞權重的量化方法TF/IDF

寫這篇文章前,一定要說明一點,我對算法也是剛剛開始研究,一定會有不少地方會有差錯,也請高手指正,上次計算相關度的方式釋出後,就得到了高人的點化,在此謝謝這位高手,也謝謝大家對我的關注。

下面進入主題:

今天我想說的是關鍵詞權重的量化方法TF/IDF,為什麼說這個呢?因為我們知道,在數量龐大的搜尋引擎庫裡,擁有無數個形容同一事物的詞彙,就好像我上次說的手機和彩鈴,他們分明是形容同一個類别:移動通訊相關的東西,但是誰的權重更高呢?這就看這個關鍵詞所表達的意思和在具體文章中的意義來判斷了。

在搜尋引擎中,一個詞能夠概括這篇文章意思的能力越高,權重就越高,反之則降低,舉個例子吧,類似于這樣的一個詞:“吸煙的危害”,在這個詞裡面,吸煙是整個文章的一個主詞,也就是說,吸煙這個詞是整篇文章的核心,而“危害”這個詞卻能表達很多危害,例如環境污染危害,破壞公物的危害等。剩下的一個詞“的”在整個句子裡根本就沒有任何意義,這樣一來,我們的權重問題就可以看的很明白了,具體的權重大小就如下這樣

吸煙>危害>的,而“的”這個詞因為不包含任何意義,是以,一般情況下,搜尋引擎的計算規則中會講“的”這個詞消噪(這點純屬個人看法,請高手指教。)

我們可以看到的是,有些詞,隻要你搜尋一下,馬上就會得出結果,例如吸煙 危害這樣的詞,而“的”這個詞雖然存在于幾乎所有的網頁中,卻根本不能反應出任何意義,這樣一來他的權重就少的可憐了,這就是搜尋引擎中的:“逆文本頻率指數”(Inverse document frequency 縮寫為IDF)他的計算公式是這樣的,假如一個詞W在DW個網頁中出現過,那麼DW的值越大,W的權重就越小。具體的公式如下log(D/dW).

這個我們可以舉個例子,假如有10億個網頁在搜尋庫裡,而手機這個詞出現的次數是兩百萬次,那麼我們的計算公式就是

log(2000000/1000000000)=log(500)=6.2

通過這樣的方式,我們就可以算出詞的權重,這個辦法,可以使用在優化當中的長尾生僻詞的辦法中,利用計算,得到最大的權重詞,當然,你無法知道資料庫裡到底有多少個網頁,是以,也就隻能通過搜尋結果來判斷了,呵呵。

那麼TF是什麼呢?

TF是指你所標明關鍵詞的出現頻率,也就是單詞彙的出現頻率,(Term Frequency)舉個例子,還是上面的例子,假如在一個有一千字的文章中“吸煙的危害”這幾個詞組在網頁中分别出現以下的次數:

吸煙:5次

的:46次

危害:9次

這樣,吸煙出現的頻率是0.005%,“的”出現的頻率是0.046,危害出現的頻率是0.009%這樣,結合相加,這個詞“吸煙的危害”在這個文章中的比重就是0.06%。但是我們剛才說過,“的”這個詞在大量網頁中出現,而且根本無法形容任何意義,是以這個詞是需要被删除的,那麼,整個這個文章的關鍵詞密度 就是(5+9)*100%,也就是僅僅0.016%。

這個辦法我們一般會使用在頁面的關鍵詞密度計算上,記住:類似“的”這樣的詞語是不能被作為關鍵詞的,因為他會被忽略

知道了以上的計算方法後,我們基本就可以知道搜尋引擎是如何工作的了,但是有些朋友為了提高文章權重,大量的堆砌主關鍵詞,也就是說假如“吸煙危害”是這個網頁的關鍵詞,他會為了提高排名而大量的堆砌關鍵詞,其實根本沒有必要去做,我在我的部落格裡曾經提到過一個“免費送Q币”的案例,他就完全避開了這樣的限制,卻做到了很好的排名,這就是一個關鍵詞組合的辦法,以後我會講到,有興趣的朋友可以去研究一下。

接着我們的話題,TF/IDF被認為是資訊檢索中最偉大的發明,就是因為他在一定意義上解決了很多網頁排序的問題,現在的大型搜尋引擎都是靠這個公式去做為基礎的,當然,在計算方式上會改進很多的部分,以求更準确,另外,結合向量空間模型(Vector Space Models) 、多文檔清單求交計算等方式,使得搜尋引擎的結果更加準确。

寫這篇小文的意思,主要是想讓各位對搜尋引擎的排序做一個深入的了解,上次我所說過的相關度與這篇文章也是息息相關的,大家不妨研究一下。

本文原載:飄渺蝶舞的SEO夢想

繼續閱讀