私は word2vec の世界に不慣れで、word2vec の gensim の実装を使い始めたばかりです。
最初のドキュメント セットとして 2 つの単純な文を使用します。
[['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 を初めて使用しますが、私の理解によると、私の 2 つのドキュメント セットは構造的に同一であるため、対応する単語の結果は同じになるはずです。しかし、なぜ私は異なる結果を得ているのですか? アルゴリズムは常に確率論的な出力を提供しますか、それともドキュメント セットが小さすぎますか?
私が使用した関数は次のとおりです。
model = word2vec.Word2Vec(sentences, size=2, min_count=1, window=2)