据我所知,典型的Doc2Vec实现(例如Gensim)首先训练单词向量,然后文档向量是固定的。
如果我的目标是概念上相似的向量(不管它们代表文档还是文字)彼此接近,那么同时训练它们是否更好呢?
例如,关于哥斯拉的文件应该与“哥斯拉”一词(以及关于哥斯拉的其他文件)以及“日本”一词相似。
此外,当将单个单词作为文件纳入培训数据时,这种结果能否通过典型的执行来实现?
发布于 2018-02-28 13:57:00
您需要小心您对doc2vec实现所做的假设。以下是一些有用的概念:
Word2vec有两个不同的模型实现(Skip-gram和连续字包),Doc2vec有类似的PV和CBOW模型:
在跳转图中,输入是由大小为n的移动窗口生成的一对单词,在数据中我们使用一个词来预测另一个字,而在CBOW中,任务是从周围的单词中预测一个中心词。在第二种情况下,上下文词向量通常是平均的。
Doc2vec扩展类似地工作。DBOW模型类似于跳过图,它所做的是计算从该段中随机选取的单词在段落中出现的概率。然而,DM试图根据单词的上下文和上下文段落来预测中心单词。
如您所见,doc2vec模型不一定需要首先计算word嵌入。实际上,在gensim doc2vec函数中有一个参数用于dbow模型,该参数如下:
Dbow_words (int {1,0}) -如果设置为1,则与DBOW文档向量训练同时训练字向量(以跳格形式);如果为0,则只训练文档向量(更快)。
这意味着在训练阶段,即使是弓箭也不需要产生单词向量。
有一个伟大的记事本来自罕见的技术,提供了许多关于这些模型是如何培训的洞察力。
关于你的具体问题,你可以训练一个word2vec和doc2vec模型,并使用结果来比较单词和段落(看看这个纸)。但是,考虑到doc2vec不是在训练单词,而是用它们做一些花哨的事情。培训过程包括直接计算段落。
https://datascience.stackexchange.com/questions/27618
复制相似问题