GloVe: Global Vectors for Word Representation
论文笔记:GloVe: Global Vectors for Word Representation
元信息
| 项目 | 内容 |
|---|---|
| 机构 | Stanford University |
| 日期 | October 2014 |
| 项目主页 | nlp.stanford.edu/projects/glove |
| 链接 | ACL Anthology |
一句话总结
通过分析词-词共现矩阵的对数,推导出一种加权最小二乘目标函数,将全局统计信息与局部上下文窗口方法统一起来,学习的词向量在 词类比任务 上取得当时 SOTA 性能。
核心贡献
理论洞察: 证明词向量类比关系的线性结构源于共现概率比值(probability ratios),从而将词向量学习问题奠定在坚实的统计学基础上
统一两大范式: 将基于全局矩阵分解的方法(如 LSA)和基于局部窗口的方法(如 Word2Vec)统一到同一个框架中,证明 Skip-gram with Negative Sampling 本质上是在隐式分解 PMI 矩阵
加权最小二乘目标: 设计了带权重函数 的目标函数,有效处理共现频率的巨大动态范围(从零到极高频)
高效训练与开源: 在 6B tokens 语料上训练,开源代码和预训练向量(50d/100d/200d/300d),成为 NLP 社区标准工具
问题背景
要解决的问题
如何从语料的全局统计信息中高效学习词向量,使其同时具备 LSA 的全局统计优势和 Word2Vec 的局部上下文捕获能力?
现有方法的局限
基于矩阵分解的方法(LSA/HAL): 利用全局统计但在词类比等细粒度任务上表现不佳;LSA 对词频做了不够优雅的处理
基于局部窗口的方法(Word2Vec): 在类比任务上表现好,但只利用局部上下文,未充分利用全局共现统计;无法从理论上解释为何词向量会出现线性类比结构
缺乏理论基础: 为什么词向量能编码语义关系?当时缺少令人满意的理论解释
本文的动机
作者从共现概率的比值出发,发现这些比值天然编码了词与词之间的语义区分信息,由此推导出目标函数
方法详解
核心洞察:共现概率比值
设 为词 和词 在上下文窗口内共现的次数, 为共现概率
考察两个词 (如 “ice”)和 (如 “steam”)相对于探测词 的共现概率比值 :
- = “solid”: 很大(ice 与 solid 强相关)
- = “gas”: 很小(steam 与 gas 强相关)
- = “water”:(两者都与 water 相关)
- = “fashion”:(两者都与 fashion 无关)
关键发现: 比值而非绝对概率才是区分语义关系的有效信号
目标函数推导
- 目标:找到函数 使得
- 词向量空间是线性的 → 应依赖于
- 左边是向量,右边是标量 → 取点积:
- 要求对称性(词作为目标词和上下文词的角色可互换)→ 应是同态映射
- 选择 → 得到
- 吸收 为偏置项 → 最终模型
共现矩阵构建
扫描整个语料,统计词对在窗口 内共现的次数
距离越近的词对权重越大:距离为 的共现计数贡献
共现矩阵 是对称的,但实际实现中 和 使用不同的向量
权重函数设计
满足三个条件:
- (零共现不贡献损失)
- 非递减(高频共现不应被低估)
- 对极高频共现有上界(避免 “the” 等停用词主导损失)
关键公式
公式1: GloVe 目标函数
含义: 加权最小二乘回归,拟合词向量点积与共现计数对数之间的关系
符号说明:
- : 目标词向量
- : 上下文词向量
- : 标量偏置项
- : 词 和词 的共现次数
- : 权重函数
公式2: 权重函数
含义: 对共现频率进行截断加权,避免极高频词对主导训练
符号说明:
- : 截断阈值(论文默认值)
- : 幂次参数(实验确定优于线性 )
公式3: 共现概率比值
含义: 两个词相对于探测词的共现概率比值,编码了三者之间的语义关系
特性: 当 与 相关而与 无关时比值远大于 1;与两者都相关或都无关时接近 1
公式4: 与 PMI 的关系
含义: 当偏置项吸收了边际分布信息时,词向量的点积近似于对数共现计数,这与 点互信息(PMI)密切相关
推论: Word2Vec 的 Skip-gram with Negative Sampling 本质上是在隐式分解偏移的 PMI 矩阵(Levy & Goldberg, 2014 的后续工作证实)
公式5: 最终词向量
含义: 最终使用的词向量是目标词向量和上下文词向量的和,因为两者理论上应相等(对称性),但随机初始化打破了对称性,求和可以降低噪声
实验结果
词类比任务
| 模型 | 维度 | 训练数据 | 语义 | 句法 | 总计 |
|---|---|---|---|---|---|
| SVD | 300 | 6B | 6.3 | 8.1 | 7.3 |
| SVD-S | 300 | 6B | 36.7 | 46.6 | 42.1 |
| SVD-L | 300 | 6B | 56.6 | 63.0 | 60.1 |
| CBOW | 300 | 6B | 63.6 | 67.4 | 65.7 |
| SG | 300 | 6B | 61.0 | 61.5 | 61.3 |
| GloVe | 300 | 6B | 77.4 | 67.0 | 71.7 |
GloVe 300d 在语义类比上以 77.4% 大幅领先 CBOW (63.6%) 和 Skip-gram (61.0%)
SVD 基线(原始矩阵分解)效果很差,但经过适当预处理(SVD-L)后可与 Word2Vec 竞争
词相似度任务
在 WordSim-353、MC-30、RG-65、SCWS、RW 等 5 个词相似度基准上评估
GloVe 300d 在大多数基准上达到或接近最佳,特别是在 RW(稀有词)数据集上表现优异
命名实体识别(NER)
将 GloVe 向量作为 CRF-based NER 系统的特征输入
CoNLL-2003 NER F1:GloVe (88.3) > Word2Vec CBOW (88.2) > SVD-L (85.7) > 无预训练向量 (85.4)
关键发现
向量维度: 300 维是最佳性价比点,超过 300 维收益递减
窗口大小: 语义任务偏好较大窗口(),句法任务偏好较小窗口()
语料大小: 从 1B 到 42B tokens,性能持续提升但增速放缓
的优势: 使用目标词和上下文词向量之和比仅用其一提升约 5 个百分点
局限性
静态词向量: 与 Word2Vec 同样无法处理多义词,每个词只有一个表示
共现矩阵的内存开销: 构建和存储全局共现矩阵需要 空间(实际中通过稀疏存储缓解),对超大词表不友好
窗口大小敏感: 语义和句法任务的最优窗口大小不同,无法同时最优化
权重函数的启发式设计: 的形式和 、 的取值基于经验,缺乏严格理论支撑
低频词表示质量差: 共现统计不足时向量不可靠,论文未提出解决方案
相关概念
Word2Vec: 基于局部上下文的词向量方法,GloVe 从理论上证明 Skip-gram + NS 与矩阵分解的等价性
点互信息: PMI 矩阵与词向量点积的理论联系是 GloVe 和 Word2Vec 统一的关键桥梁
LSA: 潜在语义分析,早期的全局矩阵分解方法,GloVe 可视为其现代改进版
FastText: 子词信息增强的词向量,解决 OOV 和形态学问题
ELMo: 上下文化词向量的里程碑,解决了静态词向量的多义词问题
共现矩阵: GloVe 的核心输入数据结构,统计词对在窗口内共现的频次
笔记创建时间: 2026-04-03