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

相关推荐
快乐得小萝卜1 天前
OpenVLA 论文精读笔记
笔记
叶~小兮1 天前
K8S进阶核心综合学习笔记(持久化存储+特殊容器+调度管理)
笔记·学习·kubernetes
Skylwn1 天前
保姆级教程之将 GitHub Models 接入 NewAPI
笔记·github
脆皮炸鸡7551 天前
库制作与原理~动态链接
linux·开发语言·经验分享·笔记·学习方法
nnsix1 天前
设计模式 - 工厂模式 笔记
笔记·设计模式
一只机电自动化菜鸟1 天前
一建机电备考笔记(36) 焊接技术—焊接方法与工艺(含考频+题型)
笔记·学习·职场和发展·生活·学习方法
小袁说公考1 天前
公考培训机构2025年度测评:财务健康度与用户体验重构排名格局
大数据·人工智能·经验分享·笔记·其他·重构·ux
许长安1 天前
gRPC Keepalive 机制
c++·经验分享·笔记·rpc
RainCity1 天前
Java Swing 自定义组件库分享(五)
java·笔记·后端
脆皮炸鸡7551 天前
库制作与原理~静态库&静态链接
linux·经验分享·笔记·学习方法