---
title: "Embedding (NLP) — 嵌入"
source: "https://systems-analysis.info/int/Embedding_(NLP)_%E2%80%94_%E5%B5%8C%E5%85%A5"
wiki: "systems-analysis.info/int"
article: "Embedding_(NLP)_—_嵌入"
language: "zh"
categories:
  - "Category:Chinese"
  - "Category:Large language models"
  - "Category:Machine learning"
revision_id: 1886
wiki_created_at: 2026-09-06T22:55:33Z
wiki_modified_at: 2026-09-06T22:55:33Z
downloaded_at: 2026-09-07T22:48:22Z
---

# Embedding (NLP) — 嵌入

**嵌入**（Embedding，源自英文“embedding”，意为“嵌入”）是机器学习和自然语言处理领域的一项基础技术，它将离散或复杂的对象（如单词、句子、图像）转换为固定维度的数值**向量表示**。这些向量或嵌入被放置在一个多维空间中，使得语义上相似的对象在空间中彼此靠近。

## 定义与概念

形式上，嵌入是一个映射函数 $f:X \rightarrow {\mathbb{R}}^{d}$，其中 $X$ 是原始对象空间（例如，词汇表），而 ${\mathbb{R}}^{d}$ 是一个维度为 $d$ 的多维向量空间（嵌入空间）。维度 $d$ 远小于原始空间的维度，这使得这些表示是密集的（dense）。

词向量表示的理论基础是**分布语义学**，该理论认为词的意义由其使用的上下文决定。也就是说，出现在相似上下文中的词具有相似的含义，因此它们的向量表示也相近。

### 嵌入的基本原则

- **固定维度：** 所有对象都被映射为相同长度的向量，而不受原始数据大小（例如句子长度）的影响。
- **语义相似性：** 向量之间的距离（通常通过余弦相似度度量）反映了原始对象的语义相似性。
- **支持数学运算：** 向量保留了语义关系，允许对其进行代数运算。一个经典的例子是：$\text{向量}(\text{“国王”}) - \text{向量}(\text{“男人”}) + \text{向量}(\text{“女人”}) \approx \text{向量}(\text{“王后”})$。

## 历史与发展

### 早期方法 (1980–2000年代)

向量表示的最初思想出现在20世纪80年代的神经网络研究中。早期的方法基于对词语共现的统计分析。

### Word2Vec 时代 (2013)

2013年，由 Tomas Mikolov 领导的 Google 团队开发的 **Word2Vec** 成为一个革命性的时刻。Word2Vec 提出了两种高效且计算成本较低的词嵌入训练架构：

- **CBOW (Continuous Bag of Words)：** 根据周围的上下文预测中心词。
- **Skip-gram：** 根据中心词预测上下文词。

Word2Vec 凭借其开源代码和高运行速度，成为第一个广受欢迎的向量表示实现。

### 其他方法的发展

继 Word2Vec 之后，出现了其他重要的静态嵌入模型：

- **GloVe (2014)：** 由斯坦福大学开发的模型，利用全局词语共现统计数据来训练向量。
- **FastText (2015)：** Facebook 推出的模型，通过将每个词表示为其字符n-gram向量之和来考虑词的形态。这使得即使对于训练词汇表中不存在的词（词汇表外词，Out-of-Vocabulary），也能够创建嵌入。

### Transformer 与上下文嵌入时代 (2018至今)

随着 Transformer 架构和 BERT 模型（2018）的出现，该领域取得了突破。这催生了**上下文嵌入**，其中词的向量表示取决于其使用的上下文。与静态表示（例如，“key”一词在“door key”和“musical key”中具有相同的向量）不同，上下文模型会为每种情况生成不同的嵌入。

## 嵌入的类型

### 按表示层级划分

- **词嵌入：** 基本类型，每个词由一个单独的向量表示（Word2Vec, GloVe）。
- **句子和文档嵌入：** 将整个短语、句子或文档表示为单个向量（PV-DM, PV-DBOW）。
- **用户和物品嵌入：** 用于推荐系统，表示用户的兴趣和商品的特征。

### 按上下文相关性划分

- **静态嵌入：** 每个词被分配一个固定的向量，与上下文无关（Word2Vec, GloVe, FastText）。
- **上下文嵌入：** 根据词的周围环境为同一个词生成不同的表示。主要代表有：
  - **BERT：** 基于 Transformer 的双向模型。
  - **ELMo：** 双向 LSTM 模型。
  - **RoBERTa, DistilBERT, ALBERT：** BERT 的改进版本。

### 按模态划分

- **文本嵌入：** 最常见的类型，包括词、句子和文档的表示。
- **视觉嵌入：** 用于计算机视觉任务的图像表示。
- **多模态嵌入：** 将不同类型的数据（文本、图像、音频）整合到同一个向量空间中。例如 ImageBind，能够连接来自六种模态的数据。

## 架构与训练方法

### 经典方法

- **独热编码 (One-hot encoding)：** 最简单的方法，其中每个词被编码为一个与词汇表大小相同的向量，在相应位置为1。缺点是维度高、稀疏且缺乏语义信息。
- **矩阵分解：** 将降维方法（如 LSA）应用于词语共现矩阵。

### 神经网络架构

- **浅层神经网络：** Word2Vec 中的 CBOW 和 Skip-gram 架构使用两层神经网络进行高效训练。
- **Transformer：** 凭借其注意力机制 (attention) 彻底改变了该领域的架构。

### 现代方法

- **掩码自监督学习：** BERT 使用预测被掩盖词语的任务来训练上下文表示。
- **对比学习：** 旨在最大化语义相近（正）对的相似性，并最小化语义疏远（负）对的相似性的方法。

## 嵌入的应用

嵌入在各个领域都有广泛的应用：

### 自然语言处理

- 搜索与信息检索：提高语义搜索的质量，允许按意义而非关键词查找文档。
- 文本分类：向量表示作为分类器的输入数据，提高了其准确性。
- 情感分析：结合上下文确定文本的情感色彩。
- 机器翻译：增进对源语言和目标语言语义的理解。

### 推荐系统

用户和商品的嵌入是性化推荐系统的基础，包括：

- **协同过滤：** 基于用户行为的嵌入。
- **基于内容的过滤：** 使用商品特征的嵌入。

### 计算机视觉

- **图像分类与搜索：** 卷积神经网络和 Vision Transformer 创建图像嵌入，用于图像分类和视觉相似图像的搜索。

### 生物信息学与医学

- **医学数据分析：** 分析临床记录和诊断疾病。
- **分子表示：** 创建嵌入以预测化合物的性质。

## 技术细节与优化

- **维度优化方法：** Matryoshka Representation Learning (MRL) 是一种创新方法，允许从单个模型中获得不同维度的嵌入，将重要信息集中在向量的开头部分。
- **嵌入量化：** 降低数值表示的精度（例如，降至8位或4位），以加速计算并节省内存。
- **与数据库集成：** 现代向量数据库（如 Milvus, Pinecone）以及传统数据库管理系统（DBMS）的扩展（如 PostgreSQL 的 pgvector）能够高效地存储和搜索嵌入。

## 外部链接

- <a href="https://ru.wikipedia.org/wiki/Векторное_представление_слов" class="external text" rel="nofollow">词向量表示</a> — 维基百科
- <a href="https://neerc.ifmo.ru/wiki/index.php?title=Векторное_представление_слов" class="external text" rel="nofollow">词向量表示</a> — NEERC

## 参考文献

- Mikolov, T. et al. (2013). *Efficient Estimation of Word Representations in Vector Space*. <a href="https://arxiv.org/abs/1301.3781" class="external text" rel="nofollow">arXiv:1301.3781</a>.
- Mikolov, T. et al. (2013). *Distributed Representations of Words and Phrases and their Compositionality*. <a href="https://arxiv.org/abs/1310.4546" class="external text" rel="nofollow">arXiv:1310.4546</a>.
- Pennington, J.; Socher, R.; Manning, C. (2014). *GloVe: Global Vectors for Word Representation*. <a href="https://nlp.stanford.edu/pubs/glove.pdf" class="external text" rel="nofollow">PDF</a>.
- Bojanowski, P. et al. (2017). *Enriching Word Vectors with Subword Information*. <a href="https://arxiv.org/abs/1607.04606" class="external text" rel="nofollow">arXiv:1607.04606</a>.
- Joulin, A. et al. (2017). *Bag of Tricks for Efficient Text Classification*. <a href="https://arxiv.org/abs/1607.01759" class="external text" rel="nofollow">arXiv:1607.01759</a>.
- Peters, M. E. et al. (2018). *Deep Contextualized Word Representations*. <a href="https://aclanthology.org/N18-1202/" class="external text" rel="nofollow">ACL Anthology</a>.
- Devlin, J. et al. (2019). *BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding*. <a href="https://arxiv.org/abs/1810.04805" class="external text" rel="nofollow">arXiv:1810.04805</a>.
- Reimers, N.; Gurevych, I. (2019). *Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks*. <a href="https://arxiv.org/abs/1908.10084" class="external text" rel="nofollow">arXiv:1908.10084</a>.
- Kusupati, A. et al. (2022). *Matryoshka Representation Learning*. <a href="https://arxiv.org/abs/2205.13147" class="external text" rel="nofollow">arXiv:2205.13147</a>.
- Radford, A. et al. (2021). *Learning Transferable Visual Models From Natural Language Supervision*. <a href="https://proceedings.mlr.press/v139/radford21a/radford21a.pdf" class="external text" rel="nofollow">PMLR 139</a>.
- Girdhar, R. et al. (2023). *ImageBind: One Embedding Space To Bind Them All*. <a href="https://openaccess.thecvf.com/content/CVPR2023/papers/Girdhar_ImageBind_One_Embedding_Space_To_Bind_Them_All_CVPR_2023_paper.pdf" class="external text" rel="nofollow">CVPR 2023</a>.
