用于对相似单词(或短语)进行分组的算法

时间:2016-02-25 17:01:48

标签: algorithm string-matching data-cleansing data-cleaning

我正在寻找一种能够帮助我对相似单词进行分类/分组的算法(例如,“Amazon.com”类似于“亚马逊”或“Amz”或“Amzon”)。 Levenshtein是一个常用的建议算法,但有其他像Jaro Winkler等(例如,this is the Python library有一些单词相似性指标)

我想知道那些做过类似词汇聚/分组的人是否会有更有效的建议。谢谢!

1 个答案:

答案 0 :(得分:1)

我做过类似的事情。我使用Levenshtein进行了大量的启发式算法。

您应该真正查看数据并尝试找出最适合您的数据。 Jaro Winkler的名字很好。如果您尝试将其用于md5 ID,那么您将度过一段美好时光。 如果您的字符串彼此自然非常接近,则两种方法可能没有足够的粒度来帮助您,或者您可能需要来自外部源的更多信息。

总之,尝试设置一些沙盒环境并尝试通过数据运行不同的算法,看看哪个更好。您还可以查看每个算法所犯的错误,并查看a)您是否可以使用它或b)您可以轻松修复它。