中文文本不像英文那样以空格天然分隔单词,处理时首要任务就是在连续汉字串上找出合理边界,将其切分为语义完整的词语。这一步的准确度直接左右着后续的词性标注、关键词提取、情感分析乃至机器翻译的效果。理解各类分词技术的核心逻辑和适用边界,是搭建可靠中文文本处理流程的基础素养。
基于词典的切分是最经典也最容易上手的思路,其核心是建立一份覆盖足够广的词库,再按照预设的扫描策略将文本与词条进行匹配切割。按照扫描方向的不同,可以划分为几种常见流派。
这类做法的优点是计算开销小、实现门槛低,尤其适合对速度要求高且文本领域相对固定的场景。但它对词典质量依赖极重,一旦出现人名、地名或新造热词等未收录内容,切分质量就会明显下滑。如果你处理的语料来自资讯或社交媒体,需要建立新词定期回填词典的机制,避免准确率随时间递减。
实践建议:当文本中包含"研究生命科学"这类双重语义的片段时,词典单独判断几乎无效,此时应结合统计特征或人工规则加以干预。
统计类方法不再单纯依赖词表,而是从大规模语料中学习字与字的组合倾向规律。其中隐马尔可夫模型和条件随机场是两种最具典型意义的实现。
隐马尔可夫模型将分词转化为对每个汉字进行字位标记,常用标签集包含B(词首)、M(词中)、E(词尾)、S(单字成词)。随后通过维特比算法在可能的标签序列中搜索整体概率最高的组合。条件随机场则打破了观测独立的限制,允许在建模时自由引入多种上下文特征,在判断复杂边界时往往表现出更强的区分能力。
这种路线对未登录词有着天然感知,只要"折叠屏""保研率"这类搭配在语料中出现频次足够,就会作为新词被记入模型。不过它的软肋在于训练数据质量要求高,且训练和推理阶段都需要额外的时间成本。不同来源文本混用时,建议先做领域适配,否则统计规律容易出现偏移。
随着计算资源变得充裕,神经网络方法已成为目前分词效果的上限所在。主要方向集中在双向长短时记忆网络与预训练Transformer模型两类。
双向长短时记忆网络为每个字构建融合前后语境的向量表征,在处理较长的跨字依赖时比传统统计方法更稳定。而预训练语言模型的思路则是先在无标签的海量文本上学习通用语义,再用于分词任务时只需做顶层微调。典型例子是处理"乒乓球拍卖完了"这类容易错分的句子,模型能依据整句语境判断出合理切法,避开"乒乓/球拍/卖完"的误读。
性能领先并不等于免费午餐。这类模型需要较大的显存占用,推理延迟也远高于词典方法,上线前必须评估硬件成本与响应时限的平衡。对于低延迟接口场景,可以考虑蒸馏模型或量化技术来压缩体积。
现实项目中,很少依赖单一方案走到底,比较常见的做法是多种手段协同配合。
选型时可以从四个方面判断:数据量是否足够支撑统计模型训练;处理硬件是否满足深度网络运行要求;文本领域是否需要高更新频率;最终任务对延迟的敏感程度。举个例子,每天处理亿级短消息的日志系统,就未必适合引入重型预训练模型;而法律文书这类用词严谨、术语密集的文本,词典手段往往就可获得不错效果。
没有通用答案。预算充足且对效果要求高时,基于预训练模型的方案表现最好;若追求速度且语料领域集中,词典配合条件随机场也足够稳定。建议结合自身数据规模和业务目标,先在少量样本上跑通对比再定方案。
不能。词典只能覆盖已收录的词条,遇到新出现的品牌名或网络梗依旧会失效。有效路径是将自定义词典作为辅助信号,同时保留统计模型对高频组合的自动发现机制,两者配合才能提高对新词的容纳力。
最直接的后果是下游任务指标受损。比如搜索引擎中切分错误会拉低召回结果的相关性;情绪分析中"不太满意"被切成"不太/满意"就会导致极性判断彻底反转。因此,分词环节需要定期用测试集评估,不能一次部署便不再过问。
选择分词方案时,建议先梳理自身对速度和精度的真实需求,根据语料规模与硬件条件确定方向,并保留词典兜底与模型微调的组合配置。动手阶段可以从公开语料构建评测集,对比不同方法的切分准确率和耗时指标,再结合业务反馈持续迭代优化,这样才能让分词环节真正为整体系统打好地基。