SEO · 内容优化

WDF*IDF:覆盖完整只是起点,与众不同才是目标

WDF*IDF 的原理、中文分词带来的难题、我们百度排名因素研究的数据,以及为什么照着排名页面把词补齐,只能让内容做到“及格”。

发布于
更新于

把 WDF*IDF 工具推荐的词全部写进去,你的页面会变得“完整”,同时也会变得“平庸”。原因很简单:每个用同类工具的竞争对手,拿到的都是同一份词表。真正拉开差距的是第二步:找出其他页面都没有、只有你能提供的内容。

WDF*IDF 是一种判断“某个主题的页面通常应该包含哪些词”的方法。它不专属于某个搜索引擎,也不专属于某种语言。百度、谷歌、必应,中文、英文、德文,背后的道理是相通的。真正的区别在于:不同语言里,“什么算一个词”并不一样。这一点常被忽视,也是本文想讲透的地方。

本文内容

  • 不用数学,讲清 WDF*IDF 到底在衡量什么
  • 搜索引擎并不按它排名,为什么它依然有效
  • 换一种语言,“词”就变了:英语、德语、中文各有各的难题
  • 我们的百度排名因素研究数据,以及平均值为什么一到具体话题就失灵
  • 为什么照着排名页面把词补齐还不够,以及该怎么做

用大白话理解 WDF*IDF

WDF*IDF 用两个问题给一个词打分:它在这个页面里有多突出?它在其他页面里有多少见?

拿菜谱打个比方。盐几乎出现在每一道菜里,所以在一份菜谱里看到盐,你判断不出这是什么菜。藏红花只出现在少数几道菜里,看到它,你基本能猜到这是西班牙海鲜饭一类的菜。WDF*IDF 做的事情,就是给“藏红花”打高分,给“盐”打接近零的分。

这两个部分各有名字:

  • WDF(Within Document Frequency,文档内词频) 衡量一个词在页面中出现的相对频率。它会取对数做平滑,防止某个被反复堆砌的词权重过高。
  • IDF(Inverse Document Frequency,逆文档频率) 衡量稀有程度:包含这个词的文档越少,分数越高。

两者相乘,就是这个词在页面中的权重。

示例:一个介绍电热水壶的页面

一个虚构的例子:该页面放在 10000 个页面组成的集合里比较。

的
占页面总词数 6% · 出现在 9990 个页面中(共 10000) · 稀有度(IDF)0.0004 · 权重(×1000)0.03
水壶
占页面总词数 1.5% · 出现在 500 个页面中(共 10000) · 稀有度(IDF)1.30 · 权重(×1000)19.5
除垢
占页面总词数 0.4% · 出现在 20 个页面中(共 10000) · 稀有度(IDF)2.70 · 权重(×1000)10.8

数字仅为示意。稀有度 = log₁₀(总页面数 ÷ 包含该词的页面数)。

“的”几乎出现在所有页面里,得分几乎为零。“水壶”是主题词,得分最高。“除垢”只占全文不到 0.5%,权重却超过“水壶”的一半,因为很少有页面提到它。换句话说,“除垢”正是那种能体现页面深度、又容易被漏掉的词。真实工具会对 WDF 再取对数,样本也大得多,但逻辑完全一样。

从公式到 SEO 工具

到了 SEO 里,WDF*IDF 变成了一种竞品对比:工具抓取已经在为某个关键词排名的页面,告诉你它们常用哪些词,而你的页面没有用。

学术上的做法是把一个页面放进海量文档中去比较。SEO 工具把这个“海量文档”缩小成某个关键词排名靠前的搜索结果,所以得到的是近似值。但它依然有用,报告的意思也很直白:“排名靠前的页面经常提到这个词,你一次都没提。”

这个思路由来已久。IDF 可以追溯到 1972 年 Karen Spärck Jones 提出的“词语特异性”,WDF 这个叫法在 20 世纪 90 年代初的信息科学中已经出现。SEO 圈大约从 2012 年起开始推广它,作为关键词密度的升级替代:关键词密度只数一个词出现了几次,WDF*IDF 看的是一整组词。今天常见的内容优化平台(例如 Surfer、Clearscope)也是同一个思路:抓取排名靠前的页面,再给你的草稿打分。名字各不相同,输入却是同一个:现在已经在排名的内容。

搜索引擎不按它排名,为什么它依然有效

谷歌淡化了 TF-IDF 在排名中的作用,但词汇缺口分析仍然能改进页面。原因在于,它间接衡量了搜索引擎真正在意的东西:主题覆盖是否完整。

谷歌的 John Mueller 曾表示,TF-IDF 是一个相当老的指标,谷歌用的是多种信息检索技术,而不只是这一种。他还指出,外部人员无法真正复现这个计算,因为它依赖整个互联网的统计数据;他建议把精力放在网站本身和用户身上。百度方面,我们没有看到过任何相关的公开表态,无论肯定还是否定。

那它为什么还有帮助?主要有三个原因:

  • 它是“覆盖度”的替身。 现代排序系统会判断一个页面是否覆盖了搜索者期待的内容。排在前面的页面,正是搜索引擎认为做得好的那些,它们的用词就像“好内容”的指纹。评分标准你看不到,但高分答卷能告诉你阅卷人看重什么。
  • 它能弥补作者的盲区。 专家写东西容易跳过读者需要的基础知识;新手则常漏掉体现专业深度的术语。缺口报告就是一份“你漏了哪些子话题”的清单。
  • 它用“广度”取代了“重复”。 关键词密度鼓励把同一个词说上一遍又一遍;词权重鼓励用自然、多样的表达把主题讲全。

不过,这种作用有多大,证据并不充分。一些工具对比文章引用过“工具评分与排名的相关性”:Surfer 约 26%,Clearscope 约 17.5%,同时都承认没有哪款工具能保证排名。这些数字怎么算出来的,我们无法核实,但它们反映的规律是合理的:主题覆盖有帮助,但不起决定作用。

百度也不是一台简单的“数词机器”。我们在介绍百度排名因素研究的文章中提到过:百度在文心(ERNIE)大模型上的持续投入,说明它理解内容时用到的远不止词频。

换一种语言,“词”就变了

在给任何页面打分之前,软件必须先确定“词”在哪里。切法不同,分数就不同。无论面对百度、谷歌还是必应都是如此,只是每种语言的难点不一样:

不同语言的分词难点

英语
词形变化:run、running、ran 算不算同一个词?常见处理方式:词干提取或词形还原
德语
复合词:Kaffeemaschine(咖啡机)由 Kaffee 和 Maschine 拼成一个词。常见处理方式:拆分复合词
中文、日语
没有空格,词与词之间没有明显边界。常见处理方式:分词

中文是最典型的例子:字与字之间没有任何标记告诉你一个词在哪里结束。研究者把中文分词的难点归纳为三类:词的边界模糊且缺少权威标准、歧义切分,以及未登录词(词典和模型都没见过的新词)。这也是为什么,为有空格的语言设计的工具,不能直接拿来分析中文页面。

同一串汉字,两种切法:南京市长江大桥

一个广为人知的例子能说明歧义。

南京市 / 长江大桥
位于南京市的长江大桥
南京 / 市长 / 江大桥
南京有位市长叫“江大桥”(常被拿来当笑话)

人一眼就知道是哪种意思,机器却要靠词典和统计来猜。

专业词汇的问题更突出。一项针对质量管理类中文文本的研究发现,面向日常语言的分词方法会把产品术语“大直径钢制管法兰”切成“大直径 / 钢制 / 管法兰”三段。这样一来,工程师心里的那一个具体产品,在机器眼里变成了三个零散的词。同一项研究在中国法兰标准文档上做了测试:流行的开源分词工具 jieba,在 184 个五字及以上的长专业词中,只切对了 5 个。jieba 这类工具是基于词典的:先在词典里找已知的词,再用统计模型猜测没见过的词。换句话说,词典决定了“哪些词存在”。

这给 WDF*IDF 带来三个实际影响:

  • “词”本身就是一种选择。 中文词汇报告的质量,取决于它背后的分词。
  • 行业词汇需要行业词典。 否则,买家真正会搜的那些专业短语会被切碎,永远不会出现在报告里。
  • 除了搜索引擎自己,没人知道它怎么切词。 一个实用的保险做法是:用两种不同的分词工具各跑一遍。两次都出现的建议比较可靠;一换工具就变的建议比较弱,不该当成必须执行的指令。

所以无论你面对的是百度、谷歌还是必应,无论页面是中文、英文还是德文,顺序都一样:先弄清楚“词”是怎么切的,再谈词的权重。

我们的百度数据,以及平均值在哪里失灵

我们做过一项《百度 SEO 排名因素相关性研究》:分析了 10000 个中文关键词的百度搜索结果,每个关键词取前 20 名,数据采集于 2023 年,只针对百度(完整研究见文末参考来源)。总体来看,排名靠前的页面文字充实、图片很多,而且很少堆砌关键词:

百度排名靠前的页面(2023 年数据)

内容长度
平均 4929 个字符,中位数 3147 个字符
汉字在正文中的占比
约 85%
正文中出现完全匹配关键词的页面
49%(中长尾词 57%,短尾词 66%)
关键词密度
平均低于 1%
关键词首次出现的位置
通常在正文前 18% 以内
含图片的页面
超过 94%,平均 27.5 张
使用项目符号列表的页面
86.5%,平均每页 10.8 个列表

这些数字适合用来检查一篇草稿有没有明显偏离常态,但不适合拿来指导某一个具体页面。研究数据本身就说明了原因:

  • 平均值不等于典型页面。 平均长度比中位数高出约 57%。少数特别长的页面把平均值拉高了,一半以上的排名页面其实比“平均长度”短。
  • “正常”取决于搜索词类型。 标题中包含完全匹配关键词的比例:短尾词 54.4%,中长尾词 41.7%,长尾词只有 18.6%。全部关键词合计为 36%,而且这一项与排名的相关性很弱(在 −0.02 到 −0.17 之间)。这个总体数字,和任何一组的实际情况都对不上。
  • 前十名不一定是你的竞争对手。 2023 年,百度自家产品(百度百科、百度知道、百度文库等)占了前十名结果的 34.91%,以及第一名位置的 60.13%。如果某个搜索词的结果页基本被这些平台占满,你对“前十名”做词汇分析,学到的是百度自家平台的写法,而不是你的页面该怎么写。

还有一点要说清楚:这些数字只来自百度。我们没有对谷歌或必应做过同类研究,它们的分布很可能不同。所以结论是通用的:针对每一个搜索词、每一个搜索引擎,去看真正在排名的那一页结果,并把分析结果只当作对这一页结果的描述。平均值告诉你大致方向,具体怎么走,要看你的话题。

平庸陷阱

用上了所有推荐词的页面是完整的,但它也和已经在排名的页面越来越像。

每个用工具的团队,素材来源都一样:当前排名靠前的结果。照着报告改,你就会滑向结果页的“中间地带”:相似的标题结构、相似的用词、相似的深度。工具的逻辑本身就是这样:如果某个搜索词的前排页面平均有多长、多少个小标题、用了哪些语义相关词,工具就会把你的内容往这些数字上引导。有 SEO 机构用几何的方式描述过同一件事:覆盖度工具把页面拉向现有结果的“聚集区”,差异化则把页面推离这个聚集区;能胜出的页面,两股力量都需要。

完整度与附加价值

词汇报告能把页面从“不完整”推到“完整”;只有原创的东西,才能为页面带来附加价值。

不完整,没有新东西
单薄的页面:既缺少搜索者期待的内容,也没有别的可看之处
完整,没有新东西
平庸的页面:主题讲全了,却和已经在排名的十个页面没有区别
不完整,有新东西
有原创但有缺口的页面:值得一读,但漏掉了搜索者期待的子话题
完整,有新东西
值得排名、值得点击、值得引用的页面

完整是入场券,不是奖品。对搜索者来说,对 AI 生成的答案来说也一样,第十一个重复前十个的页面,没有带来任何新东西。平庸让别人失去选择你的理由:没有新内容值得引用,没有新内容值得点开,也没有新内容值得链接。

公式还有一个盲点:它看不见质量。它只会数词,不知道一个说法是否属实、作者是否真的做过这件事、页面是否打得开。业内人士也指出,即使一篇文字完全按公式写成,也弥补不了内容空洞、外链质量差、移动端体验差这些问题。

一个极端例子能说明“只盯数字”会走到哪一步。2017 年,一篇中文 SEO 文章提出这样的做法:把一篇讲“人参的功效与作用”的文章拿过来,把其中的“人参”全部替换成“山药”,再刻意提高“山药”的出现频率,这样它对“山药的功效与作用”这个关键词来说就成了“独一无二”的内容(阿里云开发者社区)。这就是把公式当成投机工具:数字上无可挑剔,内容上毫无新意。我们把它当作反面教材,而不是方法。另外,也有 SEO 机构的指南提到,百度能够识别抄袭和伪原创内容。

怎么用:先完整,再与众不同

把词汇报告当作页面的“及格线”,把节省下来的精力,投入到只有你能提供的内容上。

第一步:做到完整

先看结果页,再做分析
选定搜索词后,先看清楚真正在排名的是谁;如果是百度,留意百度自家平台是否占满了结果页。
用懂行的词典分词
加入你所在行业的专业词汇,并用两种分词工具分别跑一遍。
把缺口报告当清单,不当指标
补上对读者真正重要的缺失子话题;与你的业务无关的词,放心跳过。

第二步:做到不同

问自己一个问题:已经有十个页面了,读者凭什么选择你的?差异化可以来自这些地方:

原创数据
自己做的测试、调查或基准对比
一手经验
一个真实项目,包括数字和踩过的坑
别人讲不出的细节
例如外国企业进入中国市场时,从服务器部署到平台规则实际要做的事,由亲身做过的人来讲
读者能直接用的东西
清单、模板、计算器
有证据的不同意见
常见建议在哪里行不通,证据是什么

西方 SEO 圈常把这种思路叫作“信息增益”(Information Gain),源自谷歌的一项专利,大意是衡量一个页面相对已有内容带来了多少新信息。我们把它当作一种思考框架,而不是已被证实的排名信号。有分析认为,这项专利描述的是会话层面的机制,即对照某个用户已经看过的内容来评估新信息,而不是一个全局排名信号,而且它在谷歌的官方文档中并未被确认为排名因素。至于百度,我们没有看到任何证据表明它采用了类似机制。但即使撇开这项专利,道理也依然成立:一个只是重复已有内容的页面,给不了读者留下来的理由。

发布前的自检清单

  • 我们分析的是哪个搜索词、哪个搜索引擎的哪些结果?(如果是百度:自家平台是否在其中?)
  • 换一种分词工具,建议还成立吗?
  • 我们补上了哪些缺失的子话题?又有意跳过了哪些,为什么?
  • 这个页面上有什么是前十名都没有的?
  • 读者或 AI 生成的答案,会因为这一点引用我们吗?
  • 这个独特的部分放在了靠前的位置,而不是埋在文末?

哪些已知,哪些是推断,哪些只有搜索引擎自己知道

词汇分析是一种有用的近似方法。正因为是近似,更应该说清楚每一环论证有多牢靠:

每个论点有多牢靠?

谷歌把 TF-IDF 视为众多老技术之一,不建议围绕它优化
有公开表态:John Mueller 的公开回答(见参考来源)
词汇覆盖评分与排名存在一定相关性
有报道,我们未核实:工具对比文章引用的数据
百度把 WDF*IDF 当作排名公式
未知:没有看到公开说法
百度借助文心(ERNIE)等语言模型理解内容
推断:我们的研究文章
百度如何对中文分词
未知:未公开
信息增益是百度的排名信号
没有证据:我们没有看到任何证据
我们研究中的平均值适用于你的搜索词
不一定:我们自己的数据显示,不同类型搜索词之间差别很大

关于国内的应用现状。 国内 SEO 圈很早就讨论过 TF-IDF 与中文分词(例如 2017 年阿里云开发者社区的这篇文章),5118 等大型工具平台也提供高频词提取、竞品分析等功能。我们没有找到的,是一款把你的页面与百度当前排名结果逐词对比、给出缺口报告的公开工具,也就是西方内容优化工具为谷歌所做的那种。

我们的做法

我们的 SEO 团队现在用自研的内部工具,针对每一个搜索词单独做这项分析。工具帮我们守住页面的及格线;而决定一个页面值不值得排在前面的,仍然是人:我们知道什么、测过什么、亲眼见过什么,而这些是另外十个页面没有的。

常见问题

WDF*IDF 是一种词权重计算方法:用一个词在页面中的突出程度(文档内词频)乘以它在其他文档中的稀有程度(逆文档频率)。SEO 工具用它把你的页面与已经在排名的页面做对比,找出缺少的词。
外界无从知晓。百度没有相关公开说法;而它在文心(ERNIE)等大模型上的投入说明,它理解内容时用到的远不止词频。
中文词与词之间没有空格,必须先分词。不同分词工具对同一段文字的切法不同,通用词典还常把行业术语切碎,分析结果也会随之改变。
不够。这样能让页面变得完整,但也会让它和已经在排名的页面越来越像。想要排名和被引用,页面还需要别人没有的东西,例如原创数据、一手经验或只有你能讲清楚的细节。
根据我们针对 10000 个中文关键词的研究(2023 年数据),排名靠前的页面平均 4929 个字符,中位数 3147 个字符,也就是说一半以上的页面比平均值短。