2017-07-14 72 views
0

我使用word2vec來表示我的單詞作爲向量。word2vec vocab vs char

text = np.loadtxt("file.txt", dtype=str, delimiter=" ") 
word2vec = w2v.Word2Vec(text, size=100, window=5, min_count=5, workers=4) 
print(len(word2vec.wv.vocab)) 

文本是單詞(字符串)的列表。此代碼不是打印單詞的數量,而是打印26個#英文字母。爲了訓練word2vec到我的模型中,我需要處理的是單詞,而不是字母。我試圖將文本轉換爲字符串,但它不成功。我究竟做錯了什麼?

+0

'text'是單詞的列表? –

回答

0

我相信你需要通過一大堆單詞的列表:

word2vec = w2v.Word2Vec(text.reshape(-1, 1), size=100, window=5, min_count=5, workers=4) 
+0

我認爲它的工作。謝謝。你知道,如果它計數獨特的單詞數量或重複單詞重複計數? –

+0

@HYUNJAECHO如果重複這些詞,我相信詞彙數量只考慮唯一的詞。但是,在訓練模型時,會考慮並排重複並影響最終結果。另外,請考慮看看[this](https://stackoverflow.com/help/someone-answers)。 –

+0

@COLDSPEED所以我現在可以構建矢量,但我不認爲我的模型非常好地捕捉單詞之間的關係。例如,print model.similarity('big',「large」)是-0.0257764676135。你有解決它的想法嗎?我知道我可以使用Google的預建模型,但使用它並不代表我的文字。有沒有一種方法可以使用預建模型並將其訓練到我的模型中? –