什么是Embedding

半兽人 发表于: 2025-06-26   最后更新时间: 2025-06-26 14:21:10  
{{totalSubscript}} 订阅, 33 游览

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 就是把文字(词/句/段)变成向量,让计算机能比较语义、理解文本、做智能任务的基础表示方式。

更新于 2025-06-26
在线,11分钟前登录

查看Dify更多相关的文章或提一个关于Dify的问题,也可以与我们一起分享文章