中文文本中的词语之间没有天然的空格分隔,分词就是把连续的汉字序列切割成有实际意义的词语单元。分词结果的优劣直接影响下游任务的表现,例如搜索引擎的相关性排序、新闻资讯的情感分析以及智能客服的意图识别。在具体项目中,分词方案的选择往往不是越新越好,而是取决于数据规模、延迟要求和硬件资源,理解不同思路的适用场景比盲目追求算法复杂度更有价值。
词典分词是历史最久、落地最直接的一类做法,不涉及复杂的概率计算,核心工作就是把输入文本中的连续汉字,尽可能与预先整理好的词条库进行匹配切割。按照扫描方向不同,可以分成正向、逆向和双向三种操作方式,匹配时通常遵循“最长优先”的原则。
正向最长匹配从句子左侧出发,每次尝试用最长的词条进行匹配,如果匹配失败就缩短词条长度重新尝试。例如“计算语言学理论”这段文本,正向最长匹配会优先尝试匹配“计算语言学”,成功后再继续处理“理论”。逆向最长匹配则从文本右侧开始扫描,对于某些以双字词结尾的句子,其切分歧义的处理效果往往好于正向方法。双向最长匹配则是把两种方向的结果同时列出,通过比较切分后的总词数、单字词残留数量等指标,选择更合理的一组作为最终输出。
需要注意的是,词典法有一个天然的软肋——无法切分词库之外的未登录词。如果业务涉及人名、地名、品牌名或网络流行语,必须建立词库的定期增补机制,否则这些词会被强行碎切成单个字,导致分词结果难以理解。
这种方案的优点是部署简单、响应快,对机器配置要求低;缺点是分词效果完全依赖词库的规模和新鲜度,对于歧义消解和语义理解几乎没有帮助。
统计方法不再依赖词典的完备性,而是从已标注的语料中学习汉字排列的规律,将分词问题转换成给每个汉字打标签的过程。
隐马尔可夫模型(HMM)是一种相对简洁的统计模型,它将分词视为序列标注任务,每个汉字对应一个位置标签,常见标签包括词首、词中、词尾和单字词,然后利用维特比算法寻找出现概率最大的标签序列。HMM的优势在于结构简单、训练速度快,但它假设每个汉字的标签只依赖当前状态,无法充分利用更长的上下文信息。
条件随机场(CRF)则解决了HMM的限制,它是一种判别式模型,允许在计算当前标签时引入前前后后多个汉字作为特征,使得分词决策能够综合更多上下文信息,因此在处理复杂词边界时往往比HMM更准。CRF的不足之处在于特征工程需要人工设计,而且训练时间较长,预测速度也明显慢于词典法。
统计方法的一个显著优点是具备一定的未登录词识别能力。如果语料中出现“异构计算”“大模型”这类词,即使词典里没有,只要在训练集中频繁共现,模型也能把它们作为一个整体切分出来。不过其训练成本也不容忽视,需要准备一份与业务领域匹配的标注语料,如果语料来源不匹配,效果甚至会不如一份维护良好的词典。
深度学习技术的成熟极大改变了中文分词的研究范式。基于双向长短时记忆网络搭配条件随机场的组合模型曾经是工业界的主流,近年来则更多转向基于Transformer架构的预训练语言模型。
双向LSTM通过前向和后向两个隐层同时捕捉上下文,在处理长距离依赖时比传统统计模型有明显优势。预训练模型则走得更远,例如BERT类模型在大量无监督文本上完成预训练,已具备较强的通用语义理解能力,应用到分词时只需要在模型顶部加一个输出层进行微调,就能取得非常好的评测结果,在某些公开基准上的表现已经明显超过传统方法。
以“乒乓球拍卖完了”为例,这句话存在两种合理的切分方式,一种读作“乒乓球/拍卖/完了”,另一种读作“乒乓球拍/卖/完了”。传统基于词典的匹配无法判断哪一种是真实语境,而预训练模型能够结合整句话的语义倾向做推理,从而给出更符合语境的切分。
深度模型的短板也很突出:模型参数量大,需要GPU资源进行训练和推理,在线服务的响应延迟往往比词典法和统计法高出一个数量级。如果产品对毫秒级延迟有硬性要求,需要在部署环节采用模型裁剪、知识蒸馏或低精度量化等压缩优化措施,经测试后再上线。
实际项目里选用哪种方案,可以从准确率、开发复杂度、运行速度和未知词处理能力四个维度去权衡。
选型时建议先明确业务边界。若做的是垂直搜索或特定领域的关键词提取,优先考虑维护精细的领域词典;若处理的是通用对话内容且有一定量标注资源,可以尝试CRF;而对语义理解要求高、对延迟不敏感的离线分析任务,直接采用预训练模型效果更佳。
主要包含两类问题:一是切分歧义,即同一段文本存在多种合理切分方式,需要依赖上下文或语义才能确定正确结果;二是未登录词识别,即词库和训练语料中没有出现过的词语,如新出现的品牌名、人名或专业术语,这类词需要模型具备泛化能力才能正确切分。
不存在一种放之四海而皆准的分词标准。不同的评测数据集和业务领域可能遵循不同的词边界规则,例如数字、时间、地名是否作为整体切分,在不同场景下需求不完全一致。因此在某个数据集上表现好的模型,直接迁移到另一个场景未必适用,需要结合具体任务评估。
开源社区提供了多款成熟的中文分词工具,如Jieba、HanLP、LTP、THULAC等,覆盖从词典法到深度模型的不同实现层次。接入前建议先用自己业务中的抽样文本进行对比测试,以小规模评测结果为依据挑选工具,而不是只看默认基准分数。
中文分词方案的选择,本质上是在精度、速度与成本之间寻求平衡。对于多数中小型项目,维护一份高质量的领域词库,配合开源工具的基本模式,往往已经足够支撑业务运转;当任务涉及复杂语义或大量无规则文本时,再考虑引入统计模型或预训练模型,并通过合理的部署优化控制成本。建议在实际开发中准备一份样本测试集,定期评估各个环节的分词效果,持续迭代。