2017-07-06 112 views
0

我是python和word2vec的新手,並且不斷收到「訓練模型之前必須先建立詞彙表」錯誤。我的代碼有什麼問題?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]) 

回答

1

我可以在代碼中看到一些錯誤的東西,例如文件在寫入模式下打開,並且您加載的模型不包含要查找最相似單詞的單詞。 我想建議使用預定義的模型,如google_news_vectors加載gensim或建立自己的word2vec model,這樣你就不會得到錯誤。 most_similar在gensim用途爲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) 
1

你打開在寫入模式文件,該行:

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

通過這樣做,你擦掉你的文件的內容,所以當你試圖將文件傳遞給訓練模型時,沒有數據需要讀取。這就是爲什麼這個錯誤被拋出。

刪除該行(同時還恢復文件內容),它會起作用。

+0

確保您之前已經重新下載該文件,因爲變化寫入磁盤。 –