构造反例样本的目的,是在批量替换执行前找出“替换后会变错”的页面,而不是证明替换规则正确。做法是从全站页面中按结构、语境和角色理解差异分层抽取少量页面,逐条人工核对替换前后的文本,把每一条判断写成可复核的记录。只有反例样本全部通过或已有明确处理方案,才进入批量替换。
假设要全站把“联系电话”替换为“联系方式”。运营认为这是纯措辞统一,技术认为页脚、表单标签、结构化数据里出现这个词的地方语义不同,不能一刀切。两人都没有错,分歧出在各自默认的“同一事实”范围不同:运营看的是可见正文,技术看的是整份源码。
这类分歧在批量替换前非常常见。它不会因为多开一次会就消失,只能转成可核对的样本:把双方各自认为不能替换的位置列出来,形成反例清单,再逐一确认。
如果双方争论的页面本来就属于不同模板,比如文章页与产品页,那么问题不在措辞,而在规则作用域。此时反例样本应按模板分层,每个模板至少取一页,重点看该模板中该词出现的所有位置。
如果争论发生在同一模板的同一位置,比如页脚版权区,那么问题在语境。此时反例样本应固定页面类型,改为抽取不同栏目、不同语言版本或不同业务线的页面,观察同一个词在不同上下文里是否承担不同功能。
两种解释指向不同的抽样方式,所以先判断属于哪一种,比直接扩大样本量更有效。
可以做一个假设性的对照:从文章页和产品页各取五页,记录“联系电话”出现的位置编号与所在标签。如果两个模板的出现位置分布明显不同,支持解释一;如果位置分布一致但周边文案差异大,支持解释二。
这里要注意,位置分布一致不能单独证明语境是唯一原因,也可能是模板本身复用程度高。判断时需要同时看标签结构和可见文案,不能只看数量。
第一步,为每条替换规则建一张反例表,字段至少包括:页面地址、模板类型、出现位置、替换前文本、替换后文本、判断结果、判断人。第二步,按前面确定的解释选择抽样维度,每个维度不少于三页。第三步,逐条人工核对,把“不能替换”的页面单独标记,并写明原因属于结构、语义还是角色理解差异。
这个动作的直接结果是得到一份带原因的反例清单。它会影响下一步:如果反例集中在某个模板,就收窄替换范围或为该模板单独写规则;如果反例分散且原因各异,说明这条规则本身不适合全站批量执行,应改为逐页确认或放弃自动替换。
假设某站有 200 个页面,计划把正文中的“下载”统一替换为“获取”。抽样时发现:教程页里的“下载”指文件传输,替换后语义不变;活动页里的“下载”指领取优惠券,替换后会让用户误以为要下载文件。此时反例样本应保留活动页这一类,并把规则限定为“仅教程模板的正文段落”。如果忽略这个反例,批量替换后活动页的转化路径描述会与实际动作不符,后续排查成本高于抽样成本。
反例样本不必覆盖全部页面,但必须覆盖每一种已识别的语境。样本通过后仍建议先在小范围执行替换,观察一段时间再扩大;比较前后变化时要考虑季节、搜索需求波动和数据采集口径差异,不能把某次统计归零直接当作规则正确的证据。