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 모듈 중 일부가 출력 포함을 가져올 수 있음을 알려주십시오.
코드가 멋지게 작동합니다! 답장을 보내 주셔서 대단히 감사드립니다. –