模糊字符串映射

时间:2015-06-30 06:30:06

标签: c# algorithm fuzzy-search

我有一个已经存在的手动映射地理区域字符串,如下所示:

Czech Republic-Construction     Emerging      CEEMEA            CEEMEA
Czech Republic-Residential      Emerging      CEEMEA            CEEMEA
Czech-Slovakia                  Emerging      CEEMEA            CEEMEA
Daiichi Sankyo US               Developed     North America     North America
Dailian                         Emerging      China             Asia
Daimaru                         Developed     Japan             Japan
Dairy products                  Other         Other             Other
Dalian                          Emerging      China             Asia

基本上你可以看到,我正在将这些地区映射到适当的地理位置,并将公司(如果有的话)映射到其他地区。我遇到的新区域有拼写错误,因此我使用一组算法来检查我是否遇到了一些足够接近且已经映射的字符串,如果是这样,我将映射复制到新区域。

以下是我使用一组算法的方法。

//Levenshtein-Distance
if(LevenshteinDistance == 1) 
    Match string to existing entry.
else if(LevenshteinDistance == 2)
    if(Jaro-Winkler > 0.85) 
        Match string to existing entry.
else if(LevenshteinDistance == 3)
    if(WildCardMatching)
        if(jaro-Winkler)
            Match String to existing entry.
        else
            Add String to List for Manual Mapping.
else
    Add String to List for Manual Mapping.

Wild Card Matching算法: - http://www.geeksforgeeks.org/wildcard-character-matching/

Jaro-Winkler算法: - Jaro–Winkler distance algorithm in C#

我的问题是在此之后,我仍然可以找到错误映射的条目,例如: - 工党和加蓬。有没有办法添加更多算法或改变我目前使用这些算法的方式来制作更好的匹配流程?

感谢您的帮助。

0 个答案:

没有答案