中文分词的目的是把连续的汉字序列切分成有意义的词语单元。由于汉语文本缺乏天然的词间分隔符,分词结果会直接影响下游任务如命名实体识别、情感分析和机器翻译的正确性。选择合适的分词方案,需要先厘清各类算法的运行机制与适用边界。
词典法依靠预先构建的词表对输入字符串进行扫描匹配,是历史最久、部署最轻量的方案。主流实现方式依据扫描顺序分为正向、逆向和双向最大匹配。
正向最大匹配从句子首字出发,优先匹配词表中长度最长的候选词;逆向最大匹配则从句尾反向扫描,对解决“研究生命”这类尾字歧义效果更佳。双向匹配会同时运行正逆向切分,再依据词频等规则挑选更合理的结果。
这类方法的实现成本低,处理速度快,无外部依赖。它面对的最大难题是未登录词——文本中一旦出现人名、机构名或新兴网络词汇,缺少词表支持便会产生错误切分。因此需要设计有效的动态词表更新流程,或定期补充领域专有名词,以延缓精度衰减。
实践建议:对延迟敏感的实时接口或语料规模有限的初创项目,词典法是性价比较高的起点。但需为词表维护投入持续精力,防止覆盖率随业务发展快速下降。
统计方法告别了对完整词表的依赖,转而从大规模语料中学习字符间的共现规律。隐马尔可夫模型与条件随机场是这一范畴内最具代表性的两类模型。
HMM把分词视为对每个汉字标注位置符号的序列任务(如B、M、E、S代表词首、词中、词尾与单字词),再通过维特比算法寻找全局最优标注路径。CRF则在HMM基础上引入相邻标签之间的转移特征和观测特征的组合,打破了HMM中观察状态互相独立的前提假设,对交界处的判断更细腻。
统计模型具有一定程度的未知词推断能力,在语料中出现频次较高的字组会逐渐被识别为完整词语。但此类方案需要充足且领域匹配的已标注语料才能发挥实力,且训练和预测的计算量显著高于词典法。对于小型团队或冷启动阶段而言,语料收集与质量校验本身也是一笔不小的开销。
深度学习模型的优势在于拥有更强的语义建模能力,目前分词任务的主流方案集中于双向长短期记忆网络和预训练语言模型两大方向。
BiLSTM能融合序列前后的上下文信息,在识别长距离依存关系上优于传统统计模型。而BERT、RoBERTa等预训练模型则借助大规模自监督学习积累了深厚的语义表示,在具体分词任务上只需增加结构简单的分类层进行微调。
以“南京市长江大桥”这一经典歧义句为例:预训练模型能够借助“南京市”与“长江大桥”之间的修饰关系,输出正确的“南京市/长江大桥”切分结果,而词典法或统计模型在此类涉及深层语义的场景中常常判断失误。
深度模型的短板集中在工程部署上:参数量庞大,GPU推理耗时长,内存占用居高不下。面向移动端或高并发在线服务时,通常需要使用知识蒸馏、量化和剪枝等手段对模型做瘦身,再评估业务可接受的时延阈值。
工业系统很少只依赖单一算法,更普遍的做法是结合多种手段形成一个可行的混合管线。
落地时还应将分词组件与后续业务指标联调观测,跟踪分词错误对最终任务的实际冲击。平衡准确率、召回率、延迟与维护成本,应当根据业务目标灵活调整权重,而非盲目追求单一指标的最大化。
可以,也是工业界的常见做法。统计模型可把词表信息作为额外特征引入,词典法则可将统计模型的输出作为候选词源的补充。但需注意维护统一词表的版本与更新节奏,避免两个模块结果产生明显冲突。
首先界定业务主要错误类型:是未登录词频繁引发错误,还是常见歧义句难以消解。前者优先扩充与更新词典或用统计模型覆盖,后者则需要引入上下文建模能力更强的深度模型。可先对典型语料做错误归因统计,再针对性投入资源。
未必。在领域明确、词表覆盖充分的封闭语料上,精心调优的词典法完全可能优于未微调的通用深度学习模型。深度模型的优势体现在开放域、文本风格多样或长尾词频繁出现的场景,但需要匹配足够训练语料和GPU资源才会体现价值。
选择分词方案要结合数据规模、计算资源与业务场景综合判断:词典法适合快速落地与高并发需求,统计模型能兼顾未知词识别与中等开销,深度模型则擅长理解复杂语义。建议先以词典法搭配定期更新词表启动项目,收集真实错误样本后逐步引入统计模型或深度学习方案,在迭代中真正找到最适合业务的分词策略。