这可能实际上是一个愚蠢的问题,但我无法弄清楚为什么我的gensim.models.word2vec脚本无效。这是事情,我正在使用stanford情绪分析数据库数据集(~11000评论),我正在尝试使用gensim构建word2vec,这是我的脚本:
import gensim as gs
import sys
# open the datas
sentences = gs.models.word2vec.LineSentence('../processedWords.txt')
print("size in RAM of the sentences: {}".format(sys.getsizeof(sentences)))
# transform them
# bigram_transformer = gs.models.Phrases(sentences)
model = gs.models.word2vec.Word2Vec(sentences, min_count=10, size=100, window=5)
model.save('firstModel')
print(model.similarity('film', 'test'))
print(model.similarity('film', 'movie'))
现在,我的问题是该脚本以2s运行,并且每对单词之间只有很大的相似性。另外,句子中的一些单词不在构建的词汇表中。
我必须做一些明显错误的事情,但无法弄清楚是什么。
感谢您的帮助。
答案 0 :(得分:1)
我几乎可以肯定这是因为你没有指定一些训练迭代;我认为iter
默认为1,这对于训练神经网络基本没用。将iter=<int>
标志添加到模型声明中,例如model = gs.models.word2vec.Word2Vec(sentences, min_count=10, size=100, window=5, iter=1000)
。
有点面子,但我做了同样的事情。