[智能体-274]:OneHot(单词稀疏向量)→ BoW(文本稀疏向量)→ Word2Vec(单词稠密向量)→ BGE(文本稠密向量)
分类规律:按两个维度划分:粒度(单词 / 文本)+ 存储(稀疏 / 稠密)
| 稀疏向量 | 稠密向量 | |
|---|---|---|
| 单词粒度 | OneHot | Word2Vec |
| 文本粒度 | BoW 词袋 | BGE/E5 |
一、OneHot:单词级・稀疏向量
1. 作用
把单个词语转为机器可计算数字,实现单词数字化。
2. 规则
全局词典长度 = 向量长度,当前单词下标置 1,其余全 0。例:
3. 特点
- 稀疏:绝大部分元素是 0;
- 任意两词向量正交,相似度永远 = 0,不懂词义关系;
- 缺陷:词库变大,向量维度爆炸。
定位:只能表示单个词,无法直接表示整句文本。
二、BoW 词袋:文本级・稀疏向量
1. 由来
OneHot 只能编码单个词,机器学习需要整条文本转为一个特征向量,诞生词袋。
2. 规则
1. 全文档构建统一词典;
2. 一句话按词典顺序统计每个词语出现次数,构成整句向量。词典:[我,爱吃,苹果,香蕉]句子:我爱吃苹果 → \([1,1,1,0]\)
3. 特点
1.稀疏:大量位置计数为 0;
2. 丢弃语序、语法:狗咬人=人咬狗向量;
3. 无词语语义:苹果、香蕉同为水果,向量无相近关系。
定位:稀疏文本向量,实现整文本数字化,但无语义。
小结前两代:OneHot、BoW 全是稀疏编码,只能记录有无 / 频次,没有语义理解能力。
三、Word2Vec:单词级・稠密向量
1. 由来
解决 OneHot/BoW 无语义的痛点:让词语拥有语义特征。
2. 原理
依托上下文无监督训练,同上下文的词语向量靠近,一个词对应一组连续小数(稠密)。
例:苹果\([0.2,0.5,-0.1]\),香蕉\([0.21,0.49,-0.09]\)
3. 特点
1.稠密:没有大量 0,维度固定(50/100/300);
2. 可余弦算相似度:苹果↔香蕉相似度很高;
3. 短板:静态词向量,一词一个固定向量,不能区分一词多义;
4. 想要得到文本向量:只能把句内所有词向量求和 / 平均(简易拼接,丢失语序与整句语义)。
定位:语义化单词向量,天生只服务单个词语,不擅长直接表征整段文本。
四、BGE/E5:文本级・稠密向量
1. 由来
Word2Vec 只能做好单词,拼接成文本效果差;
行业需要模型直接输出整句 / 段落的语义向量,用于检索、RAG。
2. 原理
基于预训练大模型,读取全句上下文、语序、整体意图,一段文本直接输出一条稠密向量。
例:我喜欢吃苹果和香蕉→ 直接生成一条1024 维稠密数组。
3. 特点
1.稠密向量;
2. 理解整段主旨、隐含语义、语序;句式不同但意思相同的文本,向量高度近似;
3. 工业落地:知识库检索、文本聚类、语义匹配首选。
定位:原生语义化文本向量,当前主流。
五、整条链路进化逻辑
- 第一阶段:数字化(无语义)OneHot(单个词数字化)→BoW(整文本数字化),稀疏、只记录出现与否,不懂含义。
- 第二阶段:语义化(分粒度升级)Word2Vec(单词实现语义稠密化)→BGE(文本实现语义稠密化),从 “记数字” 升级为 “懂语义”。
六、一句话速记
- OneHot:一词一稀疏
- BoW:一句一稀疏
- Word2Vec:一词一稠密
- BGE:一句一稠密
补充衔接 BERT
BERT 是过渡:既可输出动态词向量(解决 Word2Vec 一词多义),也能构造句向量;BGE 在 BERT 基础上专门优化文本检索任务,成为通用文本嵌入
