Gensim: В чем разница между word2vec и doc2vec?

Я новичок и не являюсь носителем английского языка, поэтому у меня возникли проблемы с пониманием word2vec и doc2vec Gensim.

Я думаю, что оба дают мне несколько слов, наиболее похожих на слово запроса, которое я запрашиваю, most_similar() (после обучения).

Как узнать, в каком случае я должен использовать word2vec или doc2vec?

Кто-нибудь может объяснить разницу вкратце, пожалуйста?

Спасибо.


person user3595632    schedule 16.03.2017    source источник
comment
С точки зрения моделирования, это действительно ничем не отличается. За исключением дополнительной входной ячейки, которая содержит информацию об абзаце, документе и т. д., из которого была выбрана входная последовательность. Прочтите реальную статью, в которой это предлагается: cs.stanford.edu/~quocle/paragraph_vector.pdf   -  person user3639557    schedule 16.03.2017
comment
doc2vec фиксирует сходство между документами. wikimark — это мой проект, который пытается вычислить сходство документа с жизненно важными статьями в Википедии. Это еще один пример использования doc2vec (потому что в этом случае векторы doc2vec передаются в регрессию обучения scikit).   -  person amirouche    schedule 30.03.2018


Ответы (1)


В word2vec вы тренируетесь находить векторы слов, а затем запускаете запросы на сходство между словами. В doc2vec вы помечаете свой текст, а также получаете векторы тегов. Например, у вас есть разные документы от разных авторов, и вы используете авторов в качестве тегов в документах. Затем, после обучения doc2vec, вы можете использовать ту же векторную арифметику для выполнения запросов на сходство по тегам авторов: т. е. кто из авторов больше всего похож на AUTHOR_X? Если два автора вообще используют одни и те же слова, то их вектор будет ближе. AUTHOR_X - это не реальное слово, которое является частью вашего корпуса, а только то, что вы определяете. Поэтому вам не нужно иметь его или вручную вставлять в текст. Gensim позволяет вам обучать doc2vec с векторами слов или без них (т. е. если вас интересует только сходство тегов между собой).

Вот хорошая презентация об основах word2vec и о том, как они используют doc2vec инновационным способом для продукта. рекомендации (соответствующая запись в блоге).

Если вы расскажете мне о том, какую проблему вы пытаетесь решить, может быть, я смогу предложить, какой метод будет более подходящим.

person pembeci    schedule 16.03.2017
comment
для классификации текста, т. е. классификации настроений, имеет ли значение использование word2vec или Doc2Vec? В обоих случаях он будет вводным. - person user697911; 30.08.2017
comment
@ user697911 вы можете увидеть здесь технический документ Doc2Vec: cs.stanford.edu/~quocle/paragraph_vector. pdf В разделе «Эксперименты» рассказывается об анализе настроений. Поскольку вы классифицируете документы как положительные или отрицательные, Doc2Vec является предпочтительным подходом, поскольку он также векторизует документы, а не только слова. - person vasia; 05.02.2018
comment
@pembeci, что бы вы порекомендовали для классификации авторства? doc2vec или word2vec? Поддерживается ли он только для английского языка на предварительно обученных моделях gensim? - person Daniel Vilas-Boas; 25.03.2020
comment
@DanielVilas-Boas, doc2vec будет лучше, поскольку он будет объединять документы для конкретного автора и суммировать их в векторе. Для неизвестного документа вы можете напрямую проверить сходство между вектором этого документа и вектором автора или использовать векторы в качестве признаков для других алгоритмов ML. 2-й вопрос: нет, их можно тренировать на собственном корпусе. - person pembeci; 26.03.2020
comment
@pembeci спасибо за ваше предложение. Я уже использую doc2vec, но еще один вопрос, который пришел мне в голову, — количество функций, которые я хочу обучить. Я начал со случайного числа 10, но какие у вас есть предложения? Мой набор данных очень мал (70 документов для 11 авторов). - person Daniel Vilas-Boas; 27.03.2020