我有一个非常有趣的问题,在过去的几天里,我一直在努力解决,但没有运气。我有120k个项目的描述,我必须与38k个项目进行比较,并确定它们之间的相似程度。最终,我想看看在基于相似性的120k内是否存在38k中的任何一个。我在excel中找到了很好的相似性脚本,我把我的数据组织成乘法表,这样我就可以比较从120k到38k的每个描述。请看下面的图片。所以函数是有效的,但是计算量是不可能在excel中运行的。如果我把它一分为二( 120k X 16k),我们谈论的是超过20亿的计算。该功能是比较从A2到B1的描述,然后比较A2到C1的描述,依此类推,直到16k。然后它从A3中进行描述,并做同样的事情,这样做了120k次。
如果把它放在功能强大的服务器上,有没有人知道SQL、R或Python中的脚本可以做到这一点?
发布于 2018-03-14 20:59:54
您正在寻找aproximate string matching。微软为Excel开发了一个免费的add-on,用于创建所谓的模糊匹配。它使用Jaccard index算法来确定两个给定值的相似度。
FuzzyLookup.Similarity
,这将给出值之间的相似性分数,每个可比字符串显示的最大匹配数;https://stackoverflow.com/questions/49276547
复制相似问题