AttributeError: у объекта "Tree" нет атрибута "words". Ошибка Doc2Vec

Я пытаюсь обучить встраиванию слова Doc2Vec в предварительно обработанные абзацы. Я удалил пунктуацию и провел токенизацию, pos-тег и chunking.

import nltk
from nltk import word_tokenize, pos_tag, ne_chunk
from gensim.models.doc2vec import Doc2Vec

ne_tree = ne_chunk(pos_tag(word_tokenize(sent_pun)))

model = Doc2Vec(ne_tree)

Я получаю сообщение об ошибке "AttributeError: объект" Дерево "не имеет атрибута" слова "" при запуске модели Doc2Vec. Что нужно сделать, чтобы исправить это? Спасибо.

1 ответ

Gensim Doc2Vec нужен набор текстов, который вы предоставляете, чтобы быть повторяемой последовательностью объектов, каждый из которых имеет words свойство (список строковых токенов) и tags свойство (список имен тегов, обычно строковых токенов).

Пример класса TaggedDocument в gensim - пример подходящего вида объекта. Очевидно, что ne_chunk() не возвращается TaggedDocumentсовместимые объекты.

Вы должны пройтись по рабочим примерам в документации / учебниках gensim, чтобы получить представление о том, как все должно работать. Смотрите, например:

https://github.com/RaRe-Technologies/gensim/blob/develop/docs/notebooks/doc2vec-lee.ipynb

Другие вопросы по тегам