Word2Vec, most_similar(word1) returns 不同运行的相同输出

Word2Vec, most_similar(word1) returns same output on different runs

我正在做一个小实验,我将 2000 条推文作为我的输入文档。我在这个输入推文上训练 word2vec,然后找到与特定单词最相似的前 10 个单词 - w1.

我担心的是,如果我 运行 word2vec 10 次(使用相同的参数)并检查与 w1 最相似的前 10 个词,给我相同的词集(权重也是相同的)。

现在 AFAIK word2vec 在开始时初始化随机权重那么为什么它在不同的 运行s 给我相同的输出?

gensim 的 word2vec 默认 seed 设置为 1,如 documentation 中所述。对于不同的输出,尝试改变种子变量

from gensim.models.word2vec import Word2Vec

sentences = ['a quick brown fox jumps over a dog'.split()]
model = Word2Vec(sentences, min_count=1, size=5, seed=1)
print model['fox']

Out: array([ 0.0629408 ,  0.07386301, -0.00788937, -0.09287976,  0.05859811], dtype=float32)

model = Word2Vec(sentences, min_count=1, size=5, seed=2)
print model['fox']

Out: array([-0.05617044,  0.00294411, -0.09557492,  0.02923537, -0.08322554], dtype=float32)