Pageranking算法如何在没有出站链接的情况下处理网页?

时间:2014-02-02 05:21:51

标签: algorithm search-engine google-search pagerank

我正在学习PageRanking算法,对于一些新手问题感到抱歉。 我知道PR值是通过对自身的传入链接的总和来计算每个页面的。

现在我对一份声明感到困扰,该声明表明" PageRank值总和为1"在wikipedia

如维基百科所示,如果每个页面都有一个出站链接,则每个页面的整体概率总和应为1。但是,如果一个页面没有任何出站链接,例如示例中的页面A,那么总和不应该是值1吗?

因此,Pagerank算法是否必须假设每个页面至少有一个出站链接? 有人可以详细说明Pageranking如何处理没有任何传入或传出链接的页面吗?公式如何相应地改变?感谢

2 个答案:

答案 0 :(得分:11)

由于在原始文章和维基百科文章中描述了页面排名,因此在某些out-degree(v)=0 v时,确实没有定义,因为您得到P(v,u)=d/n+(1-d)*0/0 - 这是未定义

没有传出边缘的节点称为悬空节点,基本上有3种常用方法可以处理它们:

  1. 从图表中消除此类节点(并迭代重复该过程,直到没有悬空节点。
  2. 考虑将这些网页链接回与其相关联的网页(例如,对于每个边(u,v),如果out-degree(v) = 0,请将(v,u)视为优势。
  3. 将悬空节点链接到所有页面(通常包括其自身),并有效地从该节点1中随机跳转的概率。
  4. 关于没有传入节点的页面 - 这应该不是问题,因为一切都是完美定义的。这样的节点的页面排名恰好是d/n - 因为你只能通过任意节点的随机冲浪来达到它 - 这就是它的概率。

    希望能回答你的问题!

答案 1 :(得分:2)

PageRank算法根据该页面的传入链接对页面进行排名。该页面的出站链接有助于确定其链接的其他页面的PageRank。重复迭代此过程以确定PageRank。

在每次迭代中,如果有来自其他页面的传入链接,则会将值添加到页面A的PageRank。添加到页面A的值是页面B的PageRank,其中包含到页面A的传入链接,除以第B页上的传出链接总数。

因此,没有出站链接不会影响页面A的PageRank。没有出站链接的影响只是页面A不会为任何其他页面的PageRank增加值。相比之下,如果没有到页面B的传入链接,它将具有基线(非常低)PageRank,因为它永远不会从传入链接获得附加值。