python – 计算两个字符串之间距离的算法
发布时间:2020-12-16 22:52:14 所属栏目:Python 来源:网络整理
导读:是否有任何字符串距离算法没有考虑到单词的顺序? 以下算法未提供所需结果(在该示例中,所需结果应为1): import jarojaro.jaro_winkler_metric(u'Michael Jordan',u'Jordan Michael')0.47import LevenshteinLevenshtein.ratio('Michael Jordan','Jordan Mich
是否有任何字符串距离算法没有考虑到单词的顺序? 以下算法未提供所需结果(在该示例中,所需结果应为1):
制作它的一种方法是按字母顺序排列字符串,然后使用上述算法:
但是这里姓名和姓氏的信息丢失了,不会有“稳定”的结果. 我使用itertools的排列创建了一个函数,它接受所有可能的单词编译并比较字符串并输出最大值.结果令人满意,但是当我必须比较数百万个名字时,整个程序真的很慢. 可以做的其他事情是对单词进行排序,例如:
似乎很好的方式和简单的方法来减少计算,但我们放松了一些敏感的情况.例:
这两个名字是相同的,有些人将’他们的名字’从’b’翻译成’mp'(我就是其中之一).用这种方式我们就失去了这个’匹配’. 是否有任何字符串距离算法比较单词而不考虑单词的顺序?或者是否有建议如何有效地实现所需的功能? 最佳答案
试试fuzzywuzzy
安装:
使用顺序无关紧要:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |