2012-11-05 102 views
0

我想统计某个大学课程在数千个条目列表中出现的次数。问题是课程并不总是拼写相同。例如,Computer Engineering可以拼写为Computers Engineering。什么是测试2个字符串是否非常相似的正确,优雅的方法?比较字符串的相似之处?

+5

http://en.wikipedia.org/wiki/Levenshtein_distance –

回答

2

我会尝试使用stemming canonize字符串。这个想法是 - 给每个字符串的标准化形式,和两个不同的字符串,代表相同的单词很可能有相同的佳能形式(例如,ComputerComputers将具有相同的加农炮形式,你会得到一个匹配)。

Porter stemming algorithm经常用于经典化。


一个选择 - 是分级彼此间的距离琴弦,建议Levenshtein Distance可以帮你用它,但个人 - 我宁愿册封。

+0

我已经使用了Jaro-Winkler距离,我通过Google搜索Levenshtein距离发现了这个距离,效果很好。 – MaiaVictor