參考資料:http://blog.csdn.net/hguisu/article/details/7996185
接分析在鏈接分析中有2個經典的演算法,1個是PageRank演算法,還有1個是HITS演算法,說白了,都是做鏈接分析的。具體是怎麼做呢,繼續往下看。
PageRank演算法
要說到PageRank演算法的作用,得先從搜索引擎開始講起,PageRank演算法的由來正式與此相關。
搜索引擎
最早時期的搜索引擎的結構,無外乎2個核心步驟,step1:建立龐大的資料庫,step2:建立索引庫,用於指向具體的資料。然後就是用戶的查找操作了,那怎麼查呢,一個很讓人會聯想到的方法就是通過關鍵字匹配的方法,例如我想輸入張三這個關鍵詞,那我就會在資源中查包含有張三這個詞語的文章,按照關鍵詞匹配方法,只要一篇文章中張三出現的次數越多,就越是要查詢的目標。(但是更公正的方法應是次數/文章總次數,一個比值的形式顯然更公平)。仔細這麼想也沒錯。好繼續往下。
Term Spam攻擊
既然我已經知道了搜索的核心原理,如果我想要讓我的網頁能夠出現在搜索的結果更靠前的位置,只要在頁面中加入更多對應的關鍵詞不就OK了,比如在html的div中寫入10000個張三,讓後使其隱藏此標籤,使得前端頁面不受影響,那我的目的豈不是達到了,這就是Term Spam攻擊。
PageRank演算法原理
既然關鍵詞匹配演算法容易遭到攻擊,那有什麼好的辦法呢,這是候就出現了著名的PageRank演算法,作為新的網頁排名/重要性演算法,最早是由Google的創始人所寫的演算法,PageRank演算法徹底摒棄了什麼關鍵詞不關鍵詞的,每個網頁都有自己的PageRank值,意味一個網頁的重要程度,PR值越高,最後呈現的位置更靠前。那怎麼衡量每個網頁的重要程度呢,答案是別的頁面對他的鏈接。一句話,越多的網頁在其內容上存在指向你的鏈接,說明你的網頁越有名。具體PR值的計算全是通過別的網頁的PR值做計算的,簡單計算過程如下:
假設一個由只有4個頁面組成的集合:A,B,C和D。如果所有頁面都鏈向A,那麼A的PR(PageRank)值將是B,C及D的和。