我有一个已经存在的手动映射地理区域字符串,如下所示:
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#
我的问题是在此之后,我仍然可以找到错误映射的条目,例如: - 工党和加蓬。有没有办法添加更多算法或改变我目前使用这些算法的方式来制作更好的匹配流程?
感谢您的帮助。