自然语言处理中的分词——从语言切分到模型输入的第一步

目录

一、前言

二、什么是分词

(一)基本定义

(二)一句话理解

(三)示例

三、分词的核心作用

(一)模型输入标准化

(二)降低复杂度

(三)统一建模单位

四、分词的三种粒度

(一)字符级分词(Character-level)

定义

示例

优点

缺点

五、词级分词(Word-level)

(一)定义

(二)示例

(三)优点

(四)缺点

[六、子词级分词(Subword Tokenization)](#六、子词级分词(Subword Tokenization))

(一)定义

(二)典型方法

(三)示例

(四)优点

七、BPE分词原理

(一)核心思想

(二)流程

(三)效果

八、WordPiece分词

(一)特点

(二)应用

(三)优势

九、SentencePiece分词

(一)特点

(二)适用语言

(三)优势

十、分词在NLP中的位置

十一、分词与词向量关系

[(一)Token → Vector](#(一)Token → Vector)

(二)公式表达

十二、分词中的关键问题

(一)OOV问题

(二)歧义问题

(三)粒度选择问题

十三、现代大模型的分词方式

[(一)Byte-level BPE](#(一)Byte-level BPE)

(二)特点

十四、分词对模型性能影响

(一)影响表达能力

(二)影响计算效率

(三)影响泛化能力

十五、分词技术发展趋势

(一)从词到子词

(二)从语言依赖到语言无关

(三)从静态到动态

十六、总结


一、前言

在Natural Language Processing中,几乎所有任务的第一步都是"分词(Tokenization)"。

无论是文本分类、机器翻译,还是大语言模型输入,都绕不开一个核心问题:

复制代码
如何把连续的文本切成模型可以理解的最小单元?

分词就是解决这个问题的关键技术。


二、什么是分词

(一)基本定义

分词是指:

复制代码
将连续文本拆分为有意义的最小语言单元(Token)

(二)一句话理解

复制代码
把一句话"切成模型能读懂的片段"

(三)示例

复制代码
我爱自然语言处理
→ 我 / 爱 / 自然语言处理

三、分词的核心作用

(一)模型输入标准化

复制代码
文本 → Token序列

(二)降低复杂度

复制代码
字符级 → 词级 → 子词级

(三)统一建模单位

所有模型(包括Transformer)都依赖token输入。


四、分词的三种粒度


(一)字符级分词(Character-level)

定义

复制代码
以单个字符作为最小单位

示例

复制代码
我 / 爱 / 自 / 然 / 语 / 言 / 处 / 理

优点

  • 无OOV问题

  • 简单


缺点

  • 序列过长

  • 语义弱


五、词级分词(Word-level)

(一)定义

复制代码
以"词"为单位切分文本

(二)示例

复制代码
我 / 爱 / 自然语言处理

(三)优点

  • 语义清晰

  • 直观


(四)缺点

  • OOV问题严重

  • 中文难以定义"词边界"


六、子词级分词(Subword Tokenization)

这是现代NLP最主流方式。


(一)定义

复制代码
介于字符和词之间的最优折中单位

(二)典型方法

  • BPE(Byte Pair Encoding)

  • WordPiece

  • SentencePiece


(三)示例

复制代码
自然语言处理 → 自然 / 语言 / 处理

(四)优点

  • 解决OOV问题

  • 表达能力强

  • 适合大模型


七、BPE分词原理

(一)核心思想

复制代码
不断合并高频字符对

(二)流程

复制代码
1. 初始化为字符级
2. 统计频率
3. 合并最高频组合
4. 반복

(三)效果

复制代码
从字符 → 子词 → 词片段

八、WordPiece分词

(一)特点

复制代码
基于概率最大化的子词切分方法

(二)应用

  • BERT模型

(三)优势

  • 更稳定

  • 更语义化


九、SentencePiece分词

(一)特点

复制代码
不依赖空格的通用分词器

(二)适用语言

  • 中文

  • 日文

  • 多语言


(三)优势

  • 统一处理语言

  • 工业级应用广泛


十、分词在NLP中的位置

复制代码
原始文本
   ↓
Tokenization(分词)
   ↓
Embedding
   ↓
Transformer模型

十一、分词与词向量关系

(一)Token → Vector

复制代码
每个token映射为向量

(二)公式表达

x_i = Embedding(token_i)


十二、分词中的关键问题


(一)OOV问题

复制代码
未登录词无法表示

(二)歧义问题

复制代码
自然语言处理 vs 自然 / 语言处理

(三)粒度选择问题

  • 太细 → 信息弱

  • 太粗 → 泛化差


十三、现代大模型的分词方式

在GPT等模型中:


(一)Byte-level BPE

复制代码
直接基于字节进行编码

(二)特点

  • 无需词表依赖语言

  • 强泛化能力


十四、分词对模型性能影响


(一)影响表达能力

复制代码
token设计决定语义表达上限

(二)影响计算效率

  • token越多 → 计算越慢

(三)影响泛化能力

好的tokenization = 更强泛化


十五、分词技术发展趋势


(一)从词到子词

  • Word → Subword

(二)从语言依赖到语言无关

  • SentencePiece / Byte-level

(三)从静态到动态

  • 可学习tokenization

十六、总结

分词是自然语言处理的第一步,也是最基础但最关键的一步,它决定了模型如何"看到"语言。

本文系统讲解了:

1、分词基本概念

2、字符级 / 词级 / 子词级

3、BPE算法原理

4、WordPiece方法

5、SentencePiece机制

6、分词在模型中的位置

7、OOV问题

8、现代大模型分词方式

9、发展趋势

可以将分词理解为:

"把连续语言切分成机器可以理解的最小语义单元,是连接人类语言与机器模型的第一道桥梁。"

掌握分词,就掌握了NLP的入口。

相关推荐
这个DBA有点耶1 小时前
Vibe Coding 是什么?当“感觉编程”遇上数据库
数据库·人工智能·架构·学习方法·ai编程·程序员创富·改行学it
QiLinkOS1 小时前
QiLink开源生态的三维重构:基于时间、空间与社会价值的底层规则创新白皮书
大数据·c++·人工智能·科技·算法·gitee·开源
测试开发技术1 小时前
AI 测试赋能全流程实战 | Agent Skill + AI 赋能「需求分析」
自动化测试·人工智能·自动化·需求分析·ai编程·ai测试
MartinYeung51 小时前
[论文学习]CAMIA:基于上下文感知的成员资格推断攻击:针对预训练大型语言模型的深度分析
人工智能·学习·语言模型
qq_436962181 小时前
从“技术稀缺”到“人人可用”:奥威BI+AI如何复刻工业革命级变革
大数据·人工智能
算家云1 小时前
极速并行文本生成:谷歌开源 DiffusionGemma 扩散大模型
ai·google·大模型·算力
运维小欣1 小时前
2026年AI 可观测平台选型指南
大数据·人工智能
Ztopcloud极拓云视角1 小时前
我用AI辅助做了一个多端工具:解决2026世界杯回放被剧透的问题
人工智能·windows·个人开发
hnxaoli1 小时前
统信程序(十二)档案归档文件管理
python