【Graph Embedding】GloVe:如何从大规模语料中快速训练词向量

本文介绍了GloVe模型,它综合了LSA的全局统计信息和Word2Vec的简单高效,通过加权最小二乘法解决词向量训练问题。GloVe通过修改代价函数,将Word2Vec的局部信息纳入考虑,实现了对词向量的快速训练,同时在实验中表现出与Word2Vec相当的效果。
摘要由CSDN通过智能技术生成

1. Introduction

今天学的论文是斯坦福大学 2014 年的工作《GloVe: Global Vectors for Word Representation》,在当时有两种主流的 Word Embedding 方式,一种是 LSA,创建词频矩阵,利用 SVD 分解得到词向量;另一种是 13 年提出的 Word2Vec,基于滑动窗口的浅层神经网络。前者的优点是利用了全局的统计信息(共现矩阵),后者的优点是计算简单且效果好 = =,但缺点是没利用全局的统计信息。所以这篇论文的主要工作是想综合两者的优点。

在看论文前我们不妨来思考一下,如果你是研究员,现在有这样的想法(综合全局信息和局部信息),你该如何去实现?

2. GloVe Model

2.1 Weighted Least Squares

我们先来给些定义,另 X 为词与词的共现矩阵, X i j X_{ij} Xij 表示单词 j 出现在单词 i 上下文中的次数。于是我们有单词 j 出现在单词 i 上下文的共现概率:
P i j = P ( j ∣ i ) = X i j X i P_{ij} = P(j|i) = \frac{X_{ij}}{X_i} \\ Pij=P(ji)=XiXij
我们观察下表的共现概率,只看第一行第二行我们能看出 ice 和 stream 与 solid gas water fashion 等词的相关性吗?答案是否定的,但如果我们使用比值 P ( k ∣ i c e ) P ( k ∣ s t e a m ) \frac{P(k|ice)}{P(k|steam)} P(ksteam)P(kice) 就可以很直观的看到其相关性:

  • 当 k = solid 时,其值为 8.9,则表明,ice 与 solid 更相关;
  • 当 k = gas 时,其值为 8.5 × 1 0 − 2 8.5 \times 10^{-2} 8.5×102 ,所以 steam 与 gas 更相关;
  • 当值为 1 左右时,表明 ice 和 steam 与目标单词 k 都相关或者都不相关。

Co-occurrence Probabilities

从上面的表述中我们看出,比值更能反映相关性,而不是共现单词概率。所以我们有:
F ( w i , w j , w ~ k ) = P i k P j k F(w_i,w_j,\widetilde w_k) = \frac{P_{ik}}{P_{jk}} \\ F(wi,wj,w k)=PjkPik
其中, w i w_i wi 表示单词 i 的词向量, w ~ k \widetilde w_k w k 是独立的上下文向量将在后面进行介绍,F 可以视为一种映射或是一种运算。

我们再来看下上面的等式,一个很直观的感觉就是 F 可能取值很广。不过不要紧,我们现在给它加些约束。由于向量空间是线形的,所以可以使用向量差:
F ( w i − w j , w ~ k ) = P i k P j k F(w_i-w_j,\widetilde w_k) = \frac{P_{ik}}{P_{jk}} \\ F(wiwj,w k)=PjkPik
为了保证混合向量的维度不变,我们再做个点乘:
F ( ( w i − w j ) T w ~ k ) = P i k P j k F\big((w_i-w_j)^T\widetilde w_k \big) = \frac{P_{ik}}{P_{jk}} \\ F((wiwj)Tw k)=PjkPik
实际中,单词和共现单词是可以可交换的,现在的等式不满足交换律。

为了保证交换律,我们先让 F 保证为群 ( R , + ) (R,+) (R,+) 到群 ( R > 0 , × ) (R_{>0}, \times) (R>0,×) 的群同态:
F ( ( w i − w j ) T w ~ k ) = F ( w i T w ~ k − w j T w ~ k ) = F ( w i T w ~ k ) F ( w k T w ~ k ) F\big((w_i-w_j)^T \widetilde w_k\big) = F\big(w_i^T \widetilde w_k-w_j^T \widetilde w_k\big) = \frac{F(w_i^T \widetilde w_k)}{F(w_k^T \widetilde w_k)} \\ F((wiwj)T

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值