如何合并由doc2vec的PV-DM和PV-DBOW方法生成的向量?

时间:2019-08-06 10:05:48

标签: python nlp gensim doc2vec sentence-similarity

我大约有2万个文档,含60-150个字。在这20K文档中,有400个已知相似文档的文档。这400个文档用作我的测试数据。

我正在尝试使用gensim doc2vec为这400个数据集找到相似的文档。论文“句子和文档的分布式表示”表示:“ PV-DM和PV-DBOW的组合通常效果更好(在IMDB中为7.42%),因此建议使用。”

因此,我想结合这两种方法的向量,并找到与所有训练文档的余弦相似度,并选择余弦距离最小的前5个。

那么结合这两种方法的向量的有效方法是什么:加法或平均法或任何其他方法?

结合这两个向量后,我可以对每个向量进行归一化,然后找到余弦距离。

1 个答案:

答案 0 :(得分:1)

该论文暗示他们已经将这两种方法的向量串联在一起。例如,给定一个300d PV-DBOW矢量和一个300d PV-DM矢量,串联后您的文本将得到600d矢量。

但是,请注意,他们在IMDB上获得的底线结果很难被外界复制。我的测试有时仅显示出这些串联向量的小优势。 (我特别想知道,通过单独的级联模型进行300d PV-DBOW + 300d PV-DM的效果是否会比在相同的时间内以更少的步骤/复杂度训练任意一个真实的600d模型更好。)

您可以在gensim的{​​{1}}目录中的其中一个示例笔记本中查看我对重复的“段落矢量”论文进行一些实验的演示:

https://github.com/RaRe-Technologies/gensim/blob/develop/docs/notebooks/doc2vec-IMDB.ipynb

除其他事项外,它包括一些步骤和有用的方法,可以将成对的模型视为串联整体。