2017-03-29 3 views
0

같은 word2vec에서 (컨텍스트) 묻어 (gensim 구현), I는 입력 벡터 syn0에있는 것을 알고, 출력 벡터 syn1에있는 syn1neg 제외 샘플링 경우.저장 출력 최종 모델 I이 gensim에 <code>word2vec</code> 구현 공부

은 내가 이런 식으로 입력 및 출력 묻어 사이의 유사성에 액세스 할 수 있습니다 알고

outv = KeyedVectors() 
outv.vocab = model.wv.vocab 
outv.index2word = model.wv.index2word 
outv.syn0 = model.syn1neg 
inout_similars = outv.most_similar(positive=[model['cousin']]) 

내 질문은, 최종 모델로 (syn1 또는 syn1neg 매트릭스에서) 출력 묻어을 저장하는 것이 가능합니다. 예를 들어 model.save() 일 때 출력 포함을 출력합니다 (정확히 word2vec.py의 코드에 액세스하고 수정할 수 있음). 이러한 출력 embedding을 분류 자의 입력으로 사용하려면이 항목이 필요합니다. 나는 이전에 무차별 대입 방식으로 해왔으므로 쉽게 출력 embedding을 액세스하고 싶습니다.

답변

1

KeyedVectors의 인스턴스로서 개체 outvsave_word2vec_format() 및 방법합니다 (gensim/utils.py 정의 SaveLoad 수퍼 클래스로부터 상속) 자체 save() 방법이있다. 각각은 나중에 다시 파이썬 코드로 다시로드 할 수있는 방식으로 저장합니다.

+1

고맙습니다. @gojomo 사실, 저는 방금 그 사실을 깨달았습니다. 사실, 나는 단순히'save()'또는'save_word2vec_format()'을'outv' 객체에 호출 할 수 있습니다. 이전에 KeyedVectors 클래스가 없으면 출력 행렬을 검색하는 것이 번거로운 작업이었습니다. 새로운 api는 많은 다른 유사한 문제를 다룹니다. 고마워요! –