1. PageRank算法概述
PageRank,即网页排名,又称网页级别、Google左侧排名或佩奇排名。
在谷歌主导互联网搜索之前, 多数搜索引擎采用的排序方法, 是以被搜索词语在网页中的出现次数来决定排序——出现次数越多的网页排在越前面。 这个判据不能说毫无道理, 因为用户搜索一个词语, 通常表明对该词语感兴趣。 既然如此, 那该词语在网页中的出现次数越多, 就越有可能表示该网页是用户所需要的。 可惜的是, 这个貌似合理的方法实际上却行不大通。 因为按照这种方法, 任何一个象祥林嫂一样翻来复去倒腾某些关键词的网页, 无论水平多烂, 一旦被搜索到, 都立刻会 “金榜题名”, 这简直就是广告及垃圾网页制造者的天堂。
是Google创始人拉里·佩奇和谢尔盖·布林于1997年构建早期的搜索系统原型时提出的链接分析算法,自从Google在商业上获得空前的成功后,该算法也成为其他搜索引擎和学术界十分关注的计算模型。目前很多重要的链接分析算法都是在PageRank算法基础上衍生出来的。PageRank是Google用于用来标识网页的等级/重要性的一种方法,是Google用来衡量一个网站的好坏的唯一标准。在揉合了诸如Title标识和Keywords标识等所有其它因素之后,Google通过PageRank来调整结果,使那些更具“等级/重要性”的网页在搜索结果中另网站排名获得提升,从而提高搜索结果的相关性和质量。其级别从0到10级,10级为满分。PR值越高说明该网页越受欢迎(越重要)。例如:一个PR值为1的网站表明这个网站不太具有流行度,而PR值为7到10则表明这个网站非常受欢迎(或者说极其重要)。一般PR值达到4,就算是一个不错的网站了。Google把自己的网站的PR值定到10,这说明Google这个网站是非常受欢迎的,也可以说这个网站非常重要。
2. 从入链数量到 PageRank
在PageRank提出之前,已经有研究者提出利用网页的入链数量来进行链接分析计算,这种入链方法假设一个网页的入链越多,则该网页越重要。早期的很多搜索引擎也采纳了入链数量作为链接分析方法,对于搜索引擎效果提升也有较明显的效果。 PageRank除了考虑到入链数量的影响,还参考了网页质量因素,两者相结合获得了更好的网页重要性评价标准。
对于某个互联网网页A来说,该网页PageRank的计算基于以下两个基本假设:
数量假设:在Web图模型中,如果一个页面节点接收到的其他网页指向的入链数量越多,那么这个页面越重要。
质量假设:指向页面A的入链质量不同,质量高的页面会通过链接向其他页面传递更多的权重。所以越是质量高的页面指向页面A,则页面A越重要。
利用以上两个假设,PageRank算法刚开始赋予每个网页相同的重要性得分,通过迭代递归计算来更新每个页面节点的PageRank得分,直到得分稳定为止。 PageRank计算得出的结果是网页的重要性评价,这和用户输入的查询是没有任何关系的,即算法是主题无关的。假设有一个搜索引擎,其相似度计算函数不考虑内容相似因素,完全采用PageRank来进行排序,那么这个搜索引擎的表现是什么样子的呢?这个搜索引擎对于任意不同的查询请求,返回的结果都是相同的,即返回PageRank值最高的页面。
3. PageRank算法原理
PageRank的计算充分利用了两个假设:数量假设和质量假设。步骤如下:
1)在初始阶段:网页通过链接关系构建起Web图,每个页面设置相同的P