Мне дали модель doc2vec с использованием gensim, которая была обучена на 20 миллионах документов. 20 миллионов документов, которые он обучил, также переданы мне, но я не знаю, как и в каком порядке документы были обучены из папки. Я должен использовать тестовые данные, чтобы найти 10 лучших совпадений из обучающей выборки. Код, который я использую, -
model = gensim.models.doc2vec.Doc2Vec.load("doc2vec_sample.model")
test_docs=["This is the test set I want to test on."]
def read_corpus(documents, tokens_only=False):
count=0
count=count+1
for line in documents:
if tokens_only:
yield gensim.utils.simple_preprocess(line)
else:
# For training data, add tags
yield gensim.models.doc2vec.TaggedDocument(gensim.utils.simple_preprocess(line), [count])
test_corpus = list(read_corpus(test_docs, tokens_only=True))
doc_id=0
inferred_vector = model.infer_vector(test_corpus[doc_id])
maxx=10
sims = model.docvecs.most_similar([inferred_vector], topn=maxx)
for match in sims:
print match
`На выходе я получаю -
(1913, 0.4589531719684601)
(3250, 0.4300411343574524)
(1741, 0.42669129371643066)
(1, 0.4023148715496063)
(1740, 0.3929900527000427)
(1509, 0.39229822158813477)
(3189, 0.387174129486084)
(3145, 0.3842133581638336)
(1707, 0.3813004493713379)
(3200, 0.3754497170448303)
Как мне узнать, к какому документу относится документ с идентификатором «1913»? Как я могу получить доступ к документам обученного набора данных из этих 10 идентификаторов вакансий?
documents[i]
, не так ли? - person cs95   schedule 20.11.2017