nlp - gensim doc2vec "intersect_word2vec_format"命令

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

我很好奇命令“intersect_word2vec_format”。

我对这个命令的理解是,它让我可以将来自预训练 word2vec 模型的向量值注入(inject)我的 doc2vec 模型,然后使用预训练的 word2vec 值训练我的 doc2vec 模型,而不是从我的文档语料库生成词向量值。结果是我得到了一个更准确的 doc2vec 模型,因为我使用的是预训练的 w2v 值,与我相对较小的文档语料库相比,它是从更大的数据语料库生成的。

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

最佳答案

是的,intersect_word2vec_format() 可以让您将外部文件中的向量导入到已经初始化了自己的词汇表的模型中(就像通过 build_vocab() 一样) .也就是说,它只会加载那些在本地词汇表中已经有单词的向量。

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

但是,最好将此视为一项实验性功能,它可能提供的好处(如果有的话)将取决于您的设置的许多具体情况。

PV-DBOW Doc2Vec 模式,对应于dm=0 参数,在速度和doc-vector 质量上通常是表现最好的,并且不使用或训练word-vectors all——所以任何预加载的向量都不会产生任何影响。

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

关于nlp - gensim doc2vec "intersect_word2vec_format"命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46013294/

相关文章:

macos - 在OS X上构建OpenSSH:配置:警告:sandbox.h:存在,但无法编译

regex - Powershell foreach 路径找不到文件

macos - 安装 Unity 和 Android SDK for Mac 时,adb 在哪里?

android - 带数据绑定(bind)的 ConstraintLayout

php - cakephp 3 编辑用户用户名和密码 - 无法找到当前实体的表类

php - 什么是正确的 laravel 语法

html - 使 SVG 适合父容器宽度

curl - 使用 Curl for Dynamics Nav 验证 OData

date - 计算上次登录和当前日期之间的天数

scala - 在 Spark 中将连续变量转换为分类变量