查找与doc2vec类似的word2vec的相似性



有没有一种方法可以像我们在word2vec 中那样找到类似的文档

类似:

model2.most_similar(positive=['good','nice','best'],
negative=['bad','poor'],
topn=10)

我知道我们可以使用interfer_vector,给它们提供类似的例子,但我想像在word2vec中那样提供许多正面和负面的例子。

我们有办法做到这一点吗!谢谢

对于most_similar()调用,Doc2Vec模型的文档向量部分的工作原理与单词向量类似。您可以在positivenegative参数中提供多个文档标记或完整矢量。

所以你可以打电话。。。

sims = d2v_model.docvecs.most_similar(positive=['doc001', 'doc009'], negative=['doc102'])

它应该起作用。positivenegative列表的元素可以是训练期间出现的文档标签,也可以是原始向量(如infer_vector()返回的向量,或您自己对多个此类向量的平均值(。

不要相信有预先编写的函数。

一种方法是编写一个函数,迭代肯定列表中的每个单词,以获得特定单词的前n个单词。

因此,在你的问题示例中,对于积极的单词,你会得到3个10个单词的列表。

然后,你可以将3个列表中常见的单词识别为与你的积极列表相似的前n个单词。由于并非所有单词都是3个列表中常见的,因此在迭代时可能需要获得前20个相似的单词,以便在示例中获得所需的前10个单词。

然后对否定词也这样做。

最新更新