分词工具的数据主要来自三类来源:人工整理或从语料中抽取的词表、人工编写的切分与消歧规则,以及从大量文本中统计出来的概率或神经网络参数。你看到的“把一句话切成若干词”的结果,就是这些数据在具体算法里共同作用后的输出。不同工具侧重不同,有的只靠词表加规则,有的把词表作为特征之一,主力换成统计模型。
当分词结果不符合预期,先别急着换工具,按下面顺序观察,能判断问题出在哪一层:
词表负责“这个词整体存在”。它可以是人工整理的高频词表,也可以是从语料中自动抽取的高频串。词表决定了一个词能否被整体识别,但无法处理未登录词和新词。
规则负责“按什么边界切”。包括标点切分、数字与单位组合、人名地名模式、前后缀处理等。规则可解释性强,但维护成本高,覆盖不了所有语言现象。
统计模型负责“哪种切法更可能”。它从标注语料中学习词与词相邻的概率,或通过神经网络学习上下文表示。模型能处理未登录词,但依赖训练语料的质量和领域覆盖。
三者不是互斥关系。多数实用工具会先用词表匹配已知词,再用模型处理剩余部分,规则用于兜底和格式约束。
多人协作时,分词结果需要可交付、可复查,判断依据可以落在以下几点:
这些测试不需要知道工具内部实现,只需要构造少量已知答案的句子,对比不同工具或不同版本的结果即可。
假设你发现“星澜协议”总被切成“星澜”和“协议”,而业务上它是一个整体。处理步骤可以是:
复查时要区分两种情况:如果加词后整体保留且不影响相邻词,说明词表是有效的数据补充;如果加词后出现过度合并,说明需要调整权重或改用规则约束。具体工具的词表格式和权重范围不同,需要查该工具的文档确认。
多人协作减少返工的关键,是把“用了什么数据”写进交付说明。至少包含:工具名称与版本、是否使用自定义词表、词表版本、测试句子及预期结果。这样别人复查时能复现你的结果,也能判断换版本后是否需要重新验证。如果涉及具体品牌工具,其当前功能、数据政策和词表接口需要以官方文档为准,不要凭记忆推断。
下一步:挑三句你业务里最常出错的句子,分别用当前工具和另一个工具切分,记录差异,再判断差异是词表缺失、规则冲突还是模型领域不匹配。