天天看點

Google的PageRank原理

PageRank我想稍微接觸過網絡的人都知道,很多部落格站長最關心的話題,也可以說成是一個部落格或者網站是否受歡迎(流行度)的衡量标準。

在這裡我依然把 PageRank的定義給大家複述一下,PageRank:又稱“佩奇等級”或者PR值,是以Google公司創始人之一拉裡.佩奇(Larry Page)而命名。“佩奇等級”着重考察的是網站的權威性,說的更通俗一些也就是網站内容能滿足大衆的搜尋需求,進而引起人們的觀注,網站被連結的越多說明網站的連結流行度越高。連結流行度高了,随之而來的就是搜尋引擎會把你放一個好位置(搜尋結果中),供更多有需求的人來看你提供的優質内容。

Google 的 “Page Rank” (網頁排名)是怎麼回事呢?其實簡單說就是民主表決。打個比方,假如我們要找李開複博士,有一百個人舉手說自己是李開複。那麼誰是真的呢?也許有好幾個真的,但即使如此誰又是大家真正想找的呢?:-)如果大家都說在 Google 公司的那個是真的,那麼他就是真的。

在網際網路上,如果一個網頁被很多其它很多網頁所連結,說明它受到普遍的承認和信賴,那麼它的排名就高。這就是Page Rank 的核心思想。 當然 Google 的 Page Rank 算法實際上要複雜得多。比如說,對來自不同網頁的連結對待不同,本身網頁排名高的連結更可靠,于是給這些連結予較大的權重。Page Rank 考慮了這個因素,可是現在問題又來了,計算搜尋結果的網頁排名過程中需要用到本身網頁的排名,這不成了先有雞還是先有蛋的問題了嗎?

Google 的兩個創始人拉裡•佩奇 (Larry Page )和謝爾蓋•布林 (Sergey Brin) 把這個問題變成了一個二維矩陣相乘的問題,并且用疊代的方法解決了這個問題。他們先假定所有網頁的排名是相同的,并且根據這個初始值,算出各個網頁的第一次疊代排名,然後再根據第一次疊代排名算出第二次的排名。他們兩人從理論上證明了不論初始值如何選取,這種算法都保證了網頁排名的估計值能收斂到他們的真實值。值得一提的事,這種算法是完全沒有任何人工幹預的。

理論問題解決了,又遇到實際問題。因為網際網路上網頁的數量是巨大的,上面提到的二維矩陣從理論上講有網頁數目平方之多個元素。如果我們假定有十億個網頁,那麼這個矩陣 就有一百億億個元素。這樣大的矩陣相乘,計算量是非常大的。拉裡和謝爾蓋兩人利用稀疏矩陣計算的技巧,大大的簡化了計算量,并實作了這個網頁排名算法。今天 Google 的工程師把這個算法移植到并行的計算機中,進一步縮短了計算時間,使網頁更新的周期比以前短了許多。

我來 Google 後,拉裡 (Larry) 在和我們幾個新員工座談時,講起他當年和謝爾蓋(Sergey) 是怎麼想到網頁排名算法的。他說:"當時我們覺得整個網際網路就像一張大的圖 (Graph),每個網站就像一個節點,而每個網頁的連結就像一個弧。我想,網際網路可以用一個圖或者矩陣描述,我也許可以在用這個發現做個博士論文。" 他和謝爾蓋就這樣發明了 Page Rank 的算法。

網頁排名的高明之處在于它把整個網際網路當作了一個整體對待。它無意識中符合了系統論的觀點。相比之下,以前的資訊檢索大多把每一個網頁當作獨立的個體對待,很多人當初隻注意了網頁内容和查詢語句的相關性,忽略了網頁之間的關系。

PageRank 評價一個網頁品質用1~10的數字組成,通過Google 工具欄顯示出來。PR值越大表示網站品質越高、越重要。下面秀一下部落格聯盟目前的PR值情況。本人用的是Fozilla Firefox的浏覽器,速度、功能相當的不錯。自帶Google工具條。通過工具條可以讓你更好的分析,你每打開一個網頁的重要程度。現在部落格聯盟的PR值是4/10。

Google的PageRank原理

PageRank來源于一種數學公式,執行的是一種簡單的機率分析。公式如下:

PR(A)=(1-d)+d(PR(Ti)/C(Ti)+….+PR(Tn)/ C(Tn))

PR(A):網頁A的PR 。

PR(Ti):連結A的網頁Ti的PR等級,“i”可以從0到n,”n“是連結的總數,這個連結可以來自任何網站的連結。

C(Ti):網頁Ti往其它網站連結的數量。

繼續閱讀