结论先说:对象格式变化后,不要沿用原来的输入规范,而要把“分词工具实际接收的文本形态”重新定义一遍。判断依据不是工具名称,而是输入对象从一种结构变成另一种结构后,切分边界、空白、标点和大小写是否还具有原来的意义。若这些语义已经改变,旧规范就必须重写,否则结果看似正常,实际已经不可比。
对象格式变化有很多种:从纯文本变成带标签的正文,从单行查询变成多行字段,从自然语句变成代码或标识符,从人工整理文本变成日志导出文本。它们对分词工具的影响并不相同。真正需要改规范的情况,是新格式引入了工具原本不处理的字符或结构,并且这些结构会影响切分结果。
可以用一个假设例子说明。假设原来输入是一句中文描述,规范规定按标点和空格切分,忽略大小写。现在对象变成带下划线和驼峰命名的标识符,比如 order_id、getUserName。如果继续忽略大小写、把下划线当普通符号,工具可能把 order_id 切成 order 和 id,也可能保留整体。两种结果都合理,但它们对应的是不同的下游用途,不能混用。此时要改的不是某个参数,而是先明确:下划线和大小写在这批对象里是否承载语义。
出现与直觉相反的结果时,容易直接归因于工具变差或算法变化。更稳妥的做法是取一小批样本,分别用旧规范和新格式原样输入,逐条对照切分位置。重点看三类证据:
如果差异只出现在新格式特有的字符上,旧规范失效的原因就是对象形态变化;如果同一格式下不同批次结果也不稳定,才需要进一步排查工具版本、词典或处理流程。请求量、抓取量或某项统计归零,不能单独证明是格式问题,也可能是上游没有数据、过滤条件过严或采样窗口变化。
一个实际动作是:在分词之前增加一层可检查的预处理,把新格式统一成工具能稳定处理的文本形态。这个动作的结果会直接决定下一步是继续调切分规则,还是回到上游修数据。
如果预处理后切分点稳定,下一步应把预处理规则写成可复用的输入规范,并注明适用对象格式。如果预处理后仍不稳定,说明问题不在格式转换,而可能在于词典、模型或下游对词形的二次处理,此时继续改输入规范收益有限。
反例是:新格式虽然引入了新符号,但这些符号在业务上完全不承载语义,且工具本身已经能稳定忽略它们。此时重写输入规范反而可能引入过度处理,把原本可用的文本改坏。例如纯展示用的富文本标签,如果工具已经能正确跳过,强行先删标签再分词,可能把相邻词粘连,改变边界。判断条件在于:新符号是否影响下游对结果的使用。若不影响,旧规范可以保留,只需补充说明对象格式已变、验证过切分点未变。
完成上述核对后,下一步不是继续调工具,而是把输入规范写成执行人员能验收的形式:说明适用对象格式、预处理步骤、保留和替换的字符、大小写策略,以及用哪些样本可以复现切分点。这样当对象格式再次变化时,先对照规范判断是新增格式还是旧格式变体,再决定改预处理还是改切分规则。若涉及具体品牌工具的现行功能、入口位置或订阅限制,需要以该工具当前公开说明为准,不能凭旧教程推断。