PageRank
1 概述
PageRank算法在1998年4月舉行的第七屆國際萬維網大會上由Sergey Brin和Larry Page提出。PageRank是通過計算頁面鏈接的數量和質量來確定網站重要性的粗略估計。算法創立之初的目的是應用在Google的搜索引擎中,對網站進行排名。
隨着國內外學者的深入研究,PageRank算法被廣泛應用於其他方面,例如學術論文的重要性排名,學術論文的作者的重要性排排序(某位作者引用了其他作者的文獻,則該作者認為其他作者是重要的),網絡爬蟲(利於PR值,決定某個URL,所需要排序的網頁數量和深度;重要性高的網頁抓取的網頁數量相對多一些,反正則少一點),關鍵詞與句子的抽取,隨后又出現了基於PageRank的Twitter用戶的影響力排名,基於PageRank的微博用戶影響力算法的研究,和一些其他在PageRank算法基礎上進行改進的研究。由此可見PageRank在影響力排名方面的研究也十分熱門。
2 核心思想
PageRank是基於從許多優質的網頁鏈接過來的網頁,必定還是優質網頁的思想建立的。其包括:鏈入鏈接數(即受歡迎的指標)、鏈入鏈接是否來自推薦度高的頁面、鏈入鏈接源頁面的鏈接數。
圖1 頁面集合
如圖1所示,假設一個只有4個頁面組成的集合:A,B,C,D。如果所有頁面都鏈向A,那么A的PR(PageRank)值將是B,C及D的和。
但是,如圖1所示,B頁面也連接到C頁面,並且D頁面有有連接到A頁面。一個頁面的投票權重總和為1。則根據圖1,A頁面的PR值為:
即得到頁面A的PR值的計算公式
其中L為某一個頁面的鏈出數總和。
由此,可以得出簡單的PageRank模型。
把互聯網上的各個網頁之間的鏈接關系看成一個有向圖。建設瀏覽者瀏覽的下一個網頁鏈接來自於當前網頁。建立一個簡化模型:對於任意網頁Pi,它的PageRank值可表示為如下:
:網頁i的PR值;
:網頁j的PR值;
:所有鏈接到網頁i的網頁集合;
:為網頁j的對外鏈接數(出度);
3 隨機瀏覽模型
假定一個上網者從一個隨機頁面開始瀏覽,上網者不斷點擊當前網頁的瀏覽開始下一次瀏覽。但是,上網者由於厭倦而開始隨機的點擊網頁。隨機上網方式更符合用戶的瀏覽行為。避免了一個獨立網頁沒有鏈出轉態和整個網頁圖中的一組緊密鏈接成環的網頁沒有鏈出狀態的情況,由此產生了隨機瀏覽模型的建立過程:
網頁之間的鏈接關系可以用鄰接矩陣表示,其公式如下:
:網頁中網頁的總數;
d:阻尼因子,通常設為0.85,d即按照超鏈接進行瀏覽的概率;
1-d:隨機跳轉一個新頁面的概率;
:網頁
的PR值;
:網頁
的鏈出網頁數目;
一個網頁的PageRank是由其他頁面的PageRank計算的。由於PR=A*PR滿足馬爾可夫鏈的性質,其中A是一個轉移概率矩陣,那么通過迭代計算可以得到所有頁面的PageRank值。經過重復計算,這些頁面的PR值會趨於正常和穩定。
狀態轉移矩陣:
:頁面的i到頁面j有鏈接為1,否則為0;
:頁面j的鏈出總數;
根據馬爾可夫的遍歷性
可以最終求出PR值,再歸一化,便得到所有頁面的PR值。例如:通過計算得到A的狀態轉移矩陣如下:
設各個頁面的PR值為,根據公式得:
,結果計算得到
4 總結
優點:
(1)與查詢無關的靜態算法,所有網頁的PageRank值都是離線計算好的;
(2)有效的減少了在線查詢時的計算量,減少了查詢響應時間;
缺點:
過分的相信鏈接關系
(1)一些權威網站往往都是互不鏈接的,因為存在競爭關系;
(2)人們的查詢具有主題特征,PageRank忽略了主題相關性,導致結果的相關性和主題相關性降低;
(3)舊的頁面等級比新的頁面等級高。
參考文獻:
[1] 孫紅,左騰. 基於PageRank的微博用戶影響力算法研究[J]. 計算機應用研究,2018,04:
[2] https://wenku.baidu.com/view/a58b3845b0717fd5370cdc5f.html