跳至正文

PageRank算法更新介绍

PageRank,网页排名,又称网页级别、Google左侧排名或佩奇排名,是一种由搜索引擎根据网页之间相互的超链接计算的网页排名技術,以Google公司創辦人拉里·佩奇(Larry Page)之姓來命名。此技術通常和搜索引擎优化有关,Google用它来体现网页的相关性和重要性。Google的创始人拉里·佩奇和谢尔盖·布林於1998年在斯坦福大学发明了这项技术。
PageRank通过网络浩瀚的超链接關係来确定一个页面的等级。Google把从A页面到B页面的链接解释为A页面给B页面投票,Google根据投票来源(甚至来源的来源,即链接到A页面的页面)和投票目标的等级来决定新的等级。简单的说,一个高等级的页面可以使其他低等级页面的等级提升。
PageRank让链接来”投票”
一个页面的「得票数」由所有链向它的页面的重要性來决定,到一个页面的超链接相当于对该页投一票。一个页面的PageRank是由所有链向它的页面(「链入页面」)的重要性经过递归算法得到的。一个有較多链入的页面会有較高的等级,相反如果一个页面没有任何链入页面,那么它没有等级。
2005年初,Google为网页链接推出一项新属性nofollow,使得网站管理员和网志作者可以做出一些Google不計票的链接,也就是說这些链接不算作”投票”。nofollow 的设置可以抵制评论垃圾。
Google工具条上的PageRank指標从0到10。它似乎是一个对数标度算法,细节未知。PageRank 是 Google 的商标,其技术亦已经申请专利。
PageRank算法中的点击算法是由Jon Kleinberg提出的。
简单的
假设一个由4个页面组成的小团体:A,B, C 和 D。如果所有页面都链向A,那么A的PR(PageRank)值将是B,C 及 D的和。
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)}
最后,所有这些被换算为一个百分比再乘上一个系数q。由于下面的算法,没有页面的PageRank会是0。所以,Google通过数学系统给了每个页面一个最小值1 − q。
PR(A)=\left( \frac{PR(B)}{L(B)}+ \frac{PR(C)}{L(C)}+ \frac{PR(D)}{L(D)}+\,\cdots \right) q + 1 – q
所以一个页面的 PageRank 是由其他页面的PageRank计算得到。Google 不断的重复计算每个页面的 PageRank。如果您给每个页面一个随机 PageRank 值(非0),那么经过不断的重复计算,这些页面的 PR 值会趋向于正常和稳定。这就是搜索引擎使用它的原因。
这个方程式引入了随机浏览的概念,即有人上网无聊随机打开一些页面,点一些链接。一个页面的PageRank值也影响了它被随机浏览的概率。为了便于理解,这里假设上网者不断点网页上的链接,最终到了一个没有任何链出页面的网页,这时候上网者会随机到另外的网页开始浏览。
为了对那些有链出的页面公平,q = 0.15(q的意义见上文)的算法被用到了所有页面上,估算页面可能被上网者放入书签的概率。
所以,这个等式如下:
{\rm PageRank}(p_i) = \frac{q}{N} + (1 -q) \sum_{p_j} \frac{{\rm PageRank} (p_j)}{L(p_j)}
p1,p2,…,pN是被研究的页面,M(pi)是链入pi页面的数量,L(pj)是pj链出页面的数量,而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} {q / N} \\ {q / N} \\ \vdots \\ {q / N} \end{bmatrix} + (1-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}
如果pj不链向pi, 而且对每个j都成立时,\ell(p_i,p_j)等于 0
\sum_{i = 1}^N \ell(p_i,p_j) = 1,
这项技术的主要缺點是旧的页面等级会比新页面高。因为即使是非常好的新页面也不会有很多上游链接,除非它是某个站点的子站点。
这就是PageRank需要多项算法结合的原因。PageRank似乎倾向于维基百科页面,在条目名称的搜索结果中总在大多数或者其他所有页面之前。原因主要是维基百科内相互的链接很多,并且有很多站点链入。
Google经常处罚恶意提高PageRank的行为,至於其如何区分正常的链接交换和不正常的链接堆积仍然是商业机密。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注