Word2Vec词汇没有定义错误

时间:2017-07-06 12:17:46

标签: python word2vec

我是python和word2vec的新手,并且在训练模型之前不断获得“你必须首先构建词汇表”错误。我的代码出了什么问题?

这是我的代码:

file_object=open("SupremeCourt.txt","w")
from gensim.models import word2vec

data = word2vec.Text8Corpus('SupremeCourt.txt')
model = word2vec.Word2Vec(data, size=200)

out=model.most_similar()

print(out[1])
print(out[2])

2 个答案:

答案 0 :(得分:1)

您使用以下行在写入模式下打开该文件:

file_object = open("SupremeCourt.txt", "w")

通过这样做,您可以删除文件的内容,这样当您尝试将模型传递给训练模型时,就无法读取数据。这就是抛出错误的原因。

删除该行(并恢复文件内容),它将起作用。

答案 1 :(得分:1)

我可以在你的代码中看到一些错误的东西,比如在写入模式下打开文件,你加载的模型不包含你想要找到最相似单词的单词。 我建议使用google_news_vectors等预定义模型加载gensim或构建自己的word2vec model,这样就不会出错。 gensim中most_similar的用法是out = model.most_similar("word-name")

file_object=open("SupremeCourt.txt","r")
from gensim.models import word2vec

data = word2vec.Text8Corpus('SupremeCourt.txt')
model = word2vec.Word2Vec(data, size=200)#use google news vectors here 

out=model.most_similar("word")
print(out)