核心思想
GloVe 通过全局词共现统计学习词向量,核心假设是:词的意义可通过其上下文词的共现信息捕捉。其实现分为三步:
-
构建共现矩阵:统计词-词在固定窗口内的共现次数,形成矩阵 XXX(XijX_{ij}Xij 表示词 iii 与词 jjj 的共现次数)。
-
定义目标函数:最小化词向量内积与共现次数对数的差距:
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
- VVV:词汇表大小;
- wiw_iwi:词 i 作为中心词的向量;
- wj~\tilde{w_j}wj~:词 j 作为上下文词的向量;
- bi,b~jb_i, \tilde{b}_jbi,b~j:偏置项;
- f(Xij)f(X_{ij})f(Xij):权重函数,常用形式:
f(x)={(xxmax)αif x<xmax1otherwise(通常 xmax=100, α=0.75) f(x) = \begin{cases} \left( \dfrac{x}{x_{\text{max}}} \right)^\alpha & \text{if } x < x_{\text{max}} \\ 1 & \text{otherwise} \end{cases} \quad \text{(通常 } x_{\text{max}} = 100,\ \alpha = 0.75\text{)} f(x)=⎩⎨⎧(xmaxx)α1if x<xmaxotherwise(通常 xmax=100, α=0.75)
-
优化训练:通过梯度下降(如 Adagrad)更新词向量。
模型结构
- 输入:全局共现矩阵 XXX
- 输出:
- 最终词向量取平均:vectori=wi+w~i2\text{vector}_i = \dfrac{\mathbf{w}_i + \tilde{\mathbf{w}}_i}{2}vectori=2wi+w~i
关键特点
| 特点 | 说明 |
|---|---|
| 全局与局部结合 | 融合全局统计(LSA)和局部上下文(Word2Vec)的优势 |
| 加权损失函数 | 通过 f(Xij)f(X_{ij})f(Xij) 抑制低频词噪声,提升稳定性 |
| 对称性 | 共现矩阵对称,目标词与上下文词角色可互换 |
| 高效训练 | 利用共现矩阵优化,适合大规模数据 |
与 Word2Vec 的对比
| 特性 | GloVe | Word2Vec(Skip-gram/CBOW) |
|---|---|---|
| 信息来源 | 全局共现统计 | 局部滑动窗口 |
| 模型类型 | 矩阵分解(对数双线性模型) | 神经网络(预测模型) |
| 训练效率 | 较高(利用共现矩阵) | 较低(需遍历所有窗口) |
| 语义捕捉 | 全局语义关系(如类比任务) | 局部上下文模式(如语法结构) |
| 典型应用 | 通用词嵌入、语义相似度计算 | 短文本分类、信息检索 |
应用场景
- 词义相似度计算:如“king”与“queen”的相似度。
- 词类比任务:如“king - man + woman ≈ queen”。
- 下游 NLP 任务:文本分类、机器翻译等模型的输入特征。
局限性
- 静态词向量:无法处理一词多义(如“bank”的不同含义)。
- 数据依赖:共现统计质量直接影响效果,需大语料库。
- 超参数敏感:窗口大小、向量维度等需调参。
总结
GloVe 通过全局统计与局部上下文的结合,提供了高效且语义丰富的词向量表示,适合大规模语料库的预训练任务。对于需要动态语义的场景,可进一步结合 BERT 等上下文化模型。
GloVe模型原理与应用解析
1029

被折叠的 条评论
为什么被折叠?



