为中文分词算法制定阶段性交付物,核心是把“分词效果好不好”拆成可检查的中间产物:词典与规范、切分程序、标注样本、评测报告、上线与回滚记录。每个阶段都应有明确输入、输出和通过条件,而不是等到最后才用一句“效果还行”验收。最关键的一步是建立可复现的评测集:没有固定样本和统一口径,后续所有交付物都无法比较。
中文分词没有唯一正确答案,“北京大学”可以切成一个词,也可以切成“北京/大学”,取决于业务用途。因此准备阶段的第一份交付物不是代码,而是切分规范文档,至少写清:专名、数量词、外来词、网络新词、标点与空白如何处理,以及歧义串优先采用哪种切法。
第二份交付物是标注样本集。建议从真实业务文本中抽样,覆盖短句、长句、含英文数字混排、含专名和歧义结构的句子。每句给出标准切分结果,并记录标注人和标注日期。样本一旦冻结,后续不要随意改动;确需修改时另存版本,避免新旧结果无法对比。
准备阶段的通过条件是:规范文档能回答常见歧义如何处理,样本集能被另一个人按同一规则复现标注。如果两个人对同一批句子的切分分歧很大,说明规范还不够具体,应先补充规则再进入实施。
实施阶段的交付物应包含三部分:
如果采用基于词典的方法,要特别记录词典的加载顺序和冲突处理;如果采用统计或深度模型方法,要记录训练数据来源和随机种子。判断这一阶段是否完成,不看代码行数,而看换一台机器、换一个人,能否用说明文档得到同样的切分输出。
这里可以执行一个短检查:准备十句包含歧义的文本,分别用旧版本和新版本切分,把差异逐条列出。差异属于“修正”还是“退化”,要对照准备阶段的规范逐条判断,而不是凭感觉决定。
验证阶段的交付物是评测报告,而不是一句结论。报告至少应包含:
需要强调:指标上升不等于业务可用。假设某个版本把“发货地址”切成了“发货/地址”,词边界指标可能变化不大,但下游地址识别会受影响。因此验证阶段还应加入下游任务抽检,例如抽取若干条真实文本,检查分词结果是否影响检索、分类或实体识别的输出。适用条件是:只要分词结果会被后续模块消费,就应做这项抽检;如果分词仅用于展示,则可适当简化。
验证的通过条件应提前写死,例如“在冻结样本上F1不低于基线,且错误清单中不出现规范明令禁止的切法”。达不到就回到实施阶段调整,而不是修改验收标准。
上线不是终点。维护阶段的交付物包括:版本变更记录、新词收集渠道、回归测试结果和回滚方案。每次调整词典或模型,都应重新跑一遍冻结样本,确认没有引入新的退化。
判断维护是否到位,可以看三个检查项:能否查到某个切分结果由哪个版本产生;能否在出现问题时回退到上一个稳定版本;新增网络热词或业务专名后,是否有固定流程把它加入词典并补充样本。若这三项都做不到,说明交付物只完成了“能跑”,还没有达到“可维护”。
下一步建议直接动手做一件事:从你的业务文本中抽取50到100句,按上述规范完成标注,冻结为第一版评测集。之后每一阶段的交付物,都围绕这份评测集给出可对比的证据。