Word2Vec、softmax 函数

数据挖掘 机器学习 nlp word2vec 语言模型
2022-03-09 08:22:57

我通过 word2vec (SKIP-GRAM) 模型的 softmax 函数逐项进行。我发现这些函数的大多数定义都不是“清楚”的,所以我修改了符号以确保我理解它。

以下公式是否正确?

P(wt|wt;θ)=softmax(score(wt,wt))

P(wt|wt;θ)=exp(score(wt,wt))wθexp(score(w,wt))

在哪里:

wt=上下文

wt=目标词

score(A,B)向量 A 和 B 之间的相似性度量。

θ=词汇表中所有单词的向量表示

在最简单的情况下:

score(A,B)=AB


1个回答

你的定义是正确的。作为参考,您可以将其与Tensorflow "Vector Representations of Words" 教程中的概率模型进行比较:

P(wt|h)=softmax(score(wt,h))=exp{score(wt,h)}Word w' in Vocabexp{score(w,h)}

它与您的相同,但他们将条件概括为historyh

在 skip-gram 的情况下,目标词是任何上下文词),而历史是中心词)。您在条件中明确指定,但这通常被省略,因为给定问题中只有一个词汇表。wtwtwtθ