Gensim Doc2vec - KeyError: «тег не виден в учебном корпусе / недействителен» - PullRequest
0 голосов
/ 15 декабря 2018

Я использую Gensim's 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"

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

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

1 Ответ

0 голосов
/ 15 декабря 2018

Решено ...

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

model.docvecs.doctag_syn0 (скоро будет устаревшим)

или

model.docvecs.vectors_docs

...