embedding(中文常译为“嵌入”)在深度学习和自然语言处理(NLP)中,是一个非常核心的概念,用一句大白话来说就是:
embedding 就是把“文字”变成“向量”,让计算机能理解、比较、计算它们的含义。
更具体地说:
原因:
计算机天生只理解数字,不能直接理解“你好吗”这种语言。
做法:
我们把每个词、每句话“映射成一个向量”(通常是几十维、几百维的浮点数),这个过程就叫 embedding。
举个例子:
原词 | embedding 向量(假设 5 维) |
---|---|
苹果 | [0.8, 0.2, -0.4, 0.1, 0.7] |
香蕉 | [0.75, 0.3, -0.35, 0.12, 0.65] |
坦克 | [-0.3, -0.7, 0.8, 0.2, -0.6] |
可以看到:
- “苹果” 和 “香蕉” 向量距离近 → 说明语义相似
- “苹果” 和 “坦克” 向量差得远 → 说明语义不同
这就是 embedding 的作用。
embedding 的类型
类型 | 表示的内容 | 举例 |
---|---|---|
词向量(word embedding) | 单个词 | word2vec、GloVe |
子词向量 / token embedding | 子词或 token | BERT、GPT 里的 embedding 层 |
句向量(sentence embedding) | 整句话/句子 | BGE、GTE、SimCSE 等 |
文档向量 | 一段长文或全文 | Faiss、RAG、知识库检索等 |
embedding 有啥用?
它是 NLP 的基础,能实现:
- 句子相似度比较(比如:“你吃饭了吗” 和 “你吃过了吗” 很像)
- 文本搜索 / 语义召回(比如“如何请假”能匹配到“休假流程说明”)
- 分类(比如这句话是积极/消极)
- 多语言对齐(中英翻译的 embedding 会对齐在一起)
类比一下(特别通俗):
你可以把 embedding 理解为:
给每句话拍一张“语义照片”,这张照片用向量表示,计算机可以拿它来“看两个句子像不像”、“找最相近的意思”。
总结一句话:
embedding 就是把文字(词/句/段)变成向量,让计算机能比较语义、理解文本、做智能任务的基础表示方式。