word2vec 中中心词和外部词的向量是什么样的?

人工智能 自然语言处理 word2vec 词嵌入
2021-11-10 12:32:50

word2vec中,任务是学习预测在一些长文本语料库中哪些词最有可能彼此靠近。对于每个单词c在语料库中,模型输出概率分布P(O=o|C=c)彼此的可能性有多大o在词汇表中是在一定数量的单词之内c. 我们称之为c“中心词”和o“外语”。

我们选择 softmax 分布作为模型的输出:

P(O=o|C=c)=exp(u0Tvc)wVocabexp(uwTvc)

在哪里u0vc是分别表示外部和中心词的向量。

问题。向量有什么作用 u0vc看起来像?它们只是一种热编码吗?我们也需要学习它们吗?为什么这很有用?

1个回答

不,词向量不是 one-hot 编码。是的,他们是有学问的。

word2vec 模型的目的实际上是为单词学习密集的、语义上有意义的编码。也就是说,如果你的话d维向量,然后每个单词在该向量空间中的位置说明了该单词的含义这是因为 word2vec 学会以相似的方式表示单词,如果它们在您的语料库中经常靠近在一起。它实现了分布相似性的思想。

给定“中心词”来预测“外部词”的任务以间接的方式完成了所有这些工作。

word2vec 最大化的朴素目标函数是

J=t=1Lmjmj0p(ut+j|vt)

在哪里L是你的语料库的长度,m是您要考虑的每个中心词的“半径”,ut+j是一个外来词,并且vt是一个中心词。

如果我们让p(ut+j|vt)是softmax分布,然后最大化J意味着最大化内积ut+jTvt在 softmax 的分子中。最大化内积意味着使中心词尽可能接近它们的相邻词,为您提供一些语义上有意义的词向量,以在下游 NLP 任务中使用。

斯坦福 CS224N 的这个讲座更详细。