GolVe模型使用了词与词的共现信息。定义X为共现矩阵,则xij为词j出现在词i环境中的次数。令 x i = ∑ k x i k x_{i}=\sum_{k}x_{ik} xi=∑kxik为任意词出现在词i环境中的次数,则:
P ( i j ) = P ( j ∣ i ) = x i j x i P(ij)=P(j|i)=\frac{x_{ij}}{x_{i}} P(ij)=P(j∣i)=xixij
P(ij)为词j出现在词i环境中的概率,也成为词i和词j的共现概率。
例如,对于语料:
- I like deep learning.
- I like NLP.
- I enjoy flying.
可以得到共现矩阵:
可以得到 P ( ′ I ′ , ′ l i k e ′ ) = 2 3 P('I','like')=\frac{2}{3} P(′I′,′like′)=32
那么共现概率到底有什么用呢?举一个例子。
wk | “solid” | “gas” | “water” |
---|---|---|---|
p 1 = P ( w k ∣ " i c e " ) p_{1}=P(w_{k} \mid "ice") p1=P(wk∣"ice") | 0.00019 | 0.000066 | 0.003 |
p 2 = P ( w k ∣ " s t e a m " ) p_{2}=P(w_{k} \mid "steam") p2=P(wk∣"steam") | 0.000022 | 0.00078 | 0.0022 |
p 1 / p 2 p_{1}/p_{2} p1/p2 | 8.9 | 0.085 | 1.36 |
从直观上我们知道,“solid”和"ice"很接近,但是和"steam"相差很远,因此 P (