我有一个非常有趣的问题,过去几天我一直试图解决这个问题而没有运气。我有120k的项目描述,我必须与38k项目进行比较,并确定两者之间的相似程度。最后,我想看看基于相似性,在120k内是否存在38k中的任何一个。 我在excel中找到了很好的相似性脚本,我将数据组织为乘法表,因此我可以将每个描述从120k与38k中的每个描述进行比较。见下图。因此,该功能可行,但是在excel中无法运行计算量。如果我把这个分成两半(120k X 16k),我们正在谈论超过20亿的计算。该功能是将描述从A2到B1,然后从A2到C1等进行比较,直到结束为16k。然后它从A3进行描述并做同样的和120k次。
如果把它放在功能强大的服务器上,有没有人知道SQL或R或Python中的Script可以做到这一点?
答案 0 :(得分:1)
您正在寻找aproximate string matching。 Excel提供免费的add-on,由Microsoft开发,用于创建所谓的模糊匹配。它使用Jaccard index算法来确定两个给定值的相似性。
FuzzyLookup.Similarity
,这将给出值0-1之间的相似性得分;