lol*_*ter 13 python word2vec tensorflow
该Tensorflow教程这里指的是他们的基本实现,你可以在github上找到这里,这里的Tensorflow作者实现word2vec矢量嵌入培训/评估与Skipgram模型.
我的问题是关于generate_batch()函数中(目标,上下文)对的实际生成.
在这一行上, Tensorflow作者从单词滑动窗口中的"中心"单词索引中随机抽取附近的目标索引.
但是,他们还保留了一个数据结构targets_to_avoid,他们首先添加"中心"上下文单词(当然我们不想采样),但在我们添加它们之后还要添加其他单词.
我的问题如下:
word2vec_basic.py(他们的"基本"实现)似乎很奇怪.targets_to_avoid?如果他们想要真正随机,他们会使用替换选择,如果他们想确保他们获得所有选项,他们应该只使用一个循环并首先获得所有选项!谢谢!
有一个名为的参数num_skips,表示从单个窗口生成的(输入,输出)对的数量:[skip_window targetskip_window]。因此,num_skips限制我们用作输出单词的上下文单词的数量。这就是generate_batch函数的原因assert num_skips <= 2*skip_window。该代码只是随机选取num_skip上下文单词来构建与目标的训练对。但我不知道如何num_skips影响性能。