改善模糊算法的方法?

问题描述

我正在运行一个模糊模糊算法,以比较两组大型字符串。

这些字符串是来自两个不同数据源的公司名称,我发现它是唯一的,因为有许多看起来很直观但没有被发现的匹配项。

对于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 (将#修改为@)