this paper (Improving document ranking with dual word embeddings)などのword2vecの出力埋め込みを使用したいと思います。gensim word2vecで出力埋め込み(出力ベクトル)にアクセスするにはどうすればよいですか?
私は入力ベクトルがsyn0にあり、出力ベクトルはsyn1にあり、陰性サンプリングの場合はsyn1negであることがわかります。
しかし、出力ベクトルでmost_similarを計算したとき、syn1またはsyn1negを削除したためにいくつかの範囲で同じ結果が得られました。
これは私が得たものです。
IN[1]: model = Word2Vec.load('test_model.model')
IN[2]: model.most_similar([model.syn1neg[0]])
OUT[2]: [('of', -0.04402521997690201),
('has', -0.16387106478214264),
('in', -0.16650712490081787),
('is', -0.18117375671863556),
('by', -0.2527652978897095),
('was', -0.254993200302124),
('from', -0.2659570872783661),
('the', -0.26878535747528076),
('on', -0.27521973848342896),
('his', -0.2930959463119507)]
しかし、別のsyn1neg numpyベクトルはすでに同様の出力です。
IN[3]: model.most_similar([model.syn1neg[50]])
OUT[3]: [('of', -0.07884830236434937),
('has', -0.16942456364631653),
('the', -0.1771494299173355),
('his', -0.2043554037809372),
('is', -0.23265135288238525),
('in', -0.24725285172462463),
('by', -0.27772971987724304),
('was', -0.2979024648666382),
('time', -0.3547973036766052),
('he', -0.36455872654914856)]
トレーニング中に保存された出力numpy配列(否定または否定)を取得したいと考えています。
純粋なsyn1またはsyn1neg、またはコードにアクセスするにはどうすればよいですか、またはいくつかのword2vecモジュールで出力の埋め込みを取得できます。
コードはすばらしく機能します! 私に答えをくれてありがとうございます。 –