Gensim Doc2vec - KeyError: тег не отображается в обучающем корпусе / недействителен

Я использую Gensim Doc2vec для изучения функций из новостных статей. Я могу успешно обучать свои документы. Однако мне сложно извлечь векторы документа из модели для дальнейшей обработки.

Пример кода (непосредственно из документации gensim):

from gensim.models.doc2vec import Doc2Vec, TaggedDocument
from gensim.test.utils import common_texts

documents = [TaggedDocument((doc), [i]) for i, doc in enumerate(common_texts)]
model = Doc2Vec(documents, vector_size=5, window=2, min_count=1, workers=4)

Это правильно тренирует без ошибок.

Если я попробую использовать model.docvecs напрямую или перебираю его так:

for vector in model.docvecs:
    print(vector)

Я получаю такую ​​ошибку:

KeyError: "tag '9' not seen in training corpus/invalid"

В чем причина этого и как это исправить?

Заранее спасибо!


person petezurich    schedule 15.12.2018    source источник


Ответы (1)


Решил ...

Мне нужно использовать

model.docvecs.doctag_syn0 (скоро будет прекращено)

or

model.docvecs.vectors_docs

person petezurich    schedule 15.12.2018