为什么先分清 Tokenization 和 Embedding?
在构建 自然语言处理(NLP)应用或 大模型(LLM)时,90 % 的入门卡点都在“如何把文字喂给模型”这一环节。很多人会混淆 “把句子变成词” 和 “把词变成向量”——前者叫 Tokenization,后者叫 Embedding。弄懂两者区别,才能让你在打造 聊天机器人、生成式 AI 助理、语言翻译器 或 推荐系统 时少走弯路。
Tokenization 详解:把文字切成模型爱吃的“小块”
Tokenization 的核心任务是把任意文字拆分成最小可处理的 token,从而使模型能够理解、计算、并最终输出正确的答案。
步骤拆解
- 标准化(Normalization)
将文本统一为小写,剔除多余标点,替换特殊符号,提高一致性。 切分(Splitting)
按场景选用三种粒度:- Word Tokenization:
“我爱北京天安门” ⇒ [“我”, “爱”, “北京”, “天安门”]
- Sub-word Tokenization:同时适合中文与英文,保留词缀意义,减少未登录词。
例:“变形金刚” ⇒ [“变形”, “金刚”]
。 - Character Tokenization:字符级,适合拼写检查;
“AI” ⇒ [“A”, “I”]
。
- Word Tokenization:
- 映射为 ID(Mapping)
每一个 token 都有一个在词汇表中的唯一数字 ID。 加入特殊 Token
<CLS>
:句子开头标记,用于分类任务。<SEP>
:句子末尾或分隔标记,便于多段文本处理。
Embedding 详解:把“小块”变成“有思想”的数字向量
Embedding 是把 token 映射到高维向量空间的过程。相似语义 的 token,其向量更接近,不同语义则相距更远。这样模型才能理解“苹果”与“橘子”比“苹果”与“火车”更相近。
核心步骤
- 继续用 Tokenization 切好文字 → 获得 token 序列及 ID。
- 查表获取向量
基于已训练好的 Word2Vec、GloVe、BERT embedding 等矩阵,按 ID 拿到对应的 300 维或 768 维向量。 - 送入模型
向量化的结果可直接用于 Transformer、RNN、CNN 等下游网络。
一个小例子
- 句子:
“天空很蓝”
- Tokenization 结果:
[“天空”, “很”, “蓝”]
- Embedding 结果:每个 token → 300 维向量,共 300×3 个浮点数值。
Tokenization vs Embedding:5 个维度对比
- 定义
Tokenization:拆词;Embedding:产⽣向量。 - 输出
Token 序列 vs 稠密向量矩阵。 - 粒度
Tokenization 可选字、词、子词;Embedding 则用固定维度向量表示对应 token。 - 语言依赖
切词规则可能因语言而异;embedding 一旦训练完成通常跨语言通用。 - 数据需求
Tokenization 需要一个预定义词汇表;Embedding 需要大规模预训练语料。
一键实操:数据管道中的 Tokenization 与 Embedding
传统方式需要在本地手工切词、调用 transformers、再对接 向量数据库,容易断链。若想在 私有数据 上快速做嵌入与相似搜索,建议使用 零门槛数据平台,数分钟即可跑通从原始数据到可检索向量的整个流程。
👉 突破 数据处理 断崖,零代码玩转 Embedding 全流程
借助该平台,你可以:
- 选择 350+ 预置连接器,把网页文章、数据库表、本地文档一气呵成接入
- 集成 RAG(Retrieval-Augmented Generation) 框架,自动分块(chunking)与向量化
- 对接 Pinecone / Milvus / Weaviate 并实现毫秒级语义检索
FAQ|你可能还会问的 6 个问题
问 | 答 |
---|---|
Q1:是否一定先 token 再 embedding? | 是的。必须先通过 tokenization 获得 token,再查表得到向量。 |
Q2:token 会重复吗? | 会。同一句里的“的”会被切出多次,ID 相同。 |
Q3:中文怎么选 tokenization? | 现代模型建议选 sub-word 或 BPE(Byte Pair Encoding),既控制 vocab 大小,又能处理罕见词。 |
Q4:embedding 可以自动训练吗? | 可以。将 transformer 模型继续在你的领域语料预训练即可生成专属嵌入。 |
Q5:embedding 维度越高越好? | 不一定。维度越高表达能力越丰富,但计算、存储成本也快速上升,需权衡。300–768 维 是中文场景的常用经验值。 |
Q6:如何避免冷启动找不到 token? | 使用 UNK(未知)标记并在训练中把低频词映射到它,或在部署前扩充词汇表。 |
写在最后
无论你要做 聊天机器人、智能搜索 还是 推荐引擎,Tokenization 决定了模型吃到的是“干净的碎料”,而 Embedding 决定了模型能否“品出味道”。掌握两者差异与协同做法,你就拥有了驾驭各类 自然语言处理 任务的第一步秘籍。