我正在寻找用于拼写校正的AI算法,我找到了比较两个字符串之间相似性的Levenshtein距离算法,所以我的问题是我应该在错误的单词和我字典中的所有单词之间实现这种相似性吗?因为如果是的话,时间运行会很慢。我的第二个问题是这个算法可以在不同长度的两个字符串上实现 提前谢谢
答案 0 :(得分:0)
如果您正在使用Java或JavaScript,我有一个库,可以在查询字词的长度上以线性时间查找字典中的所有拼写候选:
https://github.com/universal-automata/liblevenshtein-java
诀窍在于它将Levenshtein自动机与您的词典自动机相交,并且只跟随那些导致Levenshtein距离不大于您在查询词中指定的条件的路径。
我已经设置了一个可以玩的演示: