【发布时间】:2018-08-09 05:07:36
【问题描述】:
我想计算两个不同长度的列表之间的相似度。尤其是相似度要考虑不同的条件:
-给定2个列表A和B,如果A=B则相似度(A,B)=1
-一般来说,如果B包含A,那么相似度(A,B)->1。但是,相似度的衡量也应该考虑到两个列表的元素数量。 (例如,如果 A 包含 1000 个对象,而 B 只包含一个,它也包含在 A 中,则相似度(A,B)->0)。
-Similarity(A,B) 还定义了一个阈值 T。相似度大于 T 的值表明两个列表相似。
余弦相似度可能与这个问题有关,但我不知道如何处理子集和阈值。
我也发现了不同的方法,但是没有指定阈值参数:
【问题讨论】:
-
想要的相似度函数一点都不清楚。有数百万个函数可以满足您的少数要求,但对于相同的输入会给出非常不同的结果。你必须更加精确。
-
感谢您非常有趣的回答。如您所见,其他用户设法确定了与该问题相关的一些措施。也许通过阅读文章,您将能够更好地理解需求。
-
要求应该列在问题本身中,而不是在链接的文章中。
标签: algorithm similarity information-retrieval cosine-similarity