一、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≠0logP(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−logXij)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 → 大语言模型
核心数学思想:
- 分布式表示:语义分散在向量各维度,而非局部符号
- 预测即学习:通过预测任务强制模型学习语义关系
- 几何即语义:向量空间的线性结构编码语言规律
- 上下文即意义:动态嵌入解决一词多义,实现真正的"理解"
一句话总结 :Word Embedding 的本质是将语言的离散符号系统转化为连续的几何空间,使得语义计算成为可能,为现代自然语言处理奠定了数学基础 。