中文文本不像英文那样天然带有空格边界,分词就是将连续汉字序列切分为有意义的词语单元。这一环节直接决定下游任务如关键词提取、文本分类、情感分析的准确率。面对词典、统计、深度学习三类主流路线,业务场景不同,理性的技术选型也不同,一味追求复杂模型往往得不偿失。
词典法的核心逻辑是预先收集足够广泛的词条,再通过字符串匹配将输入文本切分成词。这类方案不依赖训练语料,部署成本极低,适合冷启动或对速度有硬性要求的管道。
常见实现有正向最大匹配、逆向最大匹配以及双向最大匹配。正向匹配从句子左侧开始,优先尝试在词典中寻找最长可匹配词;逆向匹配则从右侧扫描,对某些后位词缀歧义的处理更从容。双向匹配则是两者结果互相校验,选择词数更少或单字词更少的一组输出,以降低误切风险。
需要留意的是,词典法的天花板受词库质量绑架。如果文本来源偏社交化或涉及垂直领域,建议通过新词发现工具或者人工整理定期维护词表,否则“懂王”“绝绝子”这类词汇会被硬生生拆成单字。
适用场景:电商标题分词、日志切分、延迟敏感型API。避坑要点:若文本出现大量未登录词,不要强行扩容,否则会带来匹配歧义膨胀,建议引入针对性的专名识别后处理。
统计分词的基本假设是,字与字之间组合的频次与条件概率能揭示潜在边界。模型从语料中自动学习字段切分规则,因此天然具备识别新词的能力,不再僵化依赖静态词典。
隐马尔可夫模型(HMM)是这一路线的奠基者,它给每个汉字标注B(词首)、M(词中)、E(词尾)、S(独立单字)四个隐藏状态,通过维特比算法推算最可能的标注序列。条件随机场(CRF)则更强大,它丢弃了HMM对前后观测独立的强假设,允许模型自由组合上下文特征,在歧义词边界判断上表现更佳。
实际使用建议:统计模型效果上限取决于语料是否与目标领域同分布。先用领域语料做增量训练,再对比模型在验证集上的F1值,切勿直接拿通用语料跑垂直文本。另外,模型推理阶段耗时约为词典法的数倍,性能选择需提前评估。
深度方法的本质是让网络自主构建文本的深层语义表征,不再需要人工设计特征。双向长短时记忆网络(BiLSTM)与预训练Transformer模型是两条主要技术路径。
BiLSTM将前后向隐藏状态拼接,使每个字符向量都携带完整的上下文信息,长句处理中效果显著。以BERT为代表的预训练模型则利用海量文本预训练积累通用知识,微调时只需在顶层增加一个分类头即可适配分词任务,精度常位列评测榜首。
值得一提的案例是“南京市长江大桥”:深度学习模型能够依据“南京市”与“长江大桥”的修饰关系给出正确切分,而词典法容易受局部语境干扰切出“南京市长/江大桥”。这正是语义级方法与规则级方法的代差。
副作用同样明显:模型体积动辄数百MB甚至数GB,对显存有硬性要求。如果业务QPS很高,建议考虑蒸馏后的轻量模型或者将分词结果离线批量生成缓存。
工业界常用工具可归纳为三类:jiebapython分词库、HanLP(支持感知机与CRF)、LTP(哈工大自然语言处理工具,提供深度学习版本)。
选型建议:先拿目标语料的小样本跑一遍各工具,以分词语料的人工标注结果为准绳,比较准召率与处理时延之后再下结论。
无捷径可走。词典法速度可达数十万字每秒,但准确率受限;深度模型准确率高,但需要GPU支撑。折中方案是预筛选:先用词典法快速切一遍,仅对包含明显歧义或未登录词的片段调用统计模型二次分词。
建立持续更新的新词库是根基,建议每周定频从业务日志中提取高频共现词对,按互信息值排序后人工审核入库。对于深度学习模型,可定期用新标注语料进行小步长增量微调,而不是全量重训。
并非如此。如果下游任务只是简单字频统计或搜索词归一,词典法完全够用。深度学习在处理复杂语义歧义、口语化文本及跨领域迁移时优势明显,适合搜索推荐、舆情分析等对语义颗粒度要求更高的场景。
中文分词没有一招鲜的万能方案。起步阶段建议以词典法快速搭建基线系统,同步用标注语料验证统计模型的增量收益;当业务进入对语义质量要求跃升期,再向深度学习迁移。任何一次技术迭代,都应配套完整的评测集和回退机制,避免升级带来隐性效果滑坡。