Word Embedding :从分布式假设到神经网络语言模型

一、Word Embedding 的本质:从符号到语义空间的映射

1.1 什么是 Word Embedding?

Word Embedding(词嵌入)是一种将离散的词汇符号 映射到连续的低维稠密向量空间的技术。在这个向量空间中,语义相似的词在几何距离上彼此接近,从而实现了从"符号匹配"到"语义计算"的跨越 。

核心定义

词嵌入是将单词(或多词短语)表示为固定维度的实值向量,这些向量之间的距离(例如余弦相似度)反映了单词之间的相关性,这种相关性基于单词通常出现的上下文 。

1.2 为什么需要 Word Embedding?

表示方法 维度 语义信息 计算效率 主要缺陷
One-Hot 编码 等于词汇表大小(10⁴-10⁵) 完全无关 极低 维度灾难、语义鸿沟
TF-IDF 等于词汇表大小 统计重要性 忽略词序、无法捕捉语义关系
Word Embedding 50-300 维 丰富的语义关系 一词多义(静态嵌入)

关键突破:Word Embedding 将高维稀疏的 One-Hot 向量压缩为低维稠密向量,同时保留了词汇的语义和语法关系 。


二、理论基础:分布式假设(Distributional Hypothesis)

2.1 语言学根源

Word Embedding 的理论基石是 分布式假设(Distributional Hypothesis),由语言学家 Zellig Harris 于 1954 年提出 :

"You shall know a word by the company it keeps"

(通过单词的上下文可以推断其含义)

核心思想:一个词汇的语义由其上下文词汇的分布决定。语义相似的词会在相似的语境中频繁出现,因此它们的向量表示应该在空间中聚集 。

经典示例

  • "医生"和"护士"的上下文都是"医院、病人、开药、治疗"
  • "苹果"和"香蕉"的上下文都是"水果、吃、甜、榨汁"
  • 因此,这些词对的词向量会在向量空间中距离相近

2.2 从统计到神经网络:技术演进

阶段 时间 代表方法 核心思想
统计语言模型 1990s N-gram、共现矩阵 基于词频统计
矩阵分解 2000s LSA、SVD 降维提取潜在语义
神经网络语言模型 2003-2013 NNLM、Word2Vec 预测任务学习嵌入
上下文感知嵌入 2018+ ELMo、BERT、GPT 动态生成语境相关嵌入

三、神经网络语言模型:Word2Vec 的数学原理

3.1 模型架构:浅层神经网络

Word2Vec 由 Mikolov 等人于 2013 年提出,是 Word Embedding 发展的里程碑 。它通过简单的浅层神经网络,将词汇预测任务转化为向量学习问题。

网络结构

  • 输入层 :One-Hot 编码(词汇表大小 VVV)
  • 隐藏层 :线性变换 + 无激活函数(维度 NNN,通常 50-300)
  • 输出层 :Softmax 分类(词汇表大小 VVV)

权重矩阵即词嵌入

  • 输入→隐藏权重矩阵 W∈RV×N\mathbf{W} \in \mathbb{R}^{V \times N}W∈RV×N:行向量即为词嵌入
  • 隐藏→输出权重矩阵 W′∈RN×V\mathbf{W}' \in \mathbb{R}^{N \times V}W′∈RN×V:可作为上下文嵌入

3.2 两种训练模式

3.2.1 CBOW(Continuous Bag-of-Words)

目标:用上下文预测中心词

P(wt∣wt−c,⋯ ,wt−1,wt+1,⋯ ,wt+c)=exp⁡(vwt′⊤⋅h)∑w=1Vexp⁡(vw′⊤⋅h) P(w_t | w_{t-c}, \cdots, w_{t-1}, w_{t+1}, \cdots, w_{t+c}) = \frac{\exp(\mathbf{v}{w_t}'^\top \cdot \mathbf{h})}{\sum{w=1}^{V} \exp(\mathbf{v}_w'^\top \cdot \mathbf{h})} P(wt∣wt−c,⋯,wt−1,wt+1,⋯,wt+c)=∑w=1Vexp(vw′⊤⋅h)exp(vwt′⊤⋅h)

其中 h=12c∑−c≤j≤c,j≠0vwt+j\mathbf{h} = \frac{1}{2c} \sum_{-c \leq j \leq c, j \neq 0} \mathbf{v}{w{t+j}}h=2c1∑−c≤j≤c,j=0vwt+j 是上下文词向量的平均。

输入输出示例

复制代码
[The] [cat] [sat] [on] [the] → [mat]
 上下文(词袋,忽略顺序)    → 中心词
3.2.2 Skip-gram

目标:用中心词预测上下文

P(wt+j∣wt)=exp⁡(vwt+j′⊤⋅vwt)∑w=1Vexp⁡(vw′⊤⋅vwt) P(w_{t+j} | w_t) = \frac{\exp(\mathbf{v}{w{t+j}}'^\top \cdot \mathbf{v}{w_t})}{\sum{w=1}^{V} \exp(\mathbf{v}w'^\top \cdot \mathbf{v}{w_t})} P(wt+j∣wt)=∑w=1Vexp(vw′⊤⋅vwt)exp(vwt+j′⊤⋅vwt)

输入输出示例

复制代码
[sat] → [The] [cat] [on] [the]
中心词 → 分别预测周围每个词

3.3 目标函数与优化

对数似然目标(Skip-gram):

J(θ)=1T∑t=1T∑−c≤j≤c,j≠0log⁡P(wt+j∣wt) J(\theta) = \frac{1}{T} \sum_{t=1}^{T} \sum_{-c \leq j \leq c, j \neq 0} \log P(w_{t+j} | w_t) J(θ)=T1t=1∑T−c≤j≤c,j=0∑logP(wt+j∣wt)

负采样(Negative Sampling)优化

为加速训练,Mikolov 等人提出负采样,将多分类问题转化为二分类问题:

log⁡σ(vwO′⊤⋅vwI)+∑i=1kEwi∼Pn(w)[log⁡σ(−vwi′⊤⋅vwI)] \log \sigma(\mathbf{v}{w_O}'^\top \cdot \mathbf{v}{w_I}) + \sum_{i=1}^{k} \mathbb{E}{w_i \sim P_n(w)} [\log \sigma(-\mathbf{v}{w_i}'^\top \cdot \mathbf{v}_{w_I})] logσ(vwO′⊤⋅vwI)+i=1∑kEwi∼Pn(w)[logσ(−vwi′⊤⋅vwI)]

其中 wOw_OwO 是真实上下文词,wIw_IwI 是输入词,kkk 是负样本数,Pn(w)P_n(w)Pn(w) 是噪声分布(通常与词频相关)。


四、GloVe:全局统计与局部预测的融合

4.1 共现矩阵的利用

GloVe(Global Vectors for Word Representation)由 Stanford 于 2014 年提出,结合了全局统计信息和局部上下文预测的优势 。

共现矩阵 X∈RV×V\mathbf{X} \in \mathbb{R}^{V \times V}X∈RV×V,其中 XijX_{ij}Xij 表示词 jjj 出现在词 iii 上下文中的次数。

4.2 核心思想:比率比

GloVe 的关键洞察:词对共现概率的比率比绝对概率更能表达语义关系。

PikPjk=Xik/XiXjk/Xj≈exp⁡(wi⊤w~k)exp⁡(wj⊤w~k)=exp⁡((wi−wj)⊤w~k) \frac{P_{ik}}{P_{jk}} = \frac{X_{ik}/X_i}{X_{jk}/X_j} \approx \frac{\exp(\mathbf{w}_i^\top \tilde{\mathbf{w}}_k)}{\exp(\mathbf{w}_j^\top \tilde{\mathbf{w}}_k)} = \exp((\mathbf{w}_i - \mathbf{w}_j)^\top \tilde{\mathbf{w}}_k) PjkPik=Xjk/XjXik/Xi≈exp(wj⊤w~k)exp(wi⊤w~k)=exp((wi−wj)⊤w~k)

4.3 目标函数

J=∑i,j=1Vf(Xij)(wi⊤w~j+bi+b~j−log⁡Xij)2 J = \sum_{i,j=1}^{V} f(X_{ij}) \left( \mathbf{w}_i^\top \tilde{\mathbf{w}}_j + b_i + \tilde{b}j - \log X{ij} \right)^2 J=i,j=1∑Vf(Xij)(wi⊤w~j+bi+b~j−logXij)2

其中 f(Xij)f(X_{ij})f(Xij) 是加权函数,对罕见共现降权,避免过度拟合稀有词对。


五、Word Embedding 的数学性质

5.1 线性语义关系

Word2Vec 发现词向量空间存在惊人的线性结构

vking−vman+vwoman≈vqueen \mathbf{v}{\text{king}} - \mathbf{v}{\text{man}} + \mathbf{v}{\text{woman}} \approx \mathbf{v}{\text{queen}} vking−vman+vwoman≈vqueen

其他经典类比

  • 首都-国家:Paris−France+Italy≈Rome\text{Paris} - \text{France} + \text{Italy} \approx \text{Rome}Paris−France+Italy≈Rome
  • 动词时态:walking−walk+swim≈swimming\text{walking} - \text{walk} + \text{swim} \approx \text{swimming}walking−walk+swim≈swimming
  • 复数形式:cars−car+apple≈apples\text{cars} - \text{car} + \text{apple} \approx \text{apples}cars−car+apple≈apples

5.2 几何解释

数学操作 语义含义 应用
向量加法 语义组合 "中国" + "首都" ≈ "北京"
向量减法 语义差异 "医生" - "医院" ≈ "护士" - "医院"
余弦相似度 语义相似度 最近邻搜索、类比推理
向量投影 语义去偏 去除性别/种族偏见

六、从静态到动态:上下文感知嵌入

6.1 静态嵌入的局限

Word2Vec 和 GloVe 生成的是静态词嵌入 ------每个词只有一个固定向量,无法处理一词多义

句子 "银行"的含义 静态嵌入问题
"我去银行取钱" 金融机构 同一个向量
"河岸边有一家银行" 河岸/堤岸 无法区分语境

6.2 ELMo:深度上下文表示

ELMo(Embeddings from Language Models)使用双向 LSTM,为每个词生成语境相关的嵌入

hk,jELMo=γ∑j=0Lsjhk,jLM \mathbf{h}{k,j}^{\text{ELMo}} = \gamma \sum{j=0}^{L} s_j \mathbf{h}_{k,j}^{\text{LM}} hk,jELMo=γj=0∑Lsjhk,jLM

其中 hk,jLM\mathbf{h}_{k,j}^{\text{LM}}hk,jLM 是第 jjj 层 LSTM 的词 kkk 的隐藏状态,sjs_jsj 是可学习的层权重,γ\gammaγ 是缩放因子。

6.3 BERT:Transformer 时代的动态嵌入

BERT(Bidirectional Encoder Representations from Transformers)通过掩码语言模型双向注意力,实现了更深层的语境理解 :

训练目标

  • MLM(Masked Language Model):随机掩码 15% 的 token,预测原词
  • NSP(Next Sentence Prediction):判断句子 B 是否是 A 的下一句

动态嵌入生成
hBERT=Transformerencoder(input_embeddings) \mathbf{h}{\text{BERT}} = \text{Transformer}{\text{encoder}}(\text{input\_embeddings}) hBERT=Transformerencoder(input_embeddings)

同一词在不同句子中获得不同向量:

  • "我用苹果手机支付" → 公司/品牌语义
  • "我吃苹果" → 水果语义

七、Word Embedding 的评估与应用

7.1 内在评估(Intrinsic Evaluation)

任务 描述 示例
词类比 完成类比关系 man : woman :: king : ?
词相似度 与人类评分对比 WordSim-353、SimLex-999
最近邻 检查语义相关性 "python"的邻居是否包含"programming"

7.2 外在评估(Extrinsic Evaluation)

将 Embedding 作为特征输入下游任务:

  • 情感分析、命名实体识别、机器翻译
  • 性能提升即证明 Embedding 质量

7.3 核心应用场景

应用 技术实现 效果
信息检索 查询-文档向量相似度 语义搜索,超越关键词匹配
推荐系统 用户/物品嵌入 + 相似度计算 协同过滤、内容推荐
机器翻译 跨语言嵌入空间对齐 零样本翻译、多语言模型
问答系统 问题-答案嵌入匹配 RAG(检索增强生成)
多模态融合 CLIP:图像-文本共享嵌入空间 以文搜图、以图搜文

八、总结:Word Embedding 的理论体系

复制代码
分布式假设(1954)
    ↓
统计共现分析(LSA/SVD)
    ↓
神经网络语言模型(2003)→ Word2Vec(2013):CBOW/Skip-gram + 负采样
    ↓
全局统计融合(GloVe, 2014):共现矩阵 + 对数线性模型
    ↓
深度上下文模型(2018+):ELMo → BERT/GPT → 大语言模型

核心数学思想

  1. 分布式表示:语义分散在向量各维度,而非局部符号
  2. 预测即学习:通过预测任务强制模型学习语义关系
  3. 几何即语义:向量空间的线性结构编码语言规律
  4. 上下文即意义:动态嵌入解决一词多义,实现真正的"理解"

一句话总结 :Word Embedding 的本质是将语言的离散符号系统转化为连续的几何空间,使得语义计算成为可能,为现代自然语言处理奠定了数学基础 。

相关推荐
feifeigo1233 小时前
航天器交会的分布式模型预测控制(DMPC)MATLAB实现
开发语言·分布式·matlab
CET中电技术4 小时前
CET中电技术如何助光伏企业在“四可“时代抢占先机?
分布式
人间打气筒(Ada)4 小时前
「码动四季·开源同行」go语言:如何使用 ELK 进行日志采集以及统一处理?
开发语言·分布式·elk·go·日志收集·分布式日志系统
pzx_0015 小时前
【Pytorch】nn.Embedding函数详解
人工智能·pytorch·embedding
asdzx675 小时前
C#:通过模板快速生成 Word 文档
开发语言·c#·word
黑牛儿5 小时前
MySQL 实战进阶:从单表优化到分布式数据库适配
数据库·分布式·mysql
zz0723206 小时前
Apache Kafka 开源的分布式事件流平台
分布式·kafka·apache
xinixini6 小时前
2026年马年日历模板大全 可编辑Excel/Word/PSD/PDF素材合集
pdf·word·excel·日历
Anastasiozzzz11 小时前
深入研究RAG: 在线阶段-查询&问答
数据库·人工智能·ai·embedding