Nlp gensim doc2vec“;intersect_word2vec_format";命令

Nlp gensim doc2vec“;intersect_word2vec_format";命令,nlp,gensim,doc2vec,Nlp,Gensim,Doc2vec,只需阅读gensim页面上的doc2vec命令 我对命令“intersect\u word2vec\u format”很好奇 我对该命令的理解是,它允许我将预训练word2vec模型中的向量值注入doc2vec模型,然后使用预训练word2vec值训练doc2vec模型,而不是从文档语料库中生成单词向量值。结果是我得到了一个更精确的doc2vec模型,因为我使用了预训练的w2v值,它是从一个比我相对较小的文档语料库大得多的数据语料库中生成的 我对这个命令的理解是正确的还是不正确?;-) 是的,i

只需阅读gensim页面上的doc2vec命令

我对命令“intersect\u word2vec\u format”很好奇

我对该命令的理解是,它允许我将预训练word2vec模型中的向量值注入doc2vec模型,然后使用预训练word2vec值训练doc2vec模型,而不是从文档语料库中生成单词向量值。结果是我得到了一个更精确的doc2vec模型,因为我使用了预训练的w2v值,它是从一个比我相对较小的文档语料库大得多的数据语料库中生成的


我对这个命令的理解是正确的还是不正确?;-)

是的,
intersect\u word2vec\u format()
将允许您将外部文件中的向量引入已经初始化了自己词汇表的模型中(就像通过
build\u vocab()
)。也就是说,它将只加载那些在本地词汇表中已经有单词的向量

此外,默认情况下,它将锁定那些加载的向量,以防在后续训练期间进行任何进一步调整,尽管预先存在的词汇表中的其他单词可能会继续更新。(您可以通过提供
lockf=1.0
值而不是默认值0.0来更改此行为。)

然而,这最好被认为是一个实验性的功能,它可能提供什么好处取决于许多特定于您的设置的东西

PV-DBOW Doc2Vec模式对应于
dm=0
参数,通常在速度和文档向量质量方面表现最佳,并且根本不使用或训练字向量–因此向量的任何预加载都不会产生任何效果


PV-DM模式由默认的
DM=1
设置启用,用于在文档向量训练的同时训练所需的任何单词向量。(也就是说,没有单独的阶段首先创建单词向量,因此对于相同的
iter
过程,无论单词向量是从默认随机值开始的,还是从其他地方预加载的,PV-DM训练都需要相同的时间。)使用其他地方的一些词向量预植入模型可能有助于或损害最终质量——这可能取决于语料库、元参数和目标的具体情况,以及这些外部向量是否代表与当前语料库/目标同步的词的含义。

非常感谢您的详细回答。它为我澄清了很多事情。我现在可以开始使用PV-DM来训练我的第一个d2v模型:):“它将只加载那些在本地词汇表中已经有单词的向量”。你说的“本地词汇”是什么意思?因此,如果我执行
model2.intersect\u word2vec\u格式(路径到\u model1)
,那么只有那些
model1
中的向量才会被加载,因为
model2
的词汇表中已经有这些向量的词了?非常感谢。是的,
intersect\u word2vec\u format()
不会向
model2
词汇表中添加任何单词。它将仅替换已存在单词的现有向量值。