gensim doc2vec "intersect_word2vec_format" 命令
gensim doc2vec "intersect_word2vec_format" command
只是阅读 gensim 页面上的 doc2vec 命令。
我很好奇这个命令"intersect_word2vec_format"。
我对这个命令的理解是,它让我可以将来自预训练的 word2vec 模型的向量值注入我的 doc2vec 模型,然后使用预训练的 word2vec 值训练我的 doc2vec 模型,而不是从我的文档语料库生成词向量值。结果是我得到了一个更准确的 doc2vec 模型,因为我使用的是预训练的 w2v 值,与我相对较小的文档语料库相比,它是从更大的数据语料库生成的。
我对这个命令的理解是正确的还是不太接近? ;-)
是的,intersect_word2vec_format()
可以让您将外部文件中的向量导入到已经初始化了自己的词汇表的模型中(就像 build_vocab()
一样)。也就是说,它只会加载那些在本地词汇表中已经有单词的向量。
此外,默认情况下,它会 锁定 那些加载的向量,以防止在后续训练期间进行任何进一步的调整,尽管预先存在的词汇表中的其他词可能会继续更新。 (您可以通过提供 lockf=1.0
值而不是默认值 0.0 来更改此行为。)
但是,最好将此视为一项实验性功能,它可能提供的好处(如果有的话)将取决于您的设置的许多具体情况。
PV-DBOW Doc2Vec 模式,对应于 dm=0
参数,通常在速度和文档向量质量方面表现最好,并且根本不使用或训练词向量——所以矢量的任何预加载都不会产生任何影响。
默认 dm=1
设置启用的 PV-DM 模式在文档向量训练的同时训练它需要的任何词向量。 (也就是说,没有首先创建词向量的单独阶段,因此对于相同的 iter
遍,PV-DM 训练花费相同的时间量,无论词向量以默认随机值开始,还是从其他地方预加载。)用其他地方的一些词向量预播模型可能会帮助或损害最终质量——这可能取决于你的语料库、元参数和目标的具体情况,以及这些外部向量是否代表词义与当前 corpus/goal.
同步
只是阅读 gensim 页面上的 doc2vec 命令。
我很好奇这个命令"intersect_word2vec_format"。
我对这个命令的理解是,它让我可以将来自预训练的 word2vec 模型的向量值注入我的 doc2vec 模型,然后使用预训练的 word2vec 值训练我的 doc2vec 模型,而不是从我的文档语料库生成词向量值。结果是我得到了一个更准确的 doc2vec 模型,因为我使用的是预训练的 w2v 值,与我相对较小的文档语料库相比,它是从更大的数据语料库生成的。
我对这个命令的理解是正确的还是不太接近? ;-)
是的,intersect_word2vec_format()
可以让您将外部文件中的向量导入到已经初始化了自己的词汇表的模型中(就像 build_vocab()
一样)。也就是说,它只会加载那些在本地词汇表中已经有单词的向量。
此外,默认情况下,它会 锁定 那些加载的向量,以防止在后续训练期间进行任何进一步的调整,尽管预先存在的词汇表中的其他词可能会继续更新。 (您可以通过提供 lockf=1.0
值而不是默认值 0.0 来更改此行为。)
但是,最好将此视为一项实验性功能,它可能提供的好处(如果有的话)将取决于您的设置的许多具体情况。
PV-DBOW Doc2Vec 模式,对应于 dm=0
参数,通常在速度和文档向量质量方面表现最好,并且根本不使用或训练词向量——所以矢量的任何预加载都不会产生任何影响。
默认 dm=1
设置启用的 PV-DM 模式在文档向量训练的同时训练它需要的任何词向量。 (也就是说,没有首先创建词向量的单独阶段,因此对于相同的 iter
遍,PV-DM 训练花费相同的时间量,无论词向量以默认随机值开始,还是从其他地方预加载。)用其他地方的一些词向量预播模型可能会帮助或损害最终质量——这可能取决于你的语料库、元参数和目标的具体情况,以及这些外部向量是否代表词义与当前 corpus/goal.