Word2Vec против Sentence2Vec против Doc2Vec

18

Недавно я натолкнулся на термины Word2Vec , Sentence2Vec и Doc2Vec, и я был немного сбит с толку, поскольку я новичок в векторной семантике. Может кто-нибудь, пожалуйста, изложите различия в этих методах простыми словами. Каковы наиболее подходящие задачи для каждого метода?

кузнец
источник

Ответы:

22

Ну, имена довольно просты и должны дать вам четкое представление о векторных представлениях.

Алгоритм Word2Vec создает распределенное семантическое представление слов. Существует два основных подхода к обучению: распределенный пакет слов и модель пропуска грамма. Один включает в себя прогнозирование слов контекста с использованием центрального слова, а другой - прогнозирование слова с использованием слов контекста. Вы можете прочитать об этом очень подробно в Mikolov в работе .

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

Doc2Vec расширяет идею SentenceToVec или, скорее, Word2Vec, потому что предложения также могут рассматриваться как документы. Идея обучения остается схожей. Вы можете прочитать Doc2Vec Mikolov в бумагу для более подробной информации.

Что касается приложений, это будет зависеть от задачи. Word2Vec эффективно фиксирует семантические отношения между словами, поэтому его можно использовать для вычисления сходства слов или подачи в качестве функций для различных задач НЛП, таких как анализ настроений и т. Д. Однако слова могут захватывать только так много, бывают ситуации, когда вам нужны отношения между предложениями и документами и не просто слова. Например, если вы пытаетесь выяснить, являются ли два вопроса переполнения стека дублирующими друг друга.

Простой поиск в Google приведет вас к ряду приложений этих алгоритмов.

Химаншу Рай
источник
В чем разница между усреднением векторов слов и использованием doc2vec? Учитывает ли doc2vec окружение слова в предложении при построении вектора (в то время как word2vec этого не делает)?
Джон Струд
1
Doc2Vec запоминает произвольно инициализированный вектор для документа вместе со словами (документ может быть предложением). Усреднение векторов слов вручную не дает такой же производительности, потому что не удается извлечь из всего документа. В последнее время векторы Paragram были чрезвычайно полезны при работе со сходством документов и т. Д.
Himanshu Rai