分词,就是将连续的文本序列(如句子),按照一定的规范和算法,切分成一个一个独立且有意义的词语或词元的过程。

- 英文例句(已天然分词):
I love natural language processing.- 分词结果:
["I", "love", "natural", "language", "processing", "."]
- 分词结果:
- 中文例句(未分词):
我爱自然语言处理。
为什么需要分词?(分词的重要性)
- 语言特性决定:对于汉语、日语等,词是承载语义的基本单位,是后续所有高级NLP任务(如句法分析、语义理解、机器翻译)的基础。
- 信息检索的基础:搜索引擎需要将查询词和文档都切分成词,才能进行匹配和索引。
- 语言模型的基础:统计语言模型(如N-Gram)的统计单位通常是词。
- 机器翻译的桥梁:源语言和目标语言的翻译映射通常发生在词或短语层面。
分词的主要方法(技术原理)
分词技术的发展经历了从基于规则到基于统计再到基于深度学习的演变。
基于规则的词典匹配法
这是最经典、最直观的方法,其核心是:拥有一个尽可能大的、包含已知词语的“词典”,然后用文本去匹配词典中的词。
- 原理:将待分词文本与词典中的词条进行匹配,找到所有可能的切分组合,然后根据某种规则选择“最优”切分。
- 常用策略:
- 正向最大匹配(FMM):从左到右,每次尝试匹配词典中最长的词。
- 示例:
“计算机科学专业”,词典有[“计算”, “计算机”, “科学”, “专业”]。 - FMM过程:从“计”开始,找到最长匹配词
“计算机”,切出;接着是“科学”;最后是“专业”,结果为[“计算机”, “科学”, “专业”]。
- 示例:
- 逆向最大匹配(RMM):从右到左匹配,通常比FMM更准确,因为汉语的中心词常靠后。
- 双向最大匹配:同时进行FMM和RMM,如果结果不一致,则根据某种规则(如词数更少、颗粒度更大)选择其一。
- 正向最大匹配(FMM):从左到右,每次尝试匹配词典中最长的词。
- 优点:速度快、简单、对于规范文本效果尚可。
- 缺点:严重依赖词典质量,无法处理未登录词(新词、人名、地名、机构名等),歧义切分能力有限。
基于统计的方法
这类方法不依赖或较少依赖词典,而是利用大规模语料库中的统计信息来判断字与字之间的“亲密程度”,从而决定是否应该组合成一个词。
- 核心思想:如果两个字(或字符)在文本中经常共同出现,那么它们构成一个词的可能性就很大。
- 关键统计量:
- 代表性方法:
- 优点:能够发现新词,不依赖完备词典。
- 缺点:需要大量训练语料,计算量较大,对低频词效果不佳。
基于深度学习的方法(当前主流)
将分词视为序列标注任务或序列到序列任务,利用神经网络自动学习从字符序列到词边界(或词标签)的复杂映射。
- 原理:
- 字符嵌入:将每个汉字或字符转换为一个稠密的向量表示。
- 上下文编码:使用能够捕捉长距离依赖的神经网络(如BiLSTM、Transformer)对字符序列的上下文信息进行编码。
- 标签预测:为每个字符预测一个标签(最常用的是
BME S标签集)。
- 代表性模型:
- 优点:
- 缺点:需要大量标注数据,模型复杂、计算资源消耗大。
分词中的主要挑战
- 歧义切分:同一个字符串可能有多种切分方式。
- 组合型歧义:
“他/从/马/上/下来”vs“他/从/马上/下来”。 - 交集型歧义:
“美国/会/通过”vs“美/国会/通过”。
- 组合型歧义:
- 未登录词识别:词典中没有的词,如新词、人名、地名、机构名、专业术语等。
- 分词规范与颗粒度:同一个词在不同应用场景下,颗粒度可能不同。
“自然语言处理”可以切为[“自然语言处理”](一个整体术语),也可以切为[“自然”, “语言”, “处理”](更细的颗粒度)。- 这通常通过使用不同颗粒度的词典或模型来适配。
分词技术的基础原理是一个从机械匹配到概率统计,再到深度理解的演进过程,现代分词系统通常是 “规则 + 统计 + 深度学习”的混合体:
- 用深度学习模型作为主干,解决大部分常规和歧义切分。
- 用统计方法辅助新词发现。
- 用词典和规则作为后处理或特定领域优化,确保专有名词、领域术语的准确识别。
对于中文分词,目前工业界和学术界普遍采用基于 BERT等预训练模型+序列标注 的框架,并在大规模高质量的人工标注数据上进行训练,以达到最佳效果。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。