我是word2vec世界的新手,我刚开始使用gensim的word2vec实现。
我使用两个天真的句子作为我的第一个文档集,
[['first', 'sentence'], ['second', 'sentence']]
我得到的载体是这样的:
'first', -0.07386458, -0.17405555
'second', 0.0761444 , -0.21217766
'sentence', 0.0545655 , -0.07535963
然而,当我输入另一个玩具文件集时:
[['a', 'c'], ['b', 'c']]
我得到以下结果:
'a', 0.02936198, -0.05837455
'b', -0.05362414, -0.06813956
'c', 0.11918657, -0.10411404
同样,我是word2vec的新手,但根据我的理解, 我的两个文档集在结构上是相同的,因此相应单词的结果应该是相同的。 但为什么我会得到不同的结果? 算法总是提供probalistic输出或文档设置太小?
我使用的功能如下:
model = word2vec.Word2Vec(sentences, size=2, min_count=1, window=2)
答案 0 :(得分:0)
你获得不同向量的主要原因是word2vec中向量的随机初始化(还有其他原因,如负采样,线程可能导致向量值的差异)。
word2vec背后的哲学是,如果文件数量(训练数据)>>单词的数量(词汇量大小),单词的向量将在几次迭代后稳定。