首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同时训练Doc2Vec和Word2Vec

同时训练Doc2Vec和Word2Vec
EN

Data Science用户
提问于 2018-02-08 17:19:58
回答 1查看 3K关注 0票数 3

据我所知,典型的Doc2Vec实现(例如Gensim)首先训练单词向量,然后文档向量是固定的。

如果我的目标是概念上相似的向量(不管它们代表文档还是文字)彼此接近,那么同时训练它们是否更好呢?

例如,关于哥斯拉的文件应该与“哥斯拉”一词(以及关于哥斯拉的其他文件)以及“日本”一词相似。

此外,当将单个单词作为文件纳入培训数据时,这种结果能否通过典型的执行来实现?

EN

回答 1

Data Science用户

发布于 2018-02-28 13:57:00

您需要小心您对doc2vec实现所做的假设。以下是一些有用的概念:

Word2vec有两个不同的模型实现(Skip-gram和连续字包),Doc2vec有类似的PV和CBOW模型:

  1. Word2vec
    1. 连续字袋(CBOW)
    2. 跳克

  2. Doc2vec (段落向量)
    1. 分布式存储器(PV-DM)
    2. 分布式字袋(PV-DBOW)

在跳转图中,输入是由大小为n的移动窗口生成的一对单词,在数据中我们使用一个词来预测另一个字,而在CBOW中,任务是从周围的单词中预测一个中心词。在第二种情况下,上下文词向量通常是平均的。

Doc2vec扩展类似地工作。DBOW模型类似于跳过图,它所做的是计算从该段中随机选取的单词在段落中出现的概率。然而,DM试图根据单词的上下文和上下文段落来预测中心单词。

如您所见,doc2vec模型不一定需要首先计算word嵌入。实际上,在gensim doc2vec函数中有一个参数用于dbow模型,该参数如下:

Dbow_words (int {1,0}) -如果设置为1,则与DBOW文档向量训练同时训练字向量(以跳格形式);如果为0,则只训练文档向量(更快)。

这意味着在训练阶段,即使是弓箭也不需要产生单词向量。

有一个伟大的记事本来自罕见的技术,提供了许多关于这些模型是如何培训的洞察力。

关于你的具体问题,你可以训练一个word2vec和doc2vec模型,并使用结果来比较单词和段落(看看这个)。但是,考虑到doc2vec不是在训练单词,而是用它们做一些花哨的事情。培训过程包括直接计算段落。

票数 8
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/27618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档