微信登录

排序 - PageRank - 基于链接重要性评估页面权重

PageRank 简介

PageRank 是由 Google 联合创始人拉里·佩奇(Larry Page)和谢尔盖·布林(Sergey Brin)提出的算法,用于评估网页在互联网中的相对重要性。其核心思想是:

一个网页的重要性取决于链接到它的其他网页的数量和质量

核心原理

  1. 投票机制:每个网页通过外链“投票”给其他网页。链接越多且来源质量越高,被链接页面的权重越高。
  2. 阻尼因子(Damping Factor):用户不会无限点击链接,而是有一定概率(通常设 0.85)随机跳转到任意页面。避免“链接闭环”导致权重分配失衡。
  3. 迭代计算:通过多次迭代,直到所有页面的权重趋于稳定。

PageRank 公式

网页 ( A ) 的 PageRank 值计算公式:
[
PR(A) = \frac{1-d}{N} + d \times \sum_{i=1}^{n} \frac{PR(B_i)}{L(B_i)}
]

  • ( N ): 网页总数
  • ( d ): 阻尼因子(通常取 0.85)
  • ( B_i ): 链接到 ( A ) 的所有网页
  • ( L(B_i) ): ( B_i ) 的外链数

实例演示

场景设定

假设 4 个网页 A、B、C、D,链接关系如下:

  • A 链接到 B、C、D
  • B 链接到 C、D
  • C 链接到 A
  • D 链接到 B

初始所有页面的 PageRank 值均为 ( \frac{1}{4} = 0.25 ),阻尼因子 ( d = 0.85 )。

第 1 次迭代计算

  1. A 的贡献

    • A 有 3 个外链,每个外链分配值为 ( \frac{PR(A)}{3} = \frac{0.25}{3} \approx 0.0833 )。
    • B、C、D 分别从 A 获得 0.0833。
  2. B 的贡献

    • B 有 2 个外链,每个外链分配 ( \frac{0.25}{2} = 0.125 )。
    • C、D 分别从 B 获得 0.125。
  3. C 的贡献

    • C 有 1 个外链,分配 ( \frac{0.25}{1} = 0.25 )。
    • A 从 C 获得 0.25。
  4. D 的贡献

    • D 有 1 个外链,分配 ( \frac{0.25}{1} = 0.25 )。
    • B 从 D 获得 0.25。
  5. 计算各页面新 PR 值

    • ( PR(A) = \frac{1-0.85}{4} + 0.85 \times (\text{来自 C 的贡献}) = 0.0375 + 0.85 \times 0.25 \approx 0.25 )
    • ( PR(B) = 0.0375 + 0.85 \times (\text{来自 A 和 D 的贡献}) = 0.0375 + 0.85 \times (0.0833 + 0.25) \approx 0.3208 )
    • 类似方法计算 C 和 D,经过多次迭代后权重会逐渐收敛。

最终结果(多次迭代后)

  • A: ~0.37
  • B: ~0.34
  • C: ~0.16
  • D: ~0.13

结论:A 的权重最高,因为它被高质量页面 C 链接;C 虽外链少,但贡献集中。


PageRank 的意义

  • 超越简单统计:权重由链接来源的质量决定,而非单纯数量。
  • 抗作弊:人工增加低质量外链难以显著提高排名。
  • 应用扩展:不仅用于网页,还可分析社交网络、论文引用等场景。

通过这种基于链接的投票机制,PageRank 帮助搜索引擎更智能地排序结果,体现“重要性”而非仅关键词匹配。