type
Post
status
Published
date
Jun 9, 2025
slug
summary
tags
人工智能
推荐
category
技术分享
icon
password
Embedding(嵌入) 是机器学习和自然语言处理中一种将离散型数据(如单词、商品ID、用户ID)映射到连续向量空间的技术。简单来说,它就是用一组实数组成的向量来表示一个对象,使得这些向量能够捕捉对象之间的语义关系。
为什么需要 Embedding?
在传统方法中,我们常用 One-Hot 编码 来表示离散对象。例如,对于“猫”、“狗”、“苹果”这三个词,One-Hot 可能是:
- 猫:[1, 0, 0]
- 狗:[0, 1, 0]
- 苹果:[0, 0, 1]
这种表示有两个主要问题:
- 维度灾难:词汇量越大,向量维度越高,计算和存储开销巨大。
- 无法表示语义相似性:任意两个不同的词,它们的 One-Hot 向量都是正交的(点积为0),因此无法体现“猫”和“狗”都是动物,而“苹果”是水果这种语义上的亲疏关系。
Embedding 通过将每个对象映射到一个低维、稠密的连续向量,很好地解决了这些问题。在这个向量空间中,语义相近的对象距离也近,语义相关的对象之间有特定的方向关系。
Embedding 的核心原理
Embedding 的学习大多基于 分布假说(Distributional Hypothesis):“词的含义由其上下文决定”。也就是说,如果两个词经常出现在相似的上下文中,那么它们的语义也应该是相似的。
因此,Embedding 的训练过程通常是从大量文本中“观察”词的上下文,然后让模型为每个词学习一个向量,使得这个向量能够预测或解释该词的上下文分布。
经典的 Embedding 学习方法
1. Word2Vec
Word2Vec 是 Google 在 2013 年提出的方法,有两种主要模型:
- CBOW(连续词袋模型):用上下文词来预测中心词。例如,对于句子“我 喜欢 吃 苹果”,如果“吃”是中心词,模型会利用“我”、“喜欢”、“苹果”这些上下文词的向量来预测中心词是“吃”。通过不断调整词向量,使预测准确率最高。
- Skip-gram(跳字模型):与 CBOW 相反,用中心词来预测它的上下文词。即给定“吃”,模型要预测它周围的词可能是“我”、“喜欢”、“苹果”。
这两种模型本质上都是一个简单的神经网络,训练完成后,神经网络的权重矩阵(或其中的一行)就成了每个词的 Embedding 向量。最终得到的向量能够反映词的共现关系,比如“国王”减去“男人”加上“女人”约等于“女王”。
2. GloVe(全局向量)
GloVe 是另一种词嵌入方法,它结合了矩阵分解和 Word2Vec 的思想。它首先统计整个语料库中词与词共同出现的次数(共现矩阵),然后通过优化一个目标函数,使得词向量的点积能够拟合共现次数的对数,从而学习到向量表示。
3. FastText
FastText 是 Facebook 提出的改进方法。它把每个词看作是由多个字符级别的 n-gram 组成(例如,“apple” 可以分解为 “ap”、“pp”、“pl”、“le” 等)。最终词的 Embedding 是其所有 n-gram 向量的和。这样做的好处是:
- 可以处理训练语料中未出现过的词(OOV 问题),因为可以通过子词组合得到新词的向量。
- 能够捕捉词的形态学信息(如前缀、后缀)。
现代 Embedding:上下文相关的 Embedding
传统的 Word2Vec 和 GloVe 为每个词分配一个固定的向量,这无法解决 一词多义 的问题(例如,“苹果”既可以指水果,也可以指苹果公司)。现代的 Embedding 方法(如 ELMo、BERT)则根据上下文动态地生成词的向量。
- ELMo(Embeddings from Language Models):使用双向 LSTM 语言模型,每个词的向量由整个句子的所有层状态加权组合而成。同一个词在不同句子中会得到不同的向量。
- BERT(Bidirectional Encoder Representations from Transformers):基于 Transformer 架构,通过在海量语料上预训练(如预测被遮住的词),得到每个词在特定上下文中的表示。BERT 的 Embedding 已经成为 NLP 任务中非常强大的基础特征。
这些上下文相关的 Embedding 能够更好地捕捉词汇在不同语境下的细微差别。
总结
Embedding 的本质是 将离散符号映射到连续向量空间,并在这个空间中保持符号之间的语义关系。它通过分析对象的上下文分布来学习这种映射,使得向量之间的几何关系(如距离、方向)能够反映现实世界中的语义相似性和类比关系。从静态的词嵌入到动态的上下文嵌入,Embedding 技术极大地推动了自然语言处理的发展,也被广泛应用于推荐系统、图像检索等其他领域。
- Author:guderain
- URL:https://wangguanxi.space/article/3262b727-a3a3-8043-b6f6-fa7945bac9a0
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts


.webp?table=collection&id=92be88af-5f71-4631-9d3e-ee3bd53dcced&t=92be88af-5f71-4631-9d3e-ee3bd53dcced&width=1080&cache=v2)