我对如何完成这项任务缺乏想法.我正在计算单词的频率,实际上是单词的基本形式(例如,运行将被视为运行).我查看了Levenshtein距离的一些实现(我遇到的一个实现是来自dotnerperls).
我也试过双Metaphone,但它不是我想要的.
那么,请给我一些关于如何调整Levenshtein距离算法对语言相似词进行分类的想法,因为该算法仅用于确定编辑所需的编辑数量,而不考虑它们在语言上是否相似
示例:1."运行"将被计为"运行"一词的一次出现."单词"同样是"单词"3的出现."恐惧"不会被视为"齿轮"的出现
另外,我在C#中实现它.
提前致谢.
编辑:我按照Rene的建议编辑了它.另一个注意事项:我正在考虑考虑一个单词是否是另一个单词的子串,但该实现不会那么动态.我认为另一个想法是:"如果将-s或-ing添加到string1,string1 == string2,则string2会出现string1." 然而,事实并非如此,因为有些词语具有不规则的复数.