对于Skip-gram word2vec,训练样本如下获得:
Sentence: The fox was running across the maple forest
fox
这个词给下一对培训:
fox-run, fox-across, fox-maple, fox-forest
每个单词等等。 CBOW w2v使用反向方法:
run-fox, across-fox, maple-fox, forest-fox
或者对于forest
字:
fox-forest, run-forest, across-forest, maple-forest
所以我们得到了所有的对。如果我们在CBOW模式下训练时没有指定目标词,那么在使用gensim库训练期间Skip-gram word2vec和CBOW w2v之间有什么区别?在这两种情况下,是否都使用了所有单词对?
只有skip-gram使用(context_word)->(target_word)
形式的训练对。
在CBOW中,训练样例是(average_of_multiple_context_words)->(target_word)
。因此,当来自单个训练示例的错误被反向传播时,多个上下文单词获得相同的校正轻推。