一句话:AI 词典:Embedding">Embedding 就是把一段文字(也可以是图片、音频、用户行为)变成一串固定长度的数字,让「意思」这件事变得可以被计算。
它到底做了什么
假设你要给一座城市里所有餐厅画一张地图。每家餐厅都有一组坐标:川菜馆聚在东南角,日料店聚在西北角,甜品店在中间。想吃辣的时候,你只要走到东南角附近找就行——不需要记住每家店的招牌。
Embedding 干的就是这件事,只是地图不是二维,而是几百到几千维。每个词、每句话、每篇文章,都被钉在这张高维地图上的一个点。训练的目标很朴素:意思相近的东西,坐标要靠近;意思不相干的,坐标要拉远。
于是「我想退掉昨天买的那双鞋」和「如何申请退货」即使没有任何共同的关键词,它们的坐标也很接近。这就是语义搜索能工作的原因。
这串数字不是人手工设计的,是模型从海量文本里自己学出来的。你没法指着某一维说「这一维代表'是否关于动物'」——维度本身通常没有可读含义,含义藏在整体的相对位置里。
和相邻概念的区别
| 表示方式 | 一句话理解 | 主要短板 |
|---|---|---|
| One-hot 编码 | 给每个词发一个编号,彼此完全无关 | 词与词之间没有任何远近关系 |
| 关键词匹配(如倒排索引) | 看你有没有出现同样的字 | 换个说法就搜不到 |
| Embedding | 把语义投影成坐标,比距离 | 需要模型,且不擅长精确匹配、数字、人名 |
实践中三者常常一起用:先向量召回一批语义相关的候选,再用关键词做精排。
对从业者和普通人的意义
对工程师,Embedding 是检索增强生成(RAG)的地基:文档先被切块、向量化、存进向量库,提问时把问题也向量化,然后找最近的几个块喂给大模型。它也是聚类、去重、推荐、异常检测的通用零件——只要能把对象变成坐标,就能用几何方法处理它。
对普通职场人,它解释了一个常见困惑:为什么有些搜索「懂你」,有些却死板。懂你的那些,多半是先把你的话翻译成了坐标再去比距离。
三个容易踩的坑
1. 不同模型的坐标不可比。A 模型算出来的向量和 B 模型的放在一起算距离,结果没有意义。库里存的向量和查询用的向量必须来自同一个模型。
2. 相似度不是万能尺。常见做法是余弦相似度,它衡量方向是否一致,但「相似」不等于「正确」,检索结果仍需要额外排序或校验。
3. 切分方式影响很大。文档块太大,语义被稀释;太小,上下文被割裂。
最后提醒一句:各家模型支持的维度上限、输入长度和计费方式差异不小,具体以官方页面为准。
