我目前正在学习Python3.6中的gensim doc2model,以查看句子之间的相似性。我创建了一个模型,但当我输入一个明显存在于训练数据集中的单词来查找相似的单词/句子时,它会返回KeyError: "word 'WORD' not in vocabulary"。它会自动跳过一些对定义句子不是很重要的单词吗?或者这只是一个bug或者别的什么?非常感谢,如果我可以有任何方法来涵盖所有出现在数据集中的单词。谢谢。
发布于 2019-05-14 01:16:54
如果你希望在模型中学习的单词不在模型中,最可能的原因是:
,
min_count=5丢弃出现次数少于5次的单词,因为这样的单词都无法为自己获得良好的向量,并且有效地充当干扰其他向量改进的“噪声”。您可以将min_count=1设置为保留所有单词,但它更有可能损害而不是帮助您的整体向量质量。Word2Vec & Doc2Vec需要大型的、多种多样的语料库-如果你想要一个好的单词向量,可以在扩大的语料库中找到更多不同的用法示例。
(还请注意:dm=0是简单快速的Doc2Vec模式之一,它通常也是性能最好的模式,尤其是在短文本上。此模式将分配/随机初始化单词向量,但随后忽略它们进行训练,仅对文档向量进行训练。如果您使用该模式,您仍然可以在最后从模型中请求词向量-但它们将只是随机的废话。)
https://stackoverflow.com/questions/56106821
复制相似问题