PageRank

PageRank生成的Web網頁排序是靜態的,這是指每個網頁的排序值是通過離線計算得到的,並且該值與查詢無關。也就是說,網頁排序值的計算純粹基於Web上現有鏈接,而不考慮任何用戶的任何查詢。

知識背景:

馬爾可夫鏈,因俄羅斯數學家安德烈·馬爾可夫俄語Андрей Андреевич Марков)得名,是數學中具有馬爾可夫性質的離散時間隨機過程。該過程中,在給定當前知識或信息的情況下,只有當前的狀態用來預測將來,過去(即當前以前的歷史狀態)對於預測將來(即當前以後的未來狀態)是無關的。

在馬爾可夫鏈的每一步,系統根據概率分佈,可以從一個狀態變到另一個狀態,也可以保持當前狀態。狀態的改變叫做過渡,與不同的狀態改變相關的概率叫做過渡概率。隨機漫步就是馬爾可夫鏈的例子。隨機漫步中每一步的狀態是在圖形中的點,每一步可以移動到任何一個相鄰的點,在這裏移動到每一個點的概率都是相同的(無論之前漫步路徑是如何的)。

如果我們想用馬爾科夫鏈進行建模,那麼A應是一個隨機矩陣且是不可約和非週期的。這樣我們就可以使用馬爾科夫鏈的一些理論成果。

隨機矩陣:它要求每個元素都是非負實數,且每行加起來和爲1。(如果在模擬過程中出現一個網頁沒有出鏈,這種情況在轉移矩陣A中表現爲有些行全是由0組成的,這樣的網頁叫做懸掛網頁。解決方法:從每一個懸掛網頁i向每個網頁引一條鏈接。)

不可約:如果Web圖G不是強連通的,則A不是不可約的。

週期圖:說狀態i是週期的並且具有周期k>1,是指存在一個最小的正整數k,使得所有從狀態i出發又回到狀態i的路徑的長度都是k的整數倍。如果一個狀態不是週期的(或者k=1),那它就是非週期的。如果一個馬爾科夫鏈的所有狀態都是非週期的,那麼就說這個馬爾科夫鏈是非週期的。


以下轉自維基百科:

PageRank網頁排名,又稱網頁級別Google左側排名佩奇排名,是一種由搜索引擎根據網頁之間相互的超鏈接計算的技術,而作爲網頁排名的要素之一,以Google公司創辦人拉里·佩奇Larry Page)之姓來命名。Google用它來體現網頁的相關性和重要性,在搜索引擎優化操作中是經常被用來評估網頁優化的成效因素之一。Google的創始人拉里·佩奇謝爾蓋·布林於1998年在斯坦福大學發明了這項技術。[1]

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個頁面組成的小團體:ABCD。如果所有頁面都鏈向A,那麼APR(PageRank)值將是BCD的和。

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)}

最後,所有這些被換算爲一個百分比再乘上一個係數d。由於“沒有向外鏈接的頁面”傳遞出去的PageRank會是0,所以,Google通過數學系統給了每個頁面一個最小值(1 - d)/N

PR(A)=\left( \frac{PR(B)}{L(B)}+ \frac{PR(C)}{L(C)}+ \frac{PR(D)}{L(D)}+\,\cdots \right) d + \frac{1 - d}{N}

說明:在Sergey Brin和Lawrence Page的1998年原文中給每一個頁面設定的最小值是1 - d,而不是這裏的(1 - d)/N(關於這一部分內容也可以參考英文版的維基百科詞條)。 所以一個頁面的PageRank是由其他頁面的PageRank計算得到。Google不斷的重複計算每個頁面的PageRank。如果給每個頁面一個隨機PageRank值(非0),那麼經過不斷的重複計算,這些頁面的PR值會趨向於穩定,也就是收斂的狀態。這就是搜索引擎使用它的原因。

完整的[編輯]

這個方程式引入了隨機瀏覽的概念,即有人上網無聊隨機打開一些頁面,點一些鏈接。一個頁面的PageRank值也影響了它被隨機瀏覽的概率。爲了便於理解,這裏假設上網者不斷點網頁上的鏈接,最終到了一個沒有任何鏈出頁面的網頁,這時候上網者會隨機到另外的網頁開始瀏覽。

爲了處理那些“沒有向外鏈接的頁面”(這些頁面就像“黑洞”會吞噬掉用戶繼續向下瀏覽的概率)帶來的問題,d=0.85(這裏的d被稱爲阻尼係數(damping factor),其意義是,在任意時刻,用戶到達某頁面後並繼續向後瀏覽的概率。1-d=0.15就是用戶停止點擊,隨機跳到新URL的概率)的算法被用到了所有頁面上,估算頁面可能被上網者放入書籤的概率。

所以,這個等式如下:

{\rm PageRank}(p_i) = \frac{1-d}{N} + d \sum_{p_j \in M(p_i)} \frac{{\rm PageRank} (p_j)}{L(p_j)}

p_1, p_2, ..., p_N是被研究的頁面,M(p_i)是鏈入p_i頁面的集合,L(p_j)p_j鏈出頁面的數量,而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}{(1-q) / N} \\{(1-q) / N} \\\vdots \\{(1-q) / N}\end{bmatrix}+ 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}

如果p_j不鏈向p_i,而且對每個j都成立時,\ell(p_i,p_j)等於0

\sum_{i = 1}^N \ell(p_i,p_j) = 1,

這項技術的主要缺點是舊的頁面等級會比新頁面高。因爲即使是非常好的新頁面也不會有很多外鏈,除非它是某個站點的子站點。

這就是PageRank需要多項算法結合的原因。PageRank似乎偏好於維基百科頁面,在條目名稱的搜索結果中,維基百科頁面總在大多數或者其他所有頁面之前。原因主要是維基百科內相互的鏈接很多,並且有很多站點鏈入。

Google經常處罰惡意提高PageRank的行爲,至於其如何區分正常的鏈接和不正常的鏈接仍然是個商業機密。但是在Google的鏈接規範中,已經很清楚的說明,那些做法是屬於違反操作Pagerank的行爲。[2]

自Google網站管理員工具移除[編輯]

2009年10月14日,Google員工蘇珊·莫斯科(Susan Moskwa)確認該公司已自其網站管理員工具部分移除PageRank。她對這部分移除的公告表示:“我們長久以來一直在告誡人們不應該過分注重PageRank;很多網站站主似乎認爲對他們來說得時時追蹤的網站最重要指標,而這簡直是個誤解。”[3]然而在蘇珊確認後兩天,PageRank仍舊在Google工具欄上顯示。

發佈了6 篇原創文章 · 獲贊 3 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章