如何使用 doc2vec 查找两个字符串列表之间的相似性?

How to find similarity between two list of strings using doc2vec?

我有一个字符串列表,如下所示。我想使用 Doc2Vec 查看 list1 和 list2 之间的相似性。

list1 = [['i','love','machine','learning','its','awesome'],['i', 'love', 'coding', 'in', 'python'],['i', 'love', 'building', 'chatbots']]
list2 = ['i', 'love', 'chatbots']

如果您使用的是 gensim 库中的 Doc2Vec 实现,则有介绍性笔记本介绍了这一点。例如,参见 doc2vec-lee.ipynb 文件,它位于 gensim docs/notebooks 目录中(您可以在本地找到 运行 它),或者可以在线查看:

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

注意:

  • 您将需要一个基于更多数据训练的模型 - 理想情况下 tens-of-thousands 或更多文本,每个文本至少是一个句子

  • 如果您要比较的两个文本是您的训练集的一部分,您可以从模型

  • 中检索学习到的doc-vectors
  • 如果您要比较的两个文本不属于训练集,您可以使用模型为它们推断 doc-vectors,如该笔记本中所示