跳转到内容

百度排名算法:相关性之上,权威性如何主导排序

召回门槛那一篇的结尾,我们把文档送进了排序阶段——它拿到了入场券,和成千上万同样「相关」的候选站在了同一条起跑线上。

现在的问题变了。既然进入候选集的文档都相关(相关性是召回和粗排早就筛过的门槛),那么排序模型比的就不再是「相关不相关」,而是一个更微妙的东西:在一堆都相关的结果里,凭什么判定谁更该排在前面?

这一篇的答案,是搜索引擎排序算法真正的重心所在——权威性(authority)


一、相关性是入场券,权威性是胜负手

Section titled “一、相关性是入场券,权威性是胜负手”

先厘清一对最容易混淆的概念:相关性(relevance)和权威性(authority)。它们回答的是两个完全不同的问题。

相关性只在于「相关与否」,权威性更在意「是否正确、是否可信」。

一个页面可以高度相关却毫无权威——它确实在谈论你搜的主题,但内容是拼凑的、来源不明的、甚至误导的。相关性模型对此无能为力:在它眼里,只要词对得上、主题对得上,就是「相关」。真正把「相关但劣质」和「相关且可信」区分开的,是权威性。

这就是为什么,一旦文档都过了相关性门槛,排序的主战场就迁移到了权威性上。用一个业内熟悉的说法,这对应着 E-A-T(Expertise / Authoritativeness / Trust,专业性 / 权威性 / 可信度)这一类质量导向的评价维度:搜索引擎越来越像一个「专家评审」,而不只是一个「关键词匹配器」。


二、排名权重不是人拍的,是学出来的

Section titled “二、排名权重不是人拍的,是学出来的”

很多人对「百度排名算法」的想象,是一群工程师坐在一起投票决定「标题占 20%、外链占 30%」。真实的现代搜索引擎不是这么工作的。排序用的是 learning-to-rank(LTR):把「排序」建模成监督学习问题,用海量带标注的「查询-文档-理想位次」数据,训练一个模型(历史上是 GBRank、RankSVM 这类,主流是 GBDT 家族的 LambdaMART,近年叠加深度模型),让模型自己学出各信号该占多大权重。

那么「某个信号有多重要」这件事,就不再是人的主观判断,而是一个可以从模型里读出来的量。对 GBDT 这类树模型,一个特征的重要度,等于它在所有树的所有分裂节点上带来的分裂增益之和,再做归一化:

Imp(f)=s:split on fΔL(s)fs:split on fΔL(s)\text{Imp}(f) = \frac{\displaystyle\sum_{s\,:\,\text{split on }f} \Delta\mathcal{L}(s)}{\displaystyle\sum_{f'} \sum_{s\,:\,\text{split on }f'} \Delta\mathcal{L}(s)}

其中 ss 遍历分裂节点,ΔL(s)\Delta\mathcal{L}(s) 是该次分裂带来的损失下降(增益)。分母把所有特征的总增益归一,于是 Imp(f)\text{Imp}(f) 就是特征 ff 占据的「本征权重占比」。这也是特征重要度、信息增益(information gain)这类概念在排序场景的落地形态。

它的意义在于:排名权重是数据算出来的客观事实,不是玄学,也不是可以嘴硬争辩的东西。 想知道搜索引擎重视什么,去看哪些特征的 Imp(f)\text{Imp}(f) 高就行。


三、权重分布是重尾的:少数信号主导一切

Section titled “三、权重分布是重尾的:少数信号主导一切”

如果把一个成熟排序模型里所有特征的重要度画出来,你会看到一条重尾分布(heavy-tailed):极少数特征占据了绝大部分权重,长长的尾巴上是一大堆几乎不影响结果的弱特征。

特征重要度呈重尾分布≈ 10.57≈ 2.04重要度29 个特征维度 · 按重要度降序少数信号(链接·站点权威)占据绝大部分权重,长尾维度几乎不影响排序

这不是偶然,而是排序问题的内在结构。特征之间高度相关、彼此冗余,模型在训练中会自然地把权重集中到那些信息增益最高、最难伪造、最稳定的信号上。那么,哪些信号会爬到重尾的头部?

按作用范围,排序信号大致分四层:

层级刻画对象典型信号
Doc 级单个页面自身内容质量、原创性、丰富度、页面体验
Query-Doc 级页面在某查询下的表现锚文本 / 点击查询与 query 的匹配权威
Site 级整个站点在某领域站点领域权威、站点等级、主题聚焦度
Author 级内容生产者作者等级

一个反复出现、值得记住的规律是:

还有一个常被忽略的重点:Site 级信号占的总权重很高。也就是说,权威性在很大程度上是站点级的属性,而不是页面级的——提升整个站点在某领域的权威,往往比孤立地优化单个页面更有效。这条线索会在下一篇链接即投票里展开:为什么权威性本质上是一个图上的传播量


再往细看一层。一个查询往往由多个 term 组成,模型会分别评估文档在每个 term 上的权威,再聚合成一个整体分数。聚合方式的选择,藏着重要的策略含义。

一种常见做法是用**加权调和平均(weighted harmonic mean)**来聚合各 term 的权威 aia_i

auth(d,q)=iqiiqiai\text{auth}(d,q) = \frac{\sum_i q_i}{\displaystyle\sum_i \frac{q_i}{a_i}}

其中 qiq_i 是 term ii 在查询中的重要度,aia_i 是文档在该 term 上的权威。调和平均有一个算术平均没有的性质:它被最小项主导。 只要有一个核心 term 的 aia_i 很低,整体分数就会被拽下来——哪怕其他 term 都很强。

这就是排序里的木桶效应:文档在查询的每一个核心 term 上都得站得住,短板 term 会否决整体。它奖励的是「全面对得上」,惩罚的是「大部分对得上、但漏了关键一环」。这解释了为什么堆砌一两个热门词、却在其他核心 term 上薄弱的页面,排名往往上不去。


把上面几节落到「百度排名算法」的实践直觉上:

重心在权威,不在关键词密度。 既然进了排序阶段的候选都相关,那么在标题、正文里反复堆同一个关键词,对区分度几乎没有帮助——相关性早就饱和了。真正决定名次的,是权威性这一层:站点在该领域是否被公认权威、内容是否可信、链接结构是否支撑。把精力从「堆词」搬到「建权威」,才对得上模型的重心。

快排喂的是头部信号,不是弱杠杆——这是最容易踩的误解。 百度快排、点击快排的核心机制,是模拟「搜目标词 → 点目标 URL → 满意不返回」。它喂的不是上文权重表里那个 ≈ 2.04 的页面交互质量(停留/滚动),而是 ≈ 10.57 的查询-点击权威(click-query)——重尾头部、模型最看重的特征之一。所以前置条件一旦满足(能被召回、站点/域名过关、TDK 与 term 合理),快排对中段排名的推动常常立竿见影:它撬的是第一梯队杠杆。它的天花板不在「杠杆弱」,而在别处:够不够得到(召回门槛是必要条件)、撬不撬得动另一族头部信号(链接图——点击生成不了外链)、以及信号会不会被反作弊识破(详见行为篇)——行为篇会把完整边界讲齐。

站点级优化优于页面级优化。 既然 Site 级权威占的权重高、且会在站内泛化,那么把一个站点在某个垂直领域做深做透,其收益会外溢到该站点下的许多页面;而孤立地优化单页,收益被锁死在那一页。


过了召回门槛进入排序后,游戏的核心从「相关与否」迁移到「是否权威」。排名权重不是人拍的,而是 LTR 模型从数据里学出来的客观事实,且呈重尾分布——少数信号(链接、站点与点击-query 权威)主导一切,而纯页面交互类信号(停留/滚动)权重偏低。跨 term 的调和平均聚合又带来木桶效应,奖励全面、惩罚短板。

而这一切的头部信号——权威性——最强的来源是什么?是链接。一个页面的权威,很大程度上来自「别的页面怎么指向它」。下一篇,我们进入图论:为什么权威性不是一个页面的属性,而是整张链接图上的传播量