Word2Vec

Word2Vec

Word2Vec 用来计算单词的分布式向量表征。分布式表征的主要优点是相似的单词在向量空间中很接近,在很多自然语言处理应用中都被证明很有用,例如命名实体识别(NDR)、消歧、标注、机器翻译等。

skip-gram Model

skip-gram 的训练目标是学习单词在同一句子中有效预测其上下文的向量表征。从数学上来说,给定一系列训练单词 w 1 , w 2 , … , w T w1,w2,…,wT w1,w2,,wT ,skip-gram model 的目标是最大化平均 log-likelihood

1 T ∑ t = 1 T ∑ j = − k j = k log ⁡ p ( w t + j ∣ w t ) \frac{1}{T} \sum_{t = 1}^{T}\sum_{j=-k}^{j=k} \log p(w_{t+j} | w_t) T1t=1Tj=kj=klogp(wt+jwt)

其中k是训练窗口的大小。

在 skip-gram 模型中,每个单词 w w w 与两个向量 u w u_w uw v w v_w vw 相关联,它们分别是 w w w 的作为单词和上下文的向量表征。给出单词 w j w_j wj,正确预测单词 w i w_i wi 的概率是由 softmax 模型决定,即
p ( w i ∣ w j ) = exp ⁡ ( u w i ⊤ v w j ) ∑ l = 1 V exp ⁡ ( u l ⊤ v w j ) p(w_i | w_j ) = \frac{\exp(u_{w_i}^{\top}v_{w_j})}{\sum_{l=1}^{V} \exp(u_l^{\top}v_{w_j})} p(wiwj)=l=1Vexp(ulvwj)exp(uwivwj)
其中 V V V 是词典大小。

使用 softmax 的 skip-gram 模型开销很大,因为计算 log ⁡ p ( w i ∣ w j ) \log p(w_i | w_j) logp(wiwj) 的成本与 V V V 成比例, V V V 很容易就百万级。 为了加速 Word2Vec 的训练,我们使用了 hierarchical softmax,它将 log ⁡ p ( w i ∣ w j ) \log p(w_i | w_j) logp(wiwj) 的计算复杂度降低到 O ( l o g ( V ) ) O( log(V)) OlogV

你可能感兴趣的:(Word2Vec)