2016-08-31 20 views
0

를 사용하여 모델을 doc2vec 재교육하는 방법을, 나는 모델을 훈련하고 저장 한 다음 파일 : 그러나Gensim : Doc2Vec 모델링으로 이전 word2vec 모델

1. model 
2. model.docvecs.doctag_syn0.npy 
3. model.syn0.npy 
4. model.syn1.npy 
5. model.syn1neg.npy 

, 나는 문서에 레이블을 수있는 새로운 방법을 가지고 훈련 할 다시 모델. 이전 버전에서 이미 획득 한 단어 벡터가 있기 때문입니다. 해당 모델을 재사용 할 수있는 방법이 있습니까 (예 : 이전 w2v 결과를 교육의 초기 벡터로 사용)? 어떤 사람이 그것을하는 방법을 알고 있습니까?

답변

0

나는 모델을로드하고 계속 훈련 할 수 있다는 것을 알아 냈습니다.

model = Doc2Vec.load("old_model") 
model.train(sentences) 
+0

(1) 새'문장 '에 새 단어/태그가있는 경우 알 수 없음으로 건너 뜁니다. (2) 새로운 '문장'의 길이가 다른 경우 진행률 보고서 및 학습률 감소가 제대로 업데이트되지 않을 수 있습니다. (3) 모델에 유용한 값에 대한 약간의 '헤드 스타트 ​​(head start)'를 제공하고 초기 어휘 스캔을 건너 뛰지 만'train()'자체가 더 빨리 진행되지는 않습니다. – gojomo

+0

@gojomo, 그거 좋은 생각이야? – HappyCoding

+0

모든 예제를 혼합하여 교육하는 것이 가장 좋습니다. 코퍼스 크기 힌트와 같은 올바른 매개 변수로'train() '을 호출하면 이전에로드 된 모델로 시작할 수 있습니다. 또는 새로운 어휘/태그에 적응하려면 새로운 결합 된 코퍼스로'build_vocab()'을 수행 할 수 있지만 원본 모델에서 벡터를 수동으로 복사하여 모델에 '선두 시작'을 부여하십시오. – gojomo