【问题标题】:How does pageranking algorithm deal with webpage without outbound links?pageranking算法如何处理没有出站链接的网页?
【发布时间】:2014-02-25 18:13:40
【问题描述】:

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

现在我对wikipedia 的“PageRank 值总和为 1”的声明感到困扰。

如 wikipedia 上显示的示例,如果每个页面都有一个出站链接,那么每个页面的整个概率的总和应该是 1。但是,如果一个页面没有任何出站链接,例如示例中的页面 A,那么总和不应该是值 1 对吗?

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

【问题讨论】:

  • 这个问题属于webmasters.stackexchange.com,因为它不是编程问题。
  • @RaymondChen 这根本不属于网站管理员。这是一个关于如何处理众所周知算法的边缘情况的问题,并且与编程非常相关。编程问题不一定是“如何在 C 中解析字符串?”它也可以是关于算法的概念,当理解后可以很容易地翻译成任何编程语言。
  • StackOverflow 用于解决实际的编程问题。请描述您的实际问题。例如,“我有一个页面的出站链接为零,但它的页面排名不符合我的预期。我可以做些什么来提高我的页面排名?”实际上,这变成了网站设计问题,而不是编程问题。所述问题是理论性的,不实用。
  • 作为算法问题,我认为这很适合SO。
  • @RaymondChen 作为“算法”标签社区中 SO 中最活跃的成员(或至少其中一个),我不同意你的观点,我认为这对 SO 来说是一个非常好的问题。不太理论化,因为在构建调用页面排名算法的图形时,所提出的问题是一个实际问题,并且如前所述 - 可以很容易地翻译成任何编程语言。

标签: algorithm search-engine google-search pagerank


【解决方案1】:

由于在原始文章和维基百科文章中描述了 page-rank,当 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。

关于没有传入节点的页面 - 这应该不是问题,因为一切都已完美定义。这样一个节点的页面排名正好是d/n - 因为你只能通过从任何节点随机浏览才能到达它 - 这就是进入它的概率。

希望能回答您的问题!

【讨论】:

【解决方案2】:

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

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

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

【讨论】:

  • 非常感谢您的回复。我了解大部分过程。我的困惑是(1)这里第二次迭代的 PR(D) 值是多少?页面 D 恰好没有任何传入链接。 (2) PR(A) + PR(B) + PR(C) + PR(D) 不会像声明中所说的那样等于 1。我在这里做错了什么?谢谢,
  • 对不起,我误解了你的问题的深度。很高兴看到它为您解答!为了完整起见,维基百科的文章似乎解决了没有出站链接或“下沉”的页面问题。文章指出,“在计算 PageRank 时,假定没有出站链接的页面链接到集合中的所有其他页面”(amit 的回复中概述的第三个选项)。正如阿米特还指出的那样,没有传入链接的页面 D 的 PageRank 应该是可计算的。这将是随机获取页面的“基线”,我认为是 (1-d)/N。
猜你喜欢
  • 2010-10-10
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 2023-03-24
  • 2010-11-29
  • 2023-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多