기존의 gensim Doc2Vec 모델을 가지고 있으며, 교육 세트 및 확장 모델에 대한 반복적 인 업데이트를 시도하고 있습니다.gensim Doc2Vec 모델의 교육 문서 업데이트
나는 정상으로 preproecssing 새로운 문서를 가지고 가고, 수행
stoplist = nltk.corpus.stopwords.words('english')
train_corpus= []
for i, document in enumerate(corpus_update['body'].values.tolist()):
train_corpus.append(gensim.models.doc2vec.TaggedDocument([word for word in gensim.utils.simple_preprocess(document) if word not in stoplist], [i]))
난 다음, 원래 모델을로드 어휘를 업데이트하고 재교육 :
#### Original model
## model = gensim.models.doc2vec.Doc2Vec(dm=0, size=300, hs=1, min_count=10, dbow_words= 1, negative=5, workers=cores)
model = Doc2Vec.load('pvdbow_model_6_06_12_17.doc2vec')
model.build_vocab(train_corpus, update=True)
model.train(train_corpus, total_examples=model.corpus_count, epochs=model.iter)
그때 훈련 세트를 업데이트 Pandas 데이터 프레임에 새 데이터를 추가하고 인덱스를 재설정합니다. 그러나
corpus = corpus.append(corpus_update)
corpus = corpus.reset_index(drop=True)
, 나는 업데이트 모델 infer_vector()를 사용하려고 :
inferred_vector = model1.infer_vector(tokens)
sims = model.docvecs.most_similar([inferred_vector], topn=len(model.docvecs))
결과 품질이 제안, 가난한입니다 모델없이 훈련 세트 dataframe에서 인덱스 더 긴 일치.
수정되지 않은 교육 세트 데이터 프레임과 비교하면 (다시 업데이트 된 모델을 사용하여) 결과는 괜찮지 만 분명히 새로운 문서가 누락되었습니다.
모델을 완전히 재 훈련하지 않고도 모델을 자주 업데이트하고 싶다면 두 가지 모두 업데이트해야합니까?