2017-12-20 10 views
0

gensim python 라이브러리에서 Doc2Vec 모델을 사용하고 있습니다.gensim doc2vec 결정되지 않은 결과 표시

동일한 문장 데이터로 모델을 공급하고 매개 변수 : Doc2Vec의 시드를 고정 된 숫자로 설정할 때마다 모델은 모델을 만든 후에 다른 벡터를 제공합니다.

테스트 목적으로, 나는 변경되지 않은 입력 데이터를 줄 때마다 결정된 결과가 필요합니다. 나는 많은 것을 검색했고 gensim의 결과를 변경하지 않는 방법을 찾지 못했다.

내가 사용하는 방식에 이상이 있습니까? 미리 회신 해 주셔서 감사합니다.

from gensim.models.doc2vec import Doc2Vec 
model = Doc2Vec(sentences, dm=1, dm_concat=1, size=100, window=5, hs=0, min_count=10, seed=64) 
result = model.docvecs 
+0

관련 코드를 추가하십시오. –

+1

@Konafets 나는 그것을 추가했다. – cramer

답변

1

Doc2Vec 알고리즘은 초기화와 교육 모두에서 임의성을 사용합니다 및 mutliple 스레드에 걸쳐 배치가 반드시 훈련되지 않기 때문에 효율적인 멀티 스레드 훈련이 더 임의성을 소개 : 여기

내 코드입니다 run-to-run에서 같은 순서로 실행합니다.

모델의 교육 수준이 높으면 런 - 투 - 런 결과의 지터가 커야하며 다운 스트림 평가의 품질이 크게 달라지지 않아야합니다. 결과의 질이 매우 다양하다면 알고리즘이나 데이터 적용에 다른 문제가있을 수 있습니다.

별도로 : 기본값이 아닌 dm_concat=1 모드를 사용하고 싶지는 않을 것입니다. 그것은 훨씬 더 크고 훨씬 느린 열차 모델이되고 그 여분의 비용에 가치가 있다는 대중의 명확한 예는 없습니다. (나는 더 간단한 모드와 많은 양의 데이터 및 시간으로 강력한 기준 결과를 얻은 경우에만 시도해 볼 것입니다.)

+0

답장을 보내 주셔서 감사합니다. :) – cramer