Comparthing Logo
分词自然语言处理自然语言处理机器学习人工智能

数据驱动型分词与基于规则的分词

数据驱动型分词利用统计或神经网络方法从大型文本语料库中学习分割规则,而基于规则的分词则依赖于人工构建的语言模式和词典。两种方法都能将文本分割成有意义的单元,但在灵活性、准确性和计算需求方面却存在显著差异。

亮点

  • 数据驱动型分词器从文本中学习,而基于规则的分词器则遵循手工设计的模式。
  • 像 BPE 和 WordPiece 这样的子词方法处理未知单词比字典查找要优雅得多。
  • 基于规则的系统具有完全可解释性和零培训成本,非常适合可预测的领域。
  • 现代大型语言模型几乎完全依赖数据驱动的分词作为其输入管道。

数据驱动的标记化是什么?

一种通过分析大型文本数据集中的模式来自动发现词元边界的机器学习方法。

  • 算法从训练语料库中学习分割规则,而不是依赖手动编写的模式。
  • 子词方法,如字节对编码 (BPE)、WordPiece 和 Unigram 语言模型,都属于这一类。
  • 包括 GPT 和 BERT 在内的现代大型语言模型使用基于数百 GB 文本训练的数据驱动型分词器。
  • 这些分词器能够优雅地处理词汇表之外的词语,将罕见词语拆分成熟悉的子词部分。
  • 随着训练数据规模和多样性的增加,性能也会提高。

基于规则的标记化是什么?

一种使用预定义的语言规则、正则表达式和精心整理的单词列表来分割文本的传统方法。

  • 词元边界由手工设计的模式决定,例如空格、标点符号和词法规则。
  • NLTK 的 word_tokenize 和 spaCy 的基于规则的管道等库都是广泛使用的例子。
  • 这些系统通常依靠词典和词缀列表来处理特定语言中的词形变化。
  • 由于每条规则都明确写明,因此行为完全可预测且易于检查。
  • 它们不需要任何训练数据,一旦规则定义完毕即可立即部署。

比较表

功能 数据驱动的标记化 基于规则的标记化
方法 利用统计或神经网络方法从大型文本语料库中学习 使用手工编写的规则、正则表达式模式和字典
需要培训 是的,需要大量的带注释或原始文本数据。 不,规则是由开发人员手动编写的。
处理未知词语 将生僻词拆分成已知的子词单元 经常失败或需要手动更新词典
可解释性 较低,因为学习到的模式嵌入在模型权重中。 高度透明,每条规则都可查阅和审核。
对新语言的适应能力 易于在新语料库上进行重新训练 需要从头开始构建新的规则集。
计算成本 训练期间速度更快,推理速度也更快。 总体配置低,对硬件要求不高
常用算法 BPE、WordPiece、Unigram LM、SentencePiece 正则表达式分割、词缀去除、字典查找
使用者 GPT、BERT、RoBERTa、T5 和大多数现代 LLM NLTK、spaCy规则管道、传统NLP系统

详细对比

他们如何分割文本

数据驱动型分词器分析数百万个句子中的频率模式,以确定词元之间的界限。例如,BPE 从单个字符开始,反复合并出现频率最高的相邻字符对,直到达到目标词汇量。相比之下,基于规则的分词器则根据预定义的词法表,应用一系列固定的操作,例如按空格分割词元、移除标点符号或去除“-ing”和“-ed”等后缀。

处理罕见和未知词汇

数据驱动方法的最大优势之一在于能够优雅地处理模型从未见过的词汇。例如,像“pneumonoultramicroscopicsilicovolcanoconiosis”(尘肺病)这样罕见的医学术语会被拆分成模型已经理解的子词。而基于规则的系统通常会遇到这类词汇,要么将其保留为一个过大的词元,要么直接丢弃,除非有人手动将其添加到词典中。

透明度和调试

基于规则的分词器在透明度方面更胜一筹。开发者可以打开规则文件,详细了解文本的分割方式,并将任何意外输出追溯到特定的模式。而数据驱动的分词器则更像黑盒,相同的输入总是产生相同的输出,但要解释为什么选择特定的分割方式,则需要检查训练统计数据或模型内部结构。

资源需求

训练数据驱动型分词器需要大量的计算和存储资源,通常需要处理数十GB的文本才能构建高质量的词汇表。训练完成后,推理速度很快,分词器文件也很小。基于规则的分词器几乎不需要任何资源即可构建或运行,因此对于低延迟系统、嵌入式设备或缺乏训练基础设施的项目来说极具吸引力。

语言覆盖范围

数据驱动的方法只需在新语料库上重新训练,就能自然地扩展到新的语言,这就是为什么像 XLM-Roberta 这样的多语言模型可以用一个分词器覆盖数十种语言。而基于规则的系统则需要针对每种新语言进行语言学方面的专业知识,因为词缀规则、字符类和词表都必须由精通词法的专家手工编写。

实践中的准确性

对于现代自然语言处理任务,在涉及噪声文本、社交媒体或代码的基准测试中,数据驱动的分词器始终优于基于规则的分词器。而基于规则的分词器在结构良好的领域(例如法律文件或正式写作)仍然占有一席之地,因为在这些领域,可预测的分割和易于理解的规则比处理边界情况更为重要。

优点与缺点

数据驱动的标记化

优点

  • + 处理未知词
  • + 扩展到新语言
  • + 高精度
  • + 从数据中学习

继续

  • 需要训练数据
  • 较难解读
  • 更高的初始成本
  • 调试起来很复杂

基于规则的标记化

优点

  • + 完全透明
  • + 无需培训
  • + 计算成本低
  • + 易于定制

继续

  • 难以掌握生僻词
  • 手工语言工作
  • 适应能力有限
  • 难以扩展

常见误解

神话

基于规则的标记化方法已经过时,不再用于现代人工智能。

现实

基于规则的分词器在生产环境的自然语言处理流程中仍然很常见,尤其是在句子分割、规范化和语言检测等预处理步骤中。许多现代系统将基于规则的方法和数据驱动的方法结合起来,而不是用其中一种方法取代另一种。

神话

数据驱动的分词方法总是比基于规则的方法产生更好的结果。

现实

质量很大程度上取决于训练语料库和任务。训练不足的数据驱动型分词器性能可能不如精心调优的基于规则的分词器,尤其是在特定领域文本上,因为训练数据与目标分布不匹配。

神话

分词就是按空格分割文本。

现实

实际应用中的分词器能够处理标点符号、缩写、多词短语、表情符号和子词组。简单的空格分割无法处理分词器旨在解决的大部分复杂问题。

神话

数据驱动型分词器一旦训练完成,就无需更新。

现实

随着语言的演变、新俚语的出现以及特定领域术语的涌现,词汇量也会随之发生变化。许多团队会定期重新训练或扩展其分词器,以适应不断变化的文本分布。

神话

所有现代语言模型都使用相同的分词器。

现实

不同的模型系列使用不同的分词方案。GPT 模型使用 BPE,BERT 使用 WordPiece,而 T5 使用 SentencePiece。这些选择会以可衡量的方式影响词汇量、词元数量和后续性能。

常见问题解答

数据驱动型分词和规则驱动型分词的主要区别是什么?
数据驱动型分词利用 BPE 或 WordPiece 等算法,从大型文本语料库中自动学习分割规则。而基于规则的分词则应用开发者编写的手工模式、正则表达式和词典。前者通过训练不断适应,而后者则依赖于显式的语言学知识。
大型语言模型使用哪种分词方法?
大多数大型语言模型,包括 GPT、BERT、RoBERTa 和 T5,都采用数据驱动的子词分词方法。GPT 模型依赖于字节对编码 (BPE),BERT 使用 WordPiece,而 T5 使用 SentencePiece。这些方法使模型能够高效地处理罕见词和多种语言。
基于规则的分词比数据驱动的分词更快吗?
在推理阶段,两者速度都很快,但基于规则的分词器通常占用内存更少,且无需模型加载。速度差异主要体现在设置阶段,因为基于规则的系统完全跳过了训练阶段,可以立即部署。
数据驱动的分词方法能否处理它未接受过训练的语言?
效果不佳,除非分词器经过多语言数据训练。仅用英语训练的分词器难以处理中文、阿拉伯语或韩语等语言。像 XLM-Roberta 中使用的那种多语言分词器,经过专门针对数十种语言的训练,可以有效应对这种情况。
什么是字节对编码(BPE)?
BPE 是一种数据驱动的子词分词算法,它从单个字符开始,反复合并训练语料库中最常用的相邻字符对。经过数千次合并后,它生成一个包含常用子词单元的词汇表,该词汇表在词汇量和稀有词覆盖率之间取得了平衡。
基于规则的分词器在现代自然语言处理任务中仍然有效吗?
是的,尤其是在句子分割、标点符号规范化和语言识别等预处理步骤中。然而,对于核心模型输入,大多数现代自然语言处理系统更倾向于使用数据驱动的分词器,因为它们对陌生词汇的泛化能力更强。
数据驱动型分词器需要多少训练数据?
这取决于目标词汇量和语言覆盖范围,但典型的LLM分词器通常使用几GB到几百GB的文本进行训练。更大、更多样化的语料库通常能生成处理罕见词和特殊情况更流畅的分词器。
我能否将基于规则的分词和数据驱动的分词结合起来?
当然,很多生产系统都是这么做的。常见的做法是先应用基于规则的规范化(小写、移除特殊字符、展开缩写),然后将清理后的文本输入到数据驱动的子词分词器中进行最终拆分。
为什么分词对模型性能很重要?
分词决定了文本如何以数字形式表示,这直接影响模型学习模式的能力。分词器如果生成过多的小片段会浪费上下文长度,而如果将罕见词保留为单个词元,则可能导致模型无法泛化。好的分词器应在词汇量和覆盖范围之间取得平衡。
基于规则的分词器常见问题有哪些?
它们经常无法正确处理缩写,例如“don't”,也无法正确处理连字符单词,难以识别表情符号和网址,并且随着新词汇的加入需要不断更新。此外,除非每种语言都拥有自己精心维护的规则集,否则它们在不同语言之间往往会产生不一致的结果。

裁决

构建需要处理多样化词汇、多种语言或包含噪声的真实世界文本的现代自然语言处理 (NLP) 或语言语言记忆 (LLM) 系统时,请选择数据驱动的分词方法。如果您需要完全透明、计算量最小,或者您的工作领域较为狭窄,且手工编写的规则已经能够很好地捕捉语言特征,则请选择基于规则的分词方法。

相关比较

AI 错误检测与人工审核对比

人工智能质量检测利用机器学习模型大规模标记低质量或人工智能生成的内容,而人工审核则依靠训练有素的编辑通过判断和上下文来评估内容质量。每种方法各有优势,许多组织现在都将两者结合起来以获得最佳效果。

AI管道中的迭代检索与一次性检索系统

人工智能流程中的迭代检索通过多次搜索和推理循环来优化结果,而一次性检索系统则只需一次遍历即可获取信息。迭代方法擅长处理复杂的多跳查询,而一次性方法则优先考虑速度和简洁性,适用于简单的查询。

AI伙伴 vs 人类友谊

人工智能伴侣是旨在模拟对话、情感支持和临场感的数字系统,而人类友谊则建立在共同的生活经验、信任和情感互惠之上。本文将对比探讨这两种连接方式如何在日益数字化的世界中塑造沟通、情感支持、孤独感和社会行为。

AI计算排放与传统云排放对比

人工智能计算产生的排放主要来自训练大型模型的高能耗GPU集群,而传统云的排放则来自运行日常工作负载的通用数据中心。人工智能工作负载的单次任务耗电量远高于传统云,但传统云的运行规模要大得多。

AI检测与基于规则的检测

现代数字环境需要强大的防御机制,但其底层方法却截然不同,威胁、欺诈或异常情况的检测方式也大相径庭。基于规则的系统依赖于严格的预配置条件来标记已知威胁,而人工智能模型则通过分析行为来发现不常见的异常情况。在两者之间做出选择意味着需要在绝对确定性和适应性灵活性之间取得平衡。