共现信息
这里的环境可以有多个定义,但在这篇文章中,是给了一个窗口大小来规定环境。
上面这个公式表示任意一个词
k
k
k出新在
i
i
i的环境中的次数。
上面这个公式表示词
j
j
j出现在词
i
i
i环境中的次数。
P
i
j
P_{ij}
Pij是共现概率。
Glove公式推导
上图的ice环境与steam环境做除法,当k=固体,比值较大,说明固体与冰联系密切;同理,气体与水蒸气联系密切,所以比值较小。贡献概率比值如下公式:
我们现在是要设计一个函数可以表达上述两个概率相除,文中是这样设计的:
但是,上述等式中,右边是一个标量,而左边是向量,那么我们可以做如下变换:
现在,我们思考一下,词
i
i
i在词
k
k
k的环境中是不是等价于词
k
k
k在词
i
i
i的环境中?那么这个共现矩阵应当是对称的,这是一个限定条件,然后我们再做如下变换,将减法变成除法:
然后减法变除法可以将f函数令成指数函数,然后联立上述方程,如下所示:
然后取log,我们思考一下,词
i
i
i与词
k
k
k的地位是等价的,那么他俩应当可以互换,并且最后相乘的值不变,但是,下面这个公式却不能替换:
这时我们要继续做变换,我们使用偏移项去替换,然后现在就可以将
i
i
i与
k
k
k互换了。
这时我们得到一个最终的公式:v和b是神经网络学出来的,而词频
x
i
j
x_{ij}
xij是可以统计出来的:
下面是最终的损失函数,然后前面乘了个
f
(
x
i
j
)
f(x_{ij})
f(xij),因为每个词的词频不一样,导致后面的平方项的重要性程度不一样:
虽然
v
i
v_i
vi和
v
j
v_j
vj理论上等价,但由于初始化的时候不一样,结果会有细微差别,本文选取的最终词向量是他俩的和。
FastText
当fasttext遇到新词时,可以找子词去算新词的词向量。