GloVe
分类: NLP基础
GloVe
定义
GloVe 是一种基于全局词-词共现统计的词嵌入方法,通过对共现矩阵的对数进行加权最小二乘回归来学习词向量,兼具全局矩阵分解方法和局部上下文窗口方法(如 Word2Vec)的优点。
数学形式
J=i,j=1∑∣V∣f(Xij)(wi⊤w~j+bi+b~j−logXij)2
Xij: 词 i 和词 j 在上下文窗口中的共现次数
wi,w~j∈Rd: 词 i 和词 j 的嵌入向量
bi,b~j: 偏置项
权重函数:
f(x)={(x/xmax)α1if x<xmaxotherwise
xmax=100, α=3/4(原始论文推荐值)
作用:抑制高频共现对(如 “the”, “a”)的过大权重
核心要点
核心直觉:如果词 i 和词 j 语义相近,它们与其他词的共现模式应该相似;共现比率 P(k∣i)/P(k∣j) 编码了词间的语义差异
显式利用全局共现统计,而非像 Word2Vec 那样仅使用局部窗口
训练目标是让词向量的点积近似共现次数的对数,可理解为对 PMI 矩阵的加权低秩分解
权重函数 f(x) 对低频共现(可能是噪声)和高频共现(信息量递减)进行平衡
最终词向量取 wi+w~i(两个嵌入矩阵的和),实践中效果略优于仅用一个
在词类比任务和多数下游任务上与 Word2Vec 性能相当或略优
代表工作
Pennington, Socher & Manning (2014): “GloVe: Global Vectors for Word Representation” (EMNLP 2014)
Levy, Goldberg & Dagan (2015): “Improving Distributional Similarity with Lessons Learned from Word Embeddings”,系统对比 GloVe 与 Word2Vec
相关概念
Word2Vec
Language Model
BERT
Tokenization