PageRank,网页排名,又称网页级别、Google左侧排名或佩奇排名,是一种由搜索引擎根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一,以Google公司创办人拉里·佩奇(Larry Page)之姓来命名。Google用它来体现网页的相关性和重要性,在搜索引擎优化操作中是经常被用来评估网页优化的成效因素之一。
让链接来“投票”
一个页面的“得票数”由所有链向它的页面的重要性来决定,到一个页面的超链接相当于对该页投一票。一个页面的PageRank是由所有链向它的页面(“链入页面”)的重要性经过递归算法得到的。一个有较多链入的页面会有较高的等级,相反如果一个页面没有任何链入页面,那么它没有等级。
PageRank算法
一、简单算法
假设一个由4个页面组成的小团体:A,B,C和D。如果所有页面都链向A,那么A的PR(PageRank)值将是B,C及D的Pagerank总和。
继续假设B也有链接到C,并且D也有链接到包括A的3个页面。一个页面不能投票2次。所以B给每个页面半票。以同样的逻辑,D投出的票只有三分之一算到了A的PageRank上。
换句话说,根据链出总数平分一个页面的PR值。
最后,所有这些被换算为一个百分比再乘上一个系数。由于“没有向外链接的页面”传递出去的PageRank会是0,所以,Google通过数学系统给了每个页面一个最小值:
二、完整算法
这个方程式引入了随机浏览的概念,即有人上网无聊随机打开一些页面,点一些链接。一个页面的PageRank值也影响了它被随机浏览的概率。为了便于理解,这里假设上网者不断点网页上的链接,最终到了一个没有任何链出页面的网页,这时候上网者会随机到另外的网页开始浏览。
为了处理那些“没有向外链接的页面”(这些页面就像“黑洞”会吞噬掉用户继续向下浏览的概率)带来的问题,(这里的被称为阻尼系数(damping factor),其意义是,在任意时刻,用户到达某页面后并继续向后浏览的概率。(就是用户停止点击,随机跳到新URL的概率)的算法被用到了所有页面上,估算页面可能被上网者放入书签的概率。
所以,这个等式如下:
是被研究的页面,是链入页面的集合,是链出页面的数量,而是所有页面的数量。
PageRank值是一个特殊矩阵中的特征向量。这个特征向量为
如果不链向,而且对每个都成立时,等于0
实例分析
现假设有A,B,C,D,E五个网页,其中
1)A网页有链接指向B,C,D,E
2)B网页有链接指向A,D
3)C网页有链接指向A,D
4)D网页有链接指向C
5)E网页有链接指向A,C
矩阵如下:
S= 0 1/2 1/2 0 1/2
1/4 0 0 0 0
1/4 0 0 1 1/2
1/4 1/2 1/2 0 0
1/4 0 0 0 0
T= 1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
假设 d=0.85 ,则 R=0.85*S+0.15*T/5
Matlab代码:
clc;
clear;
S=[0 1/2 1/2 0 1/2;1/4 0 0 0 0; 1/4 0 0 1 1/2; 1/4 1/2 1/2 0 0; 1/4 0 0 0 0];
C=ones(5);
R=0.85*S+0.15*C/5;
[m,n]=eig(R); %求矩阵R的全部特征值
R =
0.0300 0.4550 0.4550 0.0300 0.4550
0.2425 0.0300 0.0300 0.0300 0.0300
0.2425 0.0300 0.0300 0.8800 0.4550
0.2425 0.4550 0.4550 0.0300 0.0300
0.2425 0.0300 0.0300 0.0300 0.0300
m =
-0.4823 -0.2863 -0.8165 0.7446 0.0000
-0.1623 -0.3912 0.4082 -0.2725 -0.7071
-0.6697 0.6775 0.0000 -0.4720 0.7071
-0.5159 0.3912 0.0000 0.2725 -0.0000
-0.1623 -0.3912 0.4082 -0.2725 0.0000
n =
1.0000 0 0 0 0
0 0.1556 0 0 0
0 0 -0.4250 0 0
0 0 0 -0.5806 0
0 0 0 0 -0.0000
-0.4823
-0.1623
-0.6697
-0.5159
-0.1623
故ABCDE各个网页的PAGERANK值分别为0.48,0.16,0.66,0.51,0.16,可看出C的pagerank值最高。