问题描述
我正在运行一个模糊模糊算法,以比较两组大型字符串。
这些字符串是来自两个不同数据源的公司名称,我发现它是唯一的,因为有许多看起来很直观但没有被发现的匹配项。
对于90分以上的比赛,我获得了很多不错的比赛,但是在较低的阈值下有很多遗漏的数据。但是,将阈值设置得太低会带来很多垃圾。例如:
FuzzySearch.extractTop(targetName,sourceName,3,10)
来源
"Coca-Cola","Coca Cola - Other","Coca-Cola Amatil","Coca-Cola Company","Coca-Cola Icecek","Coca-Cola Services","CocaCola Amatil","Cola-Cola","Colanta"
目标列表
"the coca-cola co.","other"
产生以下匹配项:
"the coca-cola co.":
Coca-Cola,score: 90
Coca Cola - Other,score: 86
Cola-Cola,score: 86
Coca-Cola Company,score: 73
Coca-Cola Icecek,score: 71
Coca-Cola Amatil,score: 68
Coca-Cola Services,score: 68
Colanta,score: 61
CocaCola Amatil,score: 58
"other":
Coca Cola - Other,score: 90
Coca-Cola Services,score: 36
Colanta,score: 33
CocaCola Amatil,score: 20
Coca-Cola Icecek,score: 19
Coca-Cola Amatil,score: 19
Cola-Cola,score: 18
Coca-Cola Company,score: 18
Coca-Cola,score: 18
在第一阶段中,我希望“可口可乐”一词的重要性更高,这样可口可乐服务之类的产品才能获得更高的分数。比现在的68。另外,“可口可乐-其他”与“其他”(90分)的匹配度要比与“可口可乐公司”的匹配度更高。 (86分)。
我可以对Fuzzy算法进行任何调整还是在运行数据之前对其进行清理?也许还有另一种更适合此类数据的字符串匹配算法?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)