GloVe(Global Vectors for Word Representation)模型详解

GloVe模型原理与应用解析

核心思想

GloVe 通过全局词共现统计学习词向量,核心假设是:词的意义可通过其上下文词的共现信息捕捉。其实现分为三步:

  1. 构建共现矩阵:统计词-词在固定窗口内的共现次数,形成矩阵 XXXXijX_{ij}Xij 表示词 iii 与词 jjj 的共现次数)。

  2. 定义目标函数:最小化词向量内积与共现次数对数的差距:

    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=1Vf(Xij)(wiw~j+bi+b~jlogXij)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
  3. 优化训练:通过梯度下降(如 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 的对比

特性GloVeWord2Vec(Skip-gram/CBOW)
信息来源全局共现统计局部滑动窗口
模型类型矩阵分解(对数双线性模型)神经网络(预测模型)
训练效率较高(利用共现矩阵)较低(需遍历所有窗口)
语义捕捉全局语义关系(如类比任务)局部上下文模式(如语法结构)
典型应用通用词嵌入、语义相似度计算短文本分类、信息检索

应用场景

  • 词义相似度计算:如“king”与“queen”的相似度。
  • 词类比任务:如“king - man + woman ≈ queen”。
  • 下游 NLP 任务:文本分类、机器翻译等模型的输入特征。

局限性

  • 静态词向量:无法处理一词多义(如“bank”的不同含义)。
  • 数据依赖:共现统计质量直接影响效果,需大语料库。
  • 超参数敏感:窗口大小、向量维度等需调参。

总结

GloVe 通过全局统计与局部上下文的结合,提供了高效且语义丰富的词向量表示,适合大规模语料库的预训练任务。对于需要动态语义的场景,可进一步结合 BERT 等上下文化模型。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值