【问题标题】:Find similarity with doc2vec like word2vec查找与 doc2vec 的相似性,如 word2vec
【发布时间】:2018-12-07 09:07:31
【问题描述】:

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

喜欢:

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

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

有什么办法可以做到!谢谢!

【问题讨论】:

    标签: python nlp gensim word2vec doc2vec


    【解决方案1】:

    对于most_similar() 调用,Doc2Vec 模型的 doc-vectors 部分与词向量一样工作。您可以在positivenegative 参数中提供多个文档标签或完整向量。

    所以你可以打电话...

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

    ...它应该可以工作。 positivenegative 列表的元素可以是训练期间出现的 doc-tags,也可以是原始向量(如 infer_vector() 返回的那些,或您自己的多个此类向量的平均值)。

    【讨论】:

      【解决方案2】:

      不要相信有一个预先写好的函数。

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

      因此,对于问题示例中的肯定词,您最终会得到 3 个 10 个词的列表。

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

      然后对否定词做同样的事情。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-26
      • 1970-01-01
      相关资源
      最近更新 更多