信息计量学|Pagerank基本了解
PageRank是衡量网页重要性的一种方式,通过计算网页链接的数量和质量来确定粗略估计网站的重要性。潜在的假设是,更重要的网站会收到来自其他网站更多的链接。pagerank不是google用来制定搜索引擎结果的唯一算法,但是是公司使用的第一种算法。
pagerank是一种链接分析算法,为超链接文档集的每个元素分配一个权重,目的是测量其在集内的相对重要性。该算法可以应用于具有相互引用关系的任何实体集合,它分配给给定元素E的数字权重被称为E的pagerank,并表示为PR(E)。
核心思想
- 如果一个网页被很多其他网页链接到的话说明这个网页比较重要,也就是PageRank值会相对较高
- 如果一个PageRank值很高的网页链接到一个其他的网页,那么被链接到的网页的PageRank值会相应地因此而提高
简单pagerank算法
简单网络图假设整个网络只由四个网页构成,互相之间的链接关系如图所示。C网页被A、B 两个网页链接,因此它的PR值可以记为:
PR(C)
但实际上,A同时也链接了B网页和D网页,因此分给C的仅占1/3;B同时也链接了A网页,因此分给C的仅占1/2。考虑到这个因素,C网页的PR值应当记为:
PR(C)2
但在互联网中还存在一种现象,即一个网页只有对自己的出链,或者几个网页的出链形成一个循环圈。那么在不断地迭代过程中,这一个或几个网页的PR值将只增不减,显然不合理。如下图中的C网页就是刚刚说的只有对自己的出链的网页:
特殊网页
在这种情况下,不断迭代得到的各页面的PR值会出现PR(C)不断增大趋近于1,其余网页PR值不断减少。为了解决这个问题。我们想象一个随机浏览网页的人,当他到达C网页后,显然不会傻傻地一直被C网页的小把戏困住。我们假定他有一个确定的概率会输入网址直接跳转到一个随机的网页,并且跳转到每个网页的概率是一样的。于是则此图中A的PR值可表示为:
修正的PR值
算法原理
PageRank算法总的来说就是预先给每个网页一个PR值(下面用PR值指代PageRank值),由于PR值物理意义上为一个网页被访问概率,所以一般是1N,其中N为网页总数。另外,一般情况下,所有网页的PR值的总和为1。如果不为1的话也不是不行,最后算出来的不同网页之间PR值的大小关系仍然是正确的,只是不能直接地反映概率了。注:此处的网页也可以为网站
预先给定PR值后,通过下面的算法不断迭代,直至达到平稳分布为止。
PR算法
其中Mpi是所有对pi网页有出链的网页集合。L(pi)是网页pi的出链数目,N是网页总数,α一般取0.85。
所以一个页面的PageRank是由其他页面的PageRank计算得到。Google不断的重复计算每个页面的PageRank。经过不断的重复计算,这些页面的PR值会趋向于稳定,也就是收敛的状态。
此文仅为pagerank基本了解,涉及到具体的算法证明、PR值计算方法(如迭代法)、算法代码实现仍需后续学习