Levenshtein-distance 有另一种方法而不是将拼写错误的单词与所有字典单词进行比较

Levenshtein-distance is there another way rather than compare the missspelled word with all the dictionary word

我正在寻找用于拼写校正的 AI 算法,我发现 Levenshtein 距离算法比较两个字符串之间的相似性,所以我的问题是我应该在错误的单词与我字典中的所有单词之间实现这种相似性吗?因为如果是,时间 运行 会很慢。我的第二个问题这个算法可以在两个长度不同的字符串上实现吗 提前致谢

如果您正在使用 Java 或 JavaScript,我有一个库可以在线性时间内根据查询词的长度找到字典中的所有拼写候选词:

https://github.com/universal-automata/liblevenshtein-java

诀窍在于它将 Levenshtein 自动机与您的字典自动机相交,并且仅遵循那些导致 Levenshtein 距离不大于您从查询词中指定的词的路径。

我已经设置了一个演示,你可以玩:

http://universal-automata.github.io/liblevenshtein/