frameGoogle 的工具欄標示出的中文維基百科首頁的 PageRank PageRank 又稱網頁排名、谷歌左側排名、PR，是 Google 公司所使用的對其搜尋引擎搜尋結果中的網頁進行排名的一種演算法。 PageRank 本質上是一種以網頁之間的超連結個數和質量作為主要因素粗略地分析網頁的重要性的演算法。其基本假設是：更重要的頁面往往更多地被其他頁面引用（或稱其他頁面中會更多地加入通向該頁面的超連結）。 其將從 A 頁面到 B 頁面的連結解釋為 A 頁面給 B 頁面投票，並根據投票來源（甚至來源的來源，即連結到 A 頁面的頁面）和投票物件的等級來決定被投票頁面的等級。簡單的說，一個高等級的頁面可以提升其他低等級的頁面。 該演算法以谷歌公司創始人之一的拉里佩奇的名字來命名。谷歌搜尋引擎用它來分析網頁的相關性和重要性，在搜尋引擎最佳化中經常被用來作為評估網頁最佳化的成效因素之一。 目前，PageRank 演算法不再是谷歌公司用來給網頁進行排名的唯一演算法，但它是最早的，也是最著名的演算法。 概述 PageRank 是一種連結分析演算法，它透過對超連結集合中的元素用數字進行權重賦值，實現 衡量集合範圍內某一元素的相關重要性 的目的。該演算法可以應用於任何含有元素之間相互引用的情況的集合實體。我們將其中任意元素 E 的權重數值稱為 E 的 PageRank（The PageRank of E），用符號表示為 PR E。其他的因素，類似 作者排名（Author Rank） 同樣可以影響到該元素的權重值。 PageRank 的結果來源於一種基於圖論的數學演算法。它將全球資訊網上所有的網頁視作節點（node），而將超連結視作邊（edge），並且考慮到了一些權威的網站，類似 CNN。每個節點的權重值表示對應的頁面的重要度。通向該網頁的超連結稱做 對該網頁的投票（a vote of support）。每個網頁的權重值大小被遞迴地定義，依託於所有連結該頁面的頁面的權重值。例如，一個被很多頁面的連結的頁面將會擁有較高的權重值（high PageRank）。 大量關於 PageRank 的學術論文在 Page 和 Brin 的原版論文前就已有之。在實際情況中，PageRank 很容易被利用。相關的研究往往會關注那些因受到影響而出現錯誤的 PageRank 結果，以找到一種有效地避免其被錯誤地影響的方法（如忽略部分錯誤的連結）。 2005 年初，谷歌公司為網頁連結推出一項新屬性 nofollow，使得網站管理員和部落格作者可以建立一些不計票的連結，也就是說這些連結不算作「投票」，從而實現抵制垃圾投票的目的。 Google 工具條上的 PageRank 指標從 0 到 10。它似乎是一個對數標度演算法，細節未知。雖然 PageRank 是谷歌的商標，其技術亦已經申請專利，但是專利權屬於斯坦福大學，而非谷歌公司。 PageRank 演算法中的點選演算法是由喬恩克萊因伯格 Jon Kleinberg 提出的。而其他的基於連結的網頁排名演算法，則包括喬恩克萊因伯格發明的 HITS 演算法，IBM CLEVER Project，TrustRank 演算法以及 hummingbird 演算法等等。 演算法 PageRank 演算法透過輸出機率分佈來體現某人隨機地點選某個連結的機率。PageRank 值（PR）可以在任何規模的檔案（document）集合中計算得出，而每個連結都指向該集合中的某個特定檔案。相關研究論文指出，在初次計算前，總機率將被均分到每個檔案上，使得集合中的每個檔案被訪問的機率都是相同的。接下來在重複多次的計算（又稱為 迭代）中，演算法將根據集合的實際情況不斷調整 PR 值，使得其越來越接近最真實的理論值。 最終的機率將透過一個在 0 與 1 之間的數值體現。機率為 05 通常意味著該事件有 50 的可能性發生。因此，PR05 代表 有 50 的可能性，某人點選了一個隨機的連結並訪問了該連結指向的檔案。 簡化版本 假設一個由 4 個網頁組成的集合：A，B，C 和 D。同一頁面中多個指向相同的連結視為同一個連結，並且每個頁面初始的 PageRank 值相同，最初的演算法將每個網頁的初始值設定為 1。但是在後來的版本以及下面的示例中，為了滿足機率值位於 0 到 1 之間的需要，我們假設這個值是 025。 在每次迭代中，給定頁面的 PR 值（PageRank 值）將均分到該頁面所連結的頁面上。 如果所有頁面都只連結至 A，那麼 A 的 PR 值將是 B，C 及 D 的 PR 值之和，即： PR A PR B PR C PR D 重新假設 B 連結到 A 和 C，C 連結到 A，並且 D 連結到 ABC。最初一個頁面總共只有一票。所以 B 給 A C 每個頁面半票。以此類推，D 投出的票 只 有三分之一加到了 A 的 PR 值上： PR A frac PR B2 frac PR C1 frac PR D3 換句話說，演算法將根據每個頁面連出總數 L x 平分該頁面的 PR 值，並將其加到其所指向的頁面： PR A frac PR BL B frac PR CL C frac PR DL D 最後，所有這些 PR 值被換算成百分比形式再乘上一個修正係數 d。由於 沒有向外連結的網頁 傳遞出去的 PR 值會是 0，而這會遞迴地導致指向它的頁面的 PR 值的計算結果同樣為零，所以賦給每個頁面一個最小值 1 dN： PR Aleft frac PR BL B frac PR CL C frac PR DL Dcdots right d frac 1 dN 需要注意的是，在 Sergey Brin 和 Lawrence Page 的 1998 年原版論文中給每一個頁面設定的最小值是 1 d，而不是這裡的 1 dN，這將導致集合中所有網頁的 PR 值之和為 N（N 為集合中網頁的數目）而非所期待的 1。 因此，一個頁面的 PR 值直接取決於指向它的的頁面。如果在最初給每個網頁一個隨機且非零的 PR 值，經過重複計算，這些頁面的 PR 值會趨向於某個定值，也就是處於收斂的狀態，即最終結果。這就是搜尋 引擎 使用該演算法的原因。 完整版本 這個方程式引入了隨機瀏覽者（random surfer）的概念，即假設某人在瀏覽器中隨機開啟某些頁面並點選了某些連結。為了便於理解，這裡假設上網者不斷點選網頁上的連結直到進入一個沒有外部連結的網頁，此時他會隨機瀏覽其他的網頁（可以與之前的網頁無關）。 為了處理那些 沒有外部連結的頁面（這些頁面就像 黑洞 一樣吞噬掉使用者繼續向下瀏覽的機率）所帶來的問題，我們假設：這類頁面連結到集合中所有的網頁（不管它們是否相關），使得這類網頁的 PR 值將被所有網頁均分。對於這種殘差機率（residual probability），我們引入阻尼係數 d（damping factor），並宣告 d085，其意義是：任意時刻，使用者訪問到某頁面後繼續訪問下一個頁面的機率，相對應的 1d015 則是使用者停止點選，隨機瀏覽新網頁的機率。d 的大小由一般上網者使用瀏覽器書籤功能的頻率的平均值估算得到。 所以，對於某個頁面 i，其對應 PR 值大小的計算公式如下： rm PRp_i frac 1dN d sum_p_j in M p_i frac rm PR p_jL p_j 這裡，p_1 p_2 p_N 是目標頁面 p_i，M p_i 是鏈入 p_i 頁面的集合，L p_j 是頁面 p_j 鏈出頁面的數量，而 N 是集合中所有頁面的數量。 集合中所有頁面的 PR 值可以由一個特殊的鄰接矩陣的特徵向量表示。這個特徵向量 R 為： mathbf R begin bmatrix rm PRp_1 rm PRp_2 vdots rm PRp_N end bmatrix 同時，R 也是下面的方程組的解： mathbf R begin bmatrix 1d N 1d N vdots 1d N end bmatrix d begin bmatrix ell p_1p_1 ell p_1p_2 cdots ell p_1p_N ell p_2p_1 ddots vdots ell p_ip_j ell p_Np_1 ell p_Np_N end bmatrix mathbf R 這裡的鄰接函式（adjacency function） ell p_ip_j 代表 從頁面 j 指向頁面 i 的連結數 與 頁面 j 中含有的外部連結總數 的比值 如果 p_j 不鏈向 p_i，則前面提到的 從頁面 j 指向頁面 i 的連結數 為零。將情況一般化：對於特定的 j，應有： sum_i 1N ell p_ip_j 1 由於上述修改後的鄰接矩陣的巨大的 eigengap 值，幾次迭代後即可在極高的精確度下估計 PageRank 特徵向量 R 的值。 缺陷 PageRank 演算法的主要缺點在於舊的頁面的排名往往會比新頁面高。因為即使是質量很高的新頁面也往往不會有很多外鏈，除非它是某個已經存在站點的子站點。這也是 PageRank 需要多項演算法結合以保證其結果的準確性的原因。例如，PageRank 似乎偏好於維基百科頁面，在條目名稱的搜尋結果中，維基百科頁面經常在大多數頁面甚至所有頁面之前，此現象的原因則是維基百科內部網頁中存在大量的內鏈，同時亦有很多站點鏈入維基百科。 Google 經常處罰惡意提高網頁 PageRank 的行為。至於其如何區分正常的連結和不正常的連結，這仍然是商業機密。但是在 Google 的連結規範中已清楚地說明，哪些是屬於違反規範的行為。 從谷歌工具欄中移除 2009 年 10 月 14 日，Google 員工蘇珊莫斯科（Susan Moskwa）確認該公司已將 PageRank 從其網站管理員工具中移除。她表示：「我們長久以來一直在告誡人們不應該過分注重 PageRank；很多網站站長似乎認為 PageRank 是他們需要時刻關注的最重要的指標，而這幾乎是錯誤的。」然而在蘇珊確認後兩天，PageRank 又在谷歌工具欄（Google Toolbar）上重新顯示，但其指示器（indicator）在谷歌公司自家的 Chrome 瀏覽器上已不可用。 同時，公眾可見的 PageRank 的資料更新週期也越來越長，它的最後一次更新是 2013 年 11 月份。 2014 年 10 月 7 日，谷歌員工 John Mueller 表示 ：「我們可能不會繼續更新 PageRank，至少工具欄上的 PageRank 是這樣。」 2016 年 4 月 15 日，谷歌公司停止向公眾開放 PageRank 資料。就在幾個月前，谷歌也宣告將會將 PageRank 評分自谷歌工具欄中移除。 但是，今後谷歌公司在對其搜尋引擎的搜尋結果進行排名時，仍然會使用 PageRank 中的資料。 腳註 參考文獻 外部連結 Our Search Google Technology by Google The PageRank Citation Ranking Bringing Order to the Web by Larry Page et al The PageRank Result 參見 Google Google 轟炸 SimRank CategoryGoogle 搜尋 Category 馬爾可夫模型