中文文本不像英文那样天然携带空格来标示词边界,分词就得靠算法从连续汉字串里找出语义完整的最小单位。分词结果直接影响后续的关键词提取、语义理解和情感判断,选对方案比堆砌复杂模型更值得投入精力。
这类算法先准备一份词库,再用字符串查找去切分文本,实现简单、响应快,最适合词典覆盖度高的标准领域文本。它的几个变体各有侧重,需要根据语料特点来选择。
正向最大匹配从句子开头取最长可匹配词,例如“研究生命起源”会被切成“研究/生命/起源”,避免误判成“研究生/命/起源”。逆向最大匹配则从尾部反向扫描,处理某些以单字结尾的歧义片段时效果更好。双向匹配同时执行正逆扫描,再根据切分出的词数或单字残留量择优输出结果。
实践提醒:这类方法最怕词典跟不上新词。若是拿它处理短视频评论或电商标题,务必设计新词定期补录的流程,否则流行语和品牌名容易被切碎,召回率明显下滑。
统计分词不再只依赖词典,而是借助给定语料中汉字的共现概率来推断边界,典型代表是隐马尔可夫模型(HMM)和条件随机场(CRF)。这类方法对未登录词的识别能力明显更强。
HMM把每个字符标注为B(词首)、M(词中)、E(词尾)或S(单字词),再用维特比算法找概率最高的标签序列。CRF相比HMM放宽了独立性约束,能整合前后文更多特征来判定边界,精度普遍更高,因而长期是传统方法里的标杆。
统计模型的隐性问题在于对标注语料的要求:需要准备与业务领域同分布的足量文本才能训练出可用效果。训练周期和离线推理耗时会明显增加到词典法之上,适合有耐心做长期投入的团队。
如今算力门槛降低,基于双向长短时记忆网络(BiLSTM)和预训练语言模型的端到端分词逐渐占据主流,它们把上下文语义直接融入每个字的向量表示中。
BiLSTM通过双向隐层弥补前后文信息的割裂,比CRF更能捕捉长程依赖。以BERT为代表的预训练模型则自带海量通用知识,顶层接一个分类输出做微调即可,在公开评测集上通常能拔得头筹。
一个常被提起的例子是“南京市长江大桥”:深度学习模型凭借上下文理解“南京市”与“长江大桥”的修饰关系,输出正确切分,而词典或统计法容易掉进“南京/市长/江大桥”的歧义陷阱。这正好说明语义感知能力对复杂场景的价值。
需要注意深度模型的资源代价:参数量大,GPU显存消耗高,线上推理延迟多难压进毫秒级。如果业务是高频在线实时响应,得先做并发量和响应时间的压测。
不存在万能方案,关键看数据规模、延迟要求和技术储备。以下从不同视角给出选择时的实用参照。
建议先从词典法做基准测试,看清自己的瓶颈是现有词表覆盖不够,还是歧义切分过多——前者换统计模型有时就够,不必直接上大模型。
常用指标是准确率、召回率与F1值。分词标注里重点看切分边界是否与标准一致,工程落地时还应关注对下游任务的影响,例如关键词抽取的波动程度。
先统计错误类型,如果是行业专名或新词比例高,优先补词典或做定向语料增强。若歧义切分占多数,就要考虑升级到统计或深度模型。
可考虑轻量化方案,例如用蒸馏压缩后的预训练模型,或退而求其次选择BiLSTM结构,配合离线批处理来牺牲部分延迟换取效果。
分词方案选型,始终要围绕自己的语料特征、响应要求和团队维运能力来做判断。建议先跑通词典法作为基线,用数据驱动定位缺口,再逐步向统计或深度方案演进,每一步都留好可回退的空间。