【问题标题】:How to measure the similarity of two documents , given the similarity of each pair of words?给定每对单词的相似度,如何衡量两个文档的相似度?
【发布时间】:2018-08-30 06:48:39
【问题描述】:

我有两个文件,例如:

Doc1 = {'python','numpy','machine learning'}
Doc2 = {'python','pandas','tensorflow','svm','regression','R'}

而且我还知道每对单词的similarity(相关性),例如

Sim('python','python') = 1
Sim('python','pandas') = 0.8
Sim('numpy', 'R') = 0.1

衡量两个文档相似度的最佳方法是什么?

在这种情况下,传统的Jaccard distancecosine distance 似乎不是一个好的指标。

【问题讨论】:

  • 您的文档的数据类型是什么?字符串还是列表?
  • @AkshayNevrekar 您可以将文档视为问题中提到的一组字符串,在我的情况下重复并不重要
  • 这太宽泛了。对于这种类型的问题,您可能想尝试cs.stackexchange.com,这并不是真正的 Python 问题。
  • @kabanus thx 提醒,我会将我的问题重新发布到 stackexchange
  • @Ken.W 没问题。复制后不要忘记在此处删除它,以免创建跨站点副本。

标签: python-3.x nlp similarity


【解决方案1】:

在这个问题上我喜欢a book by Peter Christen

在这里,他描述了两组字符串之间的 Monge-Elkan 相似性度量。 对于第一组中的每个单词,您可以从第二组中找到最接近的单词,然后将其除以第一组中的元素数。 你可以看到它的描述on page 30 here

【讨论】:

    猜你喜欢
    • 2015-03-25
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    • 2020-07-30
    • 1970-01-01
    相关资源
    最近更新 更多