R包'word2vec'doc2vec函数

问题描述

我是一名学生(计算机科学)。这是我在stackoverflow中的第一个问题。我真的很感谢您的帮助! (我指的是一个名为“ word2vec”的软件包,这就是为什么标签/标题有点让人难以选择的原因。)

doc2vec函数(此处为https://cran.r-project.org/web/packages/word2vec/word2vec.pdf)的描述中,它表示:

文档向量是单词向量的总和,单词向量是通过向量空间的大小标准化的文档的一部分。该标度是向量的平均内积的平方根 元素。

据我了解,doc2vec为每个段落增加一个附加向量。在我看来,这似乎与上面的描述有所不同。

我对doc2vec的理解是否正确或足够接近? 并且:引用的实现是否像doc2vec-algorithm一样工作?

解决方法

许多人使用“ Doc2Vec”来指代名为Distributed Representation of Sentences and Documents的论文(由Le&Mikolov撰写)引入的类似于word2vec的算法。该论文将算法称为“段落向量”,而不使用名称“ Doc2Vec”,并且确实为每个文档引入了一个额外的向量,就像您描述的那样。 (也就是说,文档向量的训练有点像“浮动”伪单词向量,对于该文档中的每次训练预测,该向量都有助于输入“上下文”。)

我对R或R word2vec包不熟悉,但是从您转发的文档来看,它听起来听起来像doc2vec函数实现了“段落”其他人称为“ Doc2Vec”的“矢量”算法。特别是:

  • “段落向量”文档向量不是简单的单词向量和

  • “段落向量”文档向量由单独的类似于word2vec的训练过程创建,该训练过程与该训练同时共同创建任何必要的词向量。具体来说:该过程通常不会将其他一些预先训练的单词向量用作输入,也不会创建单词向量作为第一步。 (此外,“ Paragraph Vector”文件的PV-DBOW选项根本不会创建传统的字向量。)

函数名称似乎不正确,如果您需要使用实际的“段落矢量”算法,则需要在其他地方查找。