分享一个关于 Embedding 的直观理解
计算机根本不识字,它只认识数字。那么为什么 AI 能知道“猫”和“小猫”是近义词,而“猫”和“汽车”毫无关系?这就是 Embedding(向量嵌入)在起作用。
这种机制彻底改变了搜索逻辑。传统的关键词搜索是“死板匹配”,搜“性价比笔记本”可能搜不到“便宜的电脑”,因为字对不上。但基于 Embedding 的语义搜索会把查询词转成坐标,直接在地图上找距离最近的答案,不管你用哪个词。
下一篇
S3 + SNS 实时文件上传通知实战 →
简单来说,Embedding 就是把一段文本转换成一串很长的数字列表(向量)。在数学空间里,意思相近的词,它们的数字坐标就靠得近;意思无关的词,坐标就离得远。
你可以把它想象成一张巨大的语义地图:
- 坐标聚集: “猫”和“小猫”会被安置在地图上的同一个街区。
- 距离关系: “狗”虽然在另一个街区,但离“猫”比离“汽车”近得多。
- 高维空间: 现实中的 Embedding 不是 2D 或 3D,而是几百甚至上千维。虽然人类大脑没法想象 1000 维空间,但数学逻辑是一样的:距离 = 相关性。
这种机制彻底改变了搜索逻辑。传统的关键词搜索是“死板匹配”,搜“性价比笔记本”可能搜不到“便宜的电脑”,因为字对不上。但基于 Embedding 的语义搜索会把查询词转成坐标,直接在地图上找距离最近的答案,不管你用哪个词。
现在很多 AI Agent 或 RAG(检索增强生成)工作流的底层逻辑就是这个。所谓的“检索”步骤,其实就是:
1. 把你的问题转成 Embedding 向量。
2. 在预先向量化好的文档库里找坐标最接近的片段。
3. 把片段喂给大模型生成答案。
如果你在做搜索、推荐系统或者内容去重,千万别再用简单的字符串匹配了,直接上向量数据库。
