把输入对象从关键词列表换成页面或文档时,处理方案的核心变化不是多填一个字段,而是把“以词为单位”的匹配逻辑改成“以页面为单位”的抽取逻辑。可行做法有两种:先抽取再汇总,或先限定范围再逐页抽取。选哪一种,取决于你手里对象的结构是否统一,以及最终要拿这批结果做什么决策。
同一批资料里,如果页面模板一致、正文区域的位置稳定,先限定范围再逐页抽取更省事:为每类页面写一条范围规则,让工具只在正文范围内取候选词,导航、页脚、推荐位不进入候选池。代价是前期要逐类核对范围,模板一旦改版,规则会失效且不易察觉。
如果对象来源混杂,比如既有产品页又有帮助文档,还有用户问答,先抽取再汇总更稳:先把每个页面能取到的候选词全部取出,再按来源打标签,最后人工合并同义项。代价是候选量明显变大,去重和归类的工作量转移到后段,但不会因为一条范围规则写错而整批漏词。
不管选哪种顺序,输入规范都可以拆成下面四层,任何一层与对象不匹配,后面的结果都会失真。
这四层里,范围层最容易出问题。一个可执行的动作是:先取两三个代表性页面,把抽取结果与页面原文对照,标出哪些词来自正文、哪些来自模板区域。如果模板词占比明显偏高,说明范围层需要收紧,此时应回到范围规则而不是直接进入归并。
先限定范围适合对象结构统一的场景,判断依据是:随机抽三到五个页面,正文区域能用同一套定位方式描述,且页面上没有大量由脚本后加载的文本。满足这些条件时,范围规则可以复用,后续新增同类页面只需套用。
先抽取再汇总适合对象结构不统一的场景,判断依据是:抽样页面中至少有一个无法用同一套定位方式描述,或者不同来源的页面在版式上差异明显。这时强行写统一范围规则,往往会为了兼容个别页面而放宽到接近全页,范围层实际上失去作用,不如直接全量抽取再靠标签区分。
两种做法的分界不在工具能力,而在你能否用一句话描述“正文在哪里”。能描述清楚,就先限定;描述不清楚,就先抽取。
假设你手上是一页帮助文档,正文包含步骤说明和常见问题两段,页面顶部有导航、底部有相关推荐。若按先限定范围处理,规范可以写成:只取步骤说明和常见问题两个区块,排除导航与推荐位;按段落切分;大小写不敏感,单复数不合并。执行后得到约几十条候选表达,数量可控,可以直接进入人工筛选。
若同一批资料里还有版式完全不同的问答页,把问答页也塞进上面这条规范,就会出现两种结果:要么问答页取不到内容,要么为了取到内容把范围放宽到全页,导致导航词混入。这时应改为先抽取再汇总:帮助文档和问答页各自全量抽取,分别打上来源标签,再在归并层统一处理同义表达。这个动作的结果是候选量上升、归并成本增加,但不会因为一条规则不兼容而漏掉整类页面。
规范改完不要直接跑全量。先选覆盖不同模板的三到五个对象跑一遍,检查三件事:候选词是否主要来自正文;同一表达是否被重复计入;范围规则在模板轻微变化时是否仍然成立。若小样中模板词占比偏高,先修范围层;若同义项散落过多,先修归并层。小样通过再放量,能把返工限制在小范围内。
需要提醒的是,候选词数量下降或抽取结果变少,并不能单独证明规范改对了,也可能是范围收得过紧、页面文本加载失败或切分单位选错。判断时应结合原文对照,而不是只看数量变化。具体工具支持的输入格式、字段名称和当前功能,需要以你实际使用的工具说明为准,不要凭印象假定。