gensim doc2vec"intersect_word2vec_format"命令

pet*_*ude 1 nlp gensim doc2vec

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

我很好奇命令"intersect_word2vec_format".

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

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

goj*_*omo 8

是的,这intersect_word2vec_format()将允许您将外部文件中的向量带入已初始化其自己的词汇表的模型中(如同build_vocab()).也就是说,它只会加载那些本地词汇中已有单词的向量.

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

但是,这最好被认为是一种实验性功能,它可能带来的好处(如果有的话)将取决于您设置的许多具体内容.

对应于dm=0参数的PV-DBOW Doc2Vec模式通常是速度和doc矢量质量的最佳表现者,并且根本不使用或训练单词向量 - 因此任何向量的预加载都不会有任何影响.

PV-DM模式由默认dm=1设置启用,可以训练任何需要与doc-vector训练同时进行的单词向量.(也就是说,没有单独的阶段,首先创建字向量,因此对于相同的iter传递,无论字向量是以默认随机值开始,还是从其他地方预加载,PV-DM训练需要相同的时间量.)使用来自其他地方的一些单词载体预先播种模型可能有助于或损害最终质量 - 它可能取决于您的语料库,元参数和目标的具体情况,以及这些外部向量是否同步表示单词含义与当前的语料库/目标.