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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章