我是tensorflow和word2vec的新手.我刚研究了使用Skip-Gram算法训练模型的word2vec_basic.py.现在我想用CBOW算法训练.如果我简单地反转train_inputs和train_labels,这是否可以实现?
解决方法:
我认为CBOW模型不能简单地通过在Skip-gram中翻转train_inputs和train_labels来实现,因为CBOW模型体系结构使用周围单词的向量之和作为分类器预测的单个实例.例如,你应该一起使用[the,brown]来快速预测而不是使用快速预测.
要实现CBOW,您必须编写一个新的generate_batch生成器函数,并在应用逻辑回归之前总结周围单词的向量.我写了一个例子,你可以参考:https://github.com/wangz10/tensorflow-playground/blob/master/word2vec.py#L105