GloVe的全称叫Global Vectors for Word Representation,它是一个基于全局词频统计(count-based & overall statistics)的词表征工具,它可以把一个单词表达成一个由实数组成的向量,这些向量捕捉到了单词之间一些语义特性,比如相似性、类比性等。
设共现矩阵为 X X X ,其元素为 X i , j X_{i,j} Xi,j 。
X i , j X_{i,j} Xi,j 的意义为:在整个语料库中,单词 i i i 和单词 j j j 共同出现在一个窗口中的次数。
具体示例见:https://blog.csdn.net/coderTC/article/details/73864097
构建词向量(Word Vector)和共现矩阵(Co-ocurrence Matrix)之间的近似关系,论文的作者提出以下的公式可以近似地表达两者之间的关系:
log X i k = w i T w k + b i + b k \log X_{i k}=w_{i}^{T} w_{k}+b_{i}+b_{k} logXik=wiTwk+bi+bk
具体公式推导见:https://zhuanlan.zhihu.com/p/42073620
J = ∑ i k f ( X i k ) ( w i T w k + b i + b k − log X i k ) 2 J=\sum_{i k} f\left(X_{i k}\right)\left(w_{i}^{T} w_{k}+b_{i}+b_{k}-\log X_{i k}\right)^{2} J=ik∑f(Xik)(wiTwk+bi+bk−logXik)2
f ( x ) f(x) f(x) 为权重函数,满足如下三个特点:
综上
f
(
x
)
f(x)
f(x) 定义如下:
f
(
x
)
=
{
(
x
x
max
)
α
,
if
x
<
x
max
1
,
otherwise
f(x)=\left\{\begin{array}{c} \left(\frac{x}{x_{\max }}\right)^{\alpha}, \text { if } x<x_{\max } \\ 1, \text { otherwise } \end{array}\right.
f(x)={(xmaxx)α, if x<xmax1, otherwise