PageRank通過網絡浩瀚的超鏈接關系來確定壹個頁面的等級。Google把從A頁面到B頁面的鏈接解釋為A頁面給B頁面投票,Google根據投票來源(甚至來源的來源,即鏈接到A頁面的頁面)和投票目標的等級來決定新的等級。簡單的說,壹個高等級的頁面可以使其他低等級頁面的等級提升。
PageRank讓鏈接來"投票"
壹個頁面的“得票數”由所有鏈向它的頁面的重要性來決定,到壹個頁面的超鏈接相當於對該頁投壹票。壹個頁面的PageRank是由所有鏈向它的頁面(“鏈入頁面”)的重要性經過遞歸算法得到的。壹個有較多鏈入的頁面會有較高的等級,相反如果壹個頁面沒有任何鏈入頁面,那麽它沒有等級。
2005年初,Google為網頁鏈接推出壹項新屬性nofollow,使得網站管理員和網誌作者可以做出壹些Google不計票的鏈接,也就是說這些鏈接不算作"投票"。nofollow 的設置可以抵制評論垃圾。
Google工具條上的PageRank指標從0到10。它似乎是壹個對數標度算法,細節未知。PageRank 是 Google 的商標,其技術亦已經申請專利。
PageRank算法中的點擊算法是由Jon Kleinberg提出的。
PageRank算法
簡單的
假設壹個由4個頁面組成的小團體:A,B, C 和 D。如果所有頁面都鏈向A,那麽A的PR(PageRank)值將是B,C 及 D的和。
PR(A) = PR(B) + PR(C) + PR(D)
繼續假設B也有鏈接到C,並且D也有鏈接到包括A的3個頁面。壹個頁面不能投票2次。所以B給每個頁面半票。以同樣的邏輯,D投出的票只有三分之壹算到了A的 PageRank 上。
PR(A)= \frac{PR(B)}{2}+ \frac{PR(C)}{1}+ \frac{PR(D)}{3}
換句話說,根據鏈處總數平分壹個頁面的PR值。
PR(A)= \frac{PR(B)}{L(B)}+ \frac{PR(C)}{L(C)}+ \frac{PR(D)}{L(D)}
最後,所有這些被換算為壹個百分比再乘上壹個系數q。由於下面的算法,沒有頁面的PageRank會是0。所以,Google通過數學系統給了每個頁面壹個最小值1 ? q。
PR(A)=\left( \frac{PR(B)}{L(B)}+ \frac{PR(C)}{L(C)}+ \frac{PR(D)}{L(D)}+\,\cdots \right) q + 1 - q
所以壹個頁面的 PageRank 是由其他頁面的PageRank計算得到。Google 不斷的重復計算每個頁面的 PageRank。如果您給每個頁面壹個隨機 PageRank 值(非0),那麽經過不斷的重復計算,這些頁面的 PR 值會趨向於正常和穩定。這就是搜索引擎使用它的原因。
完整的
這個方程式引入了隨機瀏覽的概念,即有人上網無聊隨機打開壹些頁面,點壹些鏈接。壹個頁面的PageRank值也影響了它被隨機瀏覽的概率。為了便於理解,這裏假設上網者不斷點網頁上的鏈接,最終到了壹個沒有任何鏈出頁面的網頁,這時候上網者會隨機到另外的網頁開始瀏覽。
為了對那些有鏈出的頁面公平,q = 0.15(q的意義見上文)的算法被用到了所有頁面上,估算頁面可能被上網者放入書簽的概率。
所以,這個等式如下:
{\rm PageRank}(p_i) = \frac{q}{N} + (1 -q) \sum_{p_j} \frac{{\rm PageRank} (p_j)}{L(p_j)}
p1,p2,...,pN是被研究的頁面,M(pi)是鏈入pi頁面的數量,L(pj)是pj鏈出頁面的數量,而N是所有頁面的數量。
PageRank值是壹個特殊矩陣中的特征向量。這個特征向量為
\mathbf{R} = \begin{bmatrix} {\rm PageRank}(p_1) \\ {\rm PageRank}(p_2) \\ \vdots \\ {\rm PageRank}(p_N) \end{bmatrix}
R是等式的答案
\mathbf{R} = \begin{bmatrix} {q / N} \\ {q / N} \\ \vdots \\ {q / N} \end{bmatrix} + (1-q) \begin{bmatrix} \ell(p_1,p_1) & \ell(p_1,p_2) & \cdots & \ell(p_1,p_N) \\ \ell(p_2,p_1) & \ddots & & \\ \vdots & & \ell(p_i,p_j) & \\ \ell(p_N,p_1) & & & \ell(p_N,p_N) \end{bmatrix} \mathbf{R}
如果pj不鏈向pi, 而且對每個j都成立時,\ell(p_i,p_j)等於 0
\sum_{i = 1}^N \ell(p_i,p_j) = 1,
這項技術的主要缺點是舊的頁面等級會比新頁面高。因為即使是非常好的新頁面也不會有很多上遊鏈接,除非它是某個站點的子站點。
這就是PageRank需要多項算法結合的原因。PageRank似乎傾向於維基百科頁面,在條目名稱的搜索結果中總在大多數或者其他所有頁面之前。原因主要是維基百科內相互的鏈接很多,並且有很多站點鏈入。
Google經常處罰惡意提高PageRank的行為,至於其如何區分正常的鏈接交換和不正常的鏈接堆積仍然是商業機密。