中文分词作为文本处理的起点,任务是将无空格分隔的汉字序列切分为词语单元。分词结果的准确性直接影响下游的词性标注、信息检索和机器翻译等任务效果。选对分词方案,往往比堆砌复杂模型更能解决实际问题。
词典分词是门槛最低、落地最快的路线。它依赖一个较完整的词表,将文本与词条逐一比对。依据扫描方向不同,有正向最大匹配、逆向最大匹配和双向最大匹配等分支。
以“研究生命起源”为例,正向最大匹配从前往后取最长可匹配词,容易产出“研究/生命/起源”,避免切出“研究生/命/起源”。逆向最大匹配从尾部扫描,在处理某些以单字结尾的短语时表现更好。双向匹配则综合两者结果,通过比较词数或单字词量来择优选一。
实践提醒:该方案高度依赖词表质量。若文本来自社交平台或垂类领域,建议定期补充行业词和网络新词,否则专有名词会被切散,直接影响分词准召率。
统计方法不追求词典完备,而是从标注语料中学习字与字间的共现规律。常用思路包括隐马尔可夫模型(HMM)和条件随机场(CRF)。
HMM 将分词问题转化为给每个字打上词位标签(B词首、M词中、E词尾、S单字词),再用维特比算法找到概率最大的标签序列,实现简单且推理较快。CRF 则放宽了观测独立性假设,可自由组合前后文特征,在捕捉复杂词边界上精度更高,这也是它在传统方法中长期占据优势的原因。
统计方法的另一好处是具备一定的未登录词学习能力:若语料中“多模态”频繁共现,模型有机会将其聚合为一个完整词。但代价是需要制作与目标领域匹配的标注数据,训练周期与离线处理耗时也明显高于词典方案。
深度学习在算力支持下成为主流。代表性结构有双向长短时记忆网络(BiLSTM)和以 Transformer 为骨干的预训练语言模型。
BiLSTM 用双向隐层状态融合前后文信息,比 CRF 更擅长捕捉长距离依赖。以 BERT 为代表的预训练模型则通过掩码任务掌握通用语义,在顶层接一个轻量分类层微调,便可在权威评测上达到前列成绩。
一个常被提到的例子是“南京市长江大桥”。深度模型能依据上下文理解“南京市”与“长江大桥”的修饰关系,正确切分,而不至于被“南京/市长/江大桥”的局部歧义误导,这是词典法和统计法难以逾越的语义短板。
需要正视的是,深度模型参数量大,GPU 显存消耗高,在线推理延迟也难压到毫秒级,在预算紧张或强实时业务中需要权衡。
生产环境中,词表质量、模型速度和语义理解三者往往不可兼得,建议按场景做取舍。
对中小团队而言,从词典法起步、用统计模型兜底、按需迁移深度学习,是一条更稳妥的演进路径。
先评估词源:若是社交文本,直接扩展词典或采用基于统计的分词器;若允许离线训练,可以使用 CRF 或预训练模型做二次标注,让模型自行学习新词边界。
建议在通用分词后接入领域词表强制合并,或者用领域语料微调模型。注意保持词表与模型的版本同步,避免出现改词后模型仍输出旧边界的情况。
常用三个:精确率(切出的词有多少是对的)、召回率(真实词有多少被切出)和 F1 值。对检索场景可额外关注对专有名词的切分一致性,对翻译场景则更看重词序与边界准确度。
分词没有放之四海皆准的最优解:小规模原型用词典法最快,追求精度的生产环境可上统计或深度方案。建议先明确文本领域、延迟预算和可标注语料量,再动手选型;同时保留一套评测语料,便于在方法升级时量化对比真实效果。