Tokenizer 与 Embedding 核心笔记
核心逻辑:文本 → Tokenizer(文字转ID)→ Embedding(ID转语义向量),二者是模型处理文本的"必经两步",缺一不可
一、Tokenizer(分词器/文本编码器)
1. 定义
自然语言处理(NLP)中,用于将原始文本(字符串)转换为模型可识别的"基础数字单元"的工具,是文本预处理的核心组件。

2. 核心作用(4大核心,缺一不可)
-
分词切分:将完整句子切分为模型可处理的最小单元(中文按单字切分,英文按子词/词切分,标点、数字单独切分)。
-
标记添加:自动添加模型所需的特殊标记(如 [CLS] 句子开头标记、[SEP] 句子结束标记)。
-
编码映射:查询内置词表,将每个切分单元(字/子词)转换为唯一的整数 ID(核心功能,实现"文字→数字")。
-
格式标准化:通过 Padding(短句子补 [PAD],ID=0)和 Truncation(长句子截断),统一所有文本长度,适配模型批量计算。
3. 关键特性
-
无学习能力:规则固定,仅做"查表映射",不参与模型训练,输出为整数 ID 序列。
-
无语义:输出的 ID 仅为编号,不包含任何语义、语法信息。
-
位置:属于数据预处理阶段,在模型外部执行。
二、Embedding(词嵌入/嵌入层)
1. 定义
深度学习模型(如 BERT、RoBERTa)的第一层神经网络组件,用于将 Tokenizer 输出的整数 ID,转换为具有语义含义的高维浮点数向量(语义向量)。
2. 核心作用
-
ID 转向量:接收 Tokenizer 输出的整数 ID,从自身的可学习参数矩阵中,取出对应行的高维向量(常用 768 维)。
-
赋予语义:向量包含文本的语义、语法、上下文关联信息(如"我"和"俺"的向量距离近,"好"和"坏"的向量距离远)。
-
适配模型:将离散的整数 ID,转换为模型可进行计算的连续浮点数向量,为后续模型层(如 Transformer)提供输入。
3. 关键特性
-
可学习性:自身是可训练的参数矩阵,训练过程中会不断优化,适配具体任务。
-
有语义:输出的向量是文本的"语义表示",模型通过向量理解文本含义。
-
位置:属于模型内部第一层,在 Tokenizer 处理之后执行。
三、Tokenizer 与 Embedding 核心区别(重点对比)
| 对比维度 | Tokenizer(分词器) | Embedding(嵌入层) |
|---|---|---|
| 中文名称 | 分词器、文本编码器 | 词嵌入、嵌入层 |
| 核心定义 | 将原始文本转为整数 ID 的预处理工具 | 将整数 ID 转为语义向量的模型组件 |
| 输入内容 | 原始字符串文本(如"我要投诉客服") | Tokenizer 输出的整数 ID 序列 |
| 输出内容 | 整数 ID 序列(如 [101, 2769, 3429, ...]) | 高维浮点数语义向量(如 [0.123, -0.456, ...]) |
| 是否可学习 | ❌ 固定规则,不可学习 | ✅ 可训练参数,随任务优化 |
| 是否有语义 | ❌ 仅为编号,无语义 | ✅ 包含语义、语法、上下文信息 |
| 所处阶段 | 模型外部,数据预处理阶段 | 模型内部,第一层神经网络 |
| 核心功能 | 文字 → 数字(格式转换) | 数字 → 语义向量(赋予含义) |
四、总结(极简好记)
-
必经流程:文本 → Tokenizer → Embedding → 模型,缺一步模型无法运行。
-
Tokenizer:"翻译官",把人类文字翻译成模型能"看见"的数字 ID。
-
Embedding:"解读者",把数字 ID 翻译成模型能"理解"的语义向量。
-
核心区别:一个是"无语义的格式转换",一个是"有语义的向量映射"。
(注:文档部分内容可能由 AI 生成)