找到与doc2vec相似的word2

2024-05-26 09:18:04 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法像我们在word2vec中那样找到类似的文档

比如:

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

我知道我们可以使用inferu向量,给他们提供类似的例子,但是我想提供很多正面和负面的例子,就像我们在word2vec中所做的那样。你知道吗

我们有办法做到吗!谢谢!你知道吗


Tags: 文档mostword2vec例子bestbadgoodnice
2条回答

不要相信有一个预先编写的函数。你知道吗

一种方法是编写一个函数,遍历肯定列表中的每个单词,以获得特定单词的前n个单词。你知道吗

因此,对于问题示例中的积极词,您将得到3个10个单词的列表。你知道吗

然后,你可以将3个列表中常见的单词识别为与肯定列表相似的前n个单词。因为不是所有的单词在3个列表中都是公共的,所以在迭代时可能需要得到前20个相似的单词,这样在示例中就可以得到前10个单词。你知道吗

然后对否定词也这样做。你知道吗

对于most_similar()调用,Doc2Vec模型的doc vectors部分的工作方式与word vectors类似。可以在positivenegative参数中提供多个doc标记或完整向量。你知道吗

所以你可以打电话。。。你知道吗

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

……而且应该管用。positivenegative列表的元素可以是训练过程中出现的doc标记,也可以是原始向量(如infer_vector()返回的向量,或者您自己对多个此类向量的平均值)。你知道吗

相关问题 更多 >