Tokenizer 与 Embedding 核心笔记

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 生成)

相关推荐
qeen872 小时前
【C++】类与对象之类的默认成员函数(二)
android·c语言·开发语言·c++·笔记·学习
m0_736034852 小时前
存储基础和虚拟化
笔记
AOwhisky4 小时前
MySQL 学习笔记(第六期):MySQL 备份与恢复
运维·数据库·笔记·学习·mysql·云计算
华山沦贱5 小时前
open62541 V1.5.4版对C++ Builder支持的bug
笔记
稷下元歌5 小时前
七天学会plc 加机器视觉完整笔记:S7-1200 数据类型、存储区与寻址方式(I/Q/M/DB 详解)。
网络·数据库·笔记
逸模6 小时前
AI+BIM 重构连锁公装新范式 逸模打造数字化营建核心底座
大数据·人工智能·笔记·其他·信息可视化·重构
xqqxqxxq6 小时前
树结构技术学习笔记
数据结构·笔记·学习
十月的皮皮7 小时前
C语言学习笔记202606008- 三角形判断(3种方法)
c语言·笔记·学习
XGeFei7 小时前
【Fastapi学习笔记(6)】—— Fastapi文件上传、请求头自动转换
笔记·学习·fastapi
嘶哈哈哈7 小时前
嘉立创 EDA 入门实操笔记:从原理图到 PCB 布线、差分对、覆铜与 DRC 检查
开发语言·笔记·php