定义与目标

分词(Word Segmentation)是指将连续的文本字符串切分为具有独立语义的词语序列的过程。其核心目标在于解决词边界模糊问题,使计算机能够理解语言的基本组成单位。在中文、日语、韩语等不使用空格分隔词元的语言中,分词是自然语言处理(NLP)的基础步骤。分词系统需要在保证切分准确性的同时,兼顾歧义消解、新词识别以及领域适应性,以输出符合语言学规范且对下游任务友好的词序列。

分词与语言学的关系

分词处于形态学与句法学的交叉领域。从形态学角度看,分词需识别词素(如“老师”中的“老”和“师”)的粘连规则;从句法学角度看,正确的切分结果应服务于短语结构分析。例如,“乒乓球拍卖完了”的歧义切分(“乒乓球拍/卖完了” vs “乒乓球/拍卖/完了”)直接影响句法树的构建。因此,分词不仅是工程任务,也需要语言学理论的指导,包括词类划分、构词法和语境依赖规则。

历史沿革

中文分词研究可追溯至20世纪70年代末。早期基于词典的规则方法依赖人工定义的最大匹配、逆向匹配等算法。1980年代,统计方法引入,如基于词频的N-gram模型。1990年代,隐马尔可夫模型(HMM)和条件随机场(CRF)成为主流,开始利用大规模标注语料进行序列标注。21世纪后,深度学习方法(如双向LSTM-CRF)和预训练语言模型BERT等)显著提升了分词精度,同时推动了跨语言分词和联合建模的发展。

基于规则的方法

基于规则的方法依赖预定义词典和手工编写的切分规则。其优点是无需标注数据,但难以覆盖所有语言现象。

最大匹配法

最大匹配法包括正向最大匹配(FMM)和逆向最大匹配(BMM)。算法以词典中最大长度的词为基准,从文本一端开始匹配,若成功则切出该词并继续处理剩余部分。例如句子“研究生命科学”,正向匹配可能切为“研究生/命/科学”,而逆向匹配则切为“研究/生命/科学”。实际常通过双向匹配结合歧义消解规则提升准确率

最短路径法

最短路径法将文本视为一个由字节点构成的图,每条边代表一个候选词,边权为词频或代价。使用Dijkstra或动态规划寻找从起点到终点权值和最小的路径,即切分结果。该方法能有效处理词长不一致问题,但对未登录词敏感,需配合词典和统计信息。

基于统计的方法

统计方法利用大规模语料库中的词语共现频率、边界概率等特征,通过序列标注模型将分词转化为字符标签(如B、M、E、S)预测问题。

隐马尔可夫模型(HMM)

HMM假设当前字符的标签仅依赖于前一个标签,且观测到的字符概率由当前标签决定。通过维特比算法解码最优标签序列。模型训练简单,但缺乏对长距离依赖的建模能力,且假设输出独立,可能导致切分错误。

条件随机场(CRF)

CRF是一种判别式无向图模型,能够利用全局特征函数上下文进行建模。相比HMM,CRF可以处理任意复杂的依赖关系,且避免了标签偏差问题。在分词任务中,CRF常与字符n-gram、词典特征结合,成为统计方法的标杆之一。

最大熵模型

最大熵模型在给定上下文条件下,选择熵最大的概率分布作为标签预测依据。它能够自然融合多种特征(如前缀、后缀、相邻字符),但需要手工设计特征模板,模型训练复杂度较高,已被深度方法逐步替代。

基于深度学习的方法

深度学习方法利用神经网络自动学习字符和上下文的表示,无需人工特征工程,在语义理解和泛化能力上显著优于传统统计模型。

双向LSTM-CRF

双向LSTM(BiLSTM)从前向和后向两个方向捕获字符序列的上下文信息,输出每个时刻的隐状态。将这些隐状态输入CRF层,可全局优化标签序列。该模型对歧义和未登录词具有较好的鲁棒性,是2015-2019年间的主流分词架构。

预训练语言模型(BERT、GPT等)

以BERT为代表的预训练模型通过大规模无监督语料学习深层双向表示,在分词任务上通过微调即可达到极高精度。BERT将输入文本转换为字级别的嵌入,输出每个字的标签概率。其优势在于利用了海量知识,能够处理复杂歧义和罕见词,但计算资源需求较大。近年来,GPT等自回归模型通过提示学习也可实现零样本分词。

歧义切分

交集型歧义

交集型歧义指在字符串“ABC”中,“AB”和“BC”均为合法词。例如“结合成”可切为“结合/成”或“结/合成”。这类歧义需要依赖上下文或统计信息才能正确消解。

组合型歧义

组合型歧义指同一字符串在部分语境下可切分,另一些语境下不可切分。例如“花朵”在“一朵花”中应为“花/朵”,在“花朵盛开”中应为“花朵”。组合型歧义对词典和统计相结合的方法提出了挑战。

未登录词识别

人名、地名、机构名

未登录词(Out-of-Vocabulary, OOV)主要指词典中未收录的专有名词。中人名有结构多样性(如单姓双名、复姓等),地名和机构名常包含前后缀(如“省”、“局”)。识别这些词需利用字组模式、上下文线索和外部知识库(如维基百科)。

新词与网络用语

网络语言中存在大量新造词(如“躺平”、“内卷”)、谐音词(“针不戳”)、拼音缩写(“yyds”)等。这类词汇更新速度快,传统词典或统计模型难以覆盖,需要借助动态更新或基于上下文的自适应分词策略。

标准与评测

不同语料库的标注差异

常见的中文分词语料库包括PKU(北京大学)、MSRA(微软亚洲研究院)、CTB(中文树库)等。它们对同一文本的切分标准存在差异:例如“从某种意义上说”在PKU中被当作短语,而在MSRA中可能被切为“从/某种/意义/上/说”。这种差异导致模型跨库泛化困难,评测结果需要注明所用标准。

评价指标(准确率、召回率、F1值)

分词系统的性能常用词级别的准确率(Precision)、召回率(Recall)和F1值衡量。准确率=正确切分的词数/系统输出词数,召回率=正确切分的词数/参考标准词数,F1为两者的调和均值。此外,OOV召回率是评估未登录词识别能力的重要指标。

信息检索

搜索引擎依赖分词将查询和文档转为词项,进而建立倒排索引。精确的分词能提升检索召回率和排序质量。例如,搜索“苹果手机”时正确的分词(“苹果/手机”)比误切(“苹果手/机”)能返回更相关结果。

机器翻译

分词为机器翻译提供基本的翻译单元。在统计翻译中,词对齐依赖切分结果;在神经翻译中,子词分词(如BPE)虽然常用,但传统分词仍作为辅助特征帮助处理未登录词。中文-英文翻译中,正确切分“过河拆桥”为“过河/拆桥”而非“过/河拆桥”直接影响翻译质量。

语音识别与合成

语音识别系统将声学模型输出映射为文本,分词结果用于语言模型概率计算。合成系统则需要分词信息进行韵律预测,如将“上午”切分为“上/午”或“上午”会影响停顿和音调。

情感分析

在情感分析中,分词能将情感极性词与否定词、程度副词准确分离。例如“不太好吃”切为“不太/好吃”后,“不+好吃”表示负面情感,而“不太/好吃”则带有委婉否定,情感强度不同。

中文分词与英文分词对比

英文以空格为天然分隔符,分词只需处理缩写(“don't” 切为 “do not”)、复合词(“ice cream” 可视为一个词或两个词)等少数情况。中文则面临字与词界限模糊、一字多义等复杂性。有趣的是,英文中也有“narrow segmentation”问题,如“New York”的切分导致地理解析困难,但远少于中文的歧义。

网红梗与错误分词集锦

网络曾流行“著名瞬间:人民日报,请分我”等恶搞,源于分词工具将“人民日报”误切为“人民/日报”。又如“西安大学”被切为“西/安/大学”引发误解。更经典的是“眼看着这杯奶茶就要被喝完了,我决定‘不要/吵架’”,实际上是“不要/吵架” vs “不要吵/架”。这些错误常被网友制作成表情包,反映分词算法在幽默语篇中的窘境。

分词在方言文本中的尝试

方言文本(如粤语、闽南语)缺乏标准词典和语料库,分词面临更大挑战。研究尝试使用普通话分词器辅助,但常常失败,例如粤语“食咗饭未”(吃了饭没)会被误切为“食/咗饭/未”。少数工具(如基于粤拼的规则)虽能取得部分效果,但方言分词仍是开放问题。

开源分词器(HanLP、jieba、LTP等)

  • jieba:Python常用中文分词库,支持精确模式、全模式、搜索引擎模式,内置词典和HMM新词识别。
  • HanLP:功能全面的Java/Python NLP工具包,提供多种分词模型(包括基于感知机和BERT的),支持多语言。
  • LTP(语言技术平台):哈工大开发,提供基于CRF和神经网络的分词、词性标注等一体化服务。
  • THULAC:清华大学推出,结合规则和统计,速度快且准确率高。

标注语料库(PKU、MSRA、CTB等)

  • PKU(人民日报语料库):约100万字,采用《现代汉语语法信息词典》标准。
  • MSRA:微软研究院标注,约50万字,侧重于新闻文本。
  • CTB(中文树库):包含句法树标注,分词标准更为细致,常用于深度学习评测。
  • SIGHAN Bakeoff:国际中文分词评测数据集,汇集PKU、MSRA、CityU等标准。

跨语言分词库(ICU、Spacy等)

  • ICU(International Components for Unicode):提供基于词典的多种语言分词,适合多语言文本处理。
  • Spacy:工业级NLP库,内置分词组件支持中文、日文等,基于统计规则和卷积神经网络。
  • Zpar:跨语言分词工具,支持中文、英文、阿拉伯语等,基于平均感知机。