排序 - PageRank - 基于链接重要性评估页面权重
PageRank 简介
PageRank 是由 Google 联合创始人拉里·佩奇(Larry Page)和谢尔盖·布林(Sergey Brin)提出的算法,用于评估网页在互联网中的相对重要性。其核心思想是:
一个网页的重要性取决于链接到它的其他网页的数量和质量。
核心原理
- 投票机制:每个网页通过外链“投票”给其他网页。链接越多且来源质量越高,被链接页面的权重越高。
- 阻尼因子(Damping Factor):用户不会无限点击链接,而是有一定概率(通常设 0.85)随机跳转到任意页面。避免“链接闭环”导致权重分配失衡。
- 迭代计算:通过多次迭代,直到所有页面的权重趋于稳定。
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 次迭代计算
A 的贡献:
- A 有 3 个外链,每个外链分配值为 ( \frac{PR(A)}{3} = \frac{0.25}{3} \approx 0.0833 )。
- B、C、D 分别从 A 获得 0.0833。
B 的贡献:
- B 有 2 个外链,每个外链分配 ( \frac{0.25}{2} = 0.125 )。
- C、D 分别从 B 获得 0.125。
C 的贡献:
- C 有 1 个外链,分配 ( \frac{0.25}{1} = 0.25 )。
- A 从 C 获得 0.25。
D 的贡献:
- D 有 1 个外链,分配 ( \frac{0.25}{1} = 0.25 )。
- B 从 D 获得 0.25。
计算各页面新 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 帮助搜索引擎更智能地排序结果,体现“重要性”而非仅关键词匹配。