Как doc2vec создает вектор для предложения - PullRequest
0 голосов
/ 31 октября 2018

Я работаю над Doc2vec для классификации текста. Он создает вектор для предложения с заданным размером (например, 100, длина вектора). Я не могу понять, как он создает вектор такой длины.

Я следую по этой ссылке . здесь они создают вектор для предложения, которое будет сохранено в модели doc2v, я не могу использовать эту модель для новых данных (производственных данных) для тестирования, поскольку для нового предложения нет вектора. Ошибка при отображении новых данных

KeyError: "тег 'Test_2028' не виден в учебном корпусе / недействителен"

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Если вы создали модель gensim Doc2Vec со своими данными обучения, она будет знать только обученные векторы для тегов документов, которые присутствовали в данных обучения.

Однако есть также метод infer_vector(), который может вывести совместимый вектор документа для нового текста. Новый текст должен маркироваться так же, как данные обучения, и передаваться в виде списка строк-токенов в infer_vector().

0 голосов
/ 31 октября 2018

Концепция Doc2Vec :

Цель doc2vec - создать числовое представление документа независимо от его длины. Но в отличие от слов документы не имеют логической структуры, такой как слова, поэтому необходимо найти другой метод.

Концепция, которую использовали Миколов и Ле, была простой, но умной: они использовали модель word2vec и добавили еще один вектор, paragraph_ID, который уникален для документа. Теперь, вместо того чтобы использовать только слова для предсказания следующего слова, мы также добавили еще один вектор признаков.

Таким образом, при обучении векторов слова W вектор документа paragraph_ID также обучается, и в конце обучения он содержит числовое представление документа.

Подробнее об этом можно прочитать здесь

...