【发布时间】:2016-06-10 09:55:13
【问题描述】:
我正在尝试在 python 中应用在库 gensim 中实现的 word2vec 模型。我有一个句子列表(每个句子都是一个单词列表)。
例如让我们有:
sentences=[['first','second','third','fourth']]*n
我实现了两个相同的模型:
model = gensim.models.Word2Vec(sententes, min_count=1,size=2)
model2=gensim.models.Word2Vec(sentences, min_count=1,size=2)
我意识到模型有时是相同的,有时是不同的,这取决于 n 的值。
例如,如果 n=100 我得到
print(model['first']==model2['first'])
True
同时,对于 n=1000:
print(model['first']==model2['first'])
False
这怎么可能?
非常感谢!
【问题讨论】:
-
其实第二种情况,当文本结果为True时,n=5000
-
在您粘贴的代码中,
model在sententes上进行训练,model2 在sentences上进行训练。这是复制错误还是您的实际代码? -
很遗憾,只是复制错误。
-
我不明白这个
model['first']==model2['first']是如何计算为True的,它不应该计算为True, True,因为你的嵌入是在 2 空间 (size=2) 中的吗? -
我的帖子回答你的问题了吗?
标签: python nlp gensim word2vec