Java Soundex给出了太多的建议
所以我正在用Java编写一个小的拼写检查程序。该计划必须:Java Soundex给出了太多的建议,java,algorithm,soundex,Java,Algorithm,Soundex,所以我正在用Java编写一个小的拼写检查程序。该计划必须: 检查单词是否在“dictionary.txt”文件中(包含88000多个单词) 如果该单词不在该词典中,请使用编辑距离/Soundex算法获取一些建议 提示用户-询问他们是否愿意用其中一个建议替换该单词 我发现的问题是,对于一个单词,我的Soundex实现可以返回20多个建议,这些建议我都放在ArrayList中了 现在,当提示用户时,我意识到在每个拼写错误上选择20个不同的单词是不友好的,我想稍微改进一下结果。但是我被难倒了。我不知道
由于这更像是一个逻辑问题,而不是一个编程问题,如果这不属于这里,请给我指出正确的位置。您如何将单词的Soundex表示法与词典进行比较?你确定你正确地实现了“改进的”算法,并且它实际上比原来的更好吗?另外,您的第2步是“使用编辑距离/Soundex算法”。此时您是否使用Soundex以外的任何东西?我也在使用Levenshteins(在不同的步骤中),尽管我目前正在尝试修复它的实现中似乎有一个小错误。我所做的是循环浏览字典,并将当前单词的Soundex与字典中当前单词的Soundex进行比较。现在,虽然用Levenshteins解决这个问题对我来说更为重要,所以我稍后会回到Soundex优化,感谢您在此期间提出的任何建议。不,我可以诚实地说,在实施“改进”算法时,我跳过了一个细节,最终结果与原始算法相同。我现在就解决这个问题。你如何将单词的Soundex表示法与字典进行比较?你确定你正确地实现了“改进的”算法,并且它实际上比原来的更好吗?另外,您的第2步是“使用编辑距离/Soundex算法”。此时您是否使用Soundex以外的任何东西?我也在使用Levenshteins(在不同的步骤中),尽管我目前正在尝试修复它的实现中似乎有一个小错误。我所做的是循环浏览字典,并将当前单词的Soundex与字典中当前单词的Soundex进行比较。现在,虽然用Levenshteins解决这个问题对我来说更为重要,所以我稍后会回到Soundex优化,感谢您在此期间提出的任何建议。不,我可以诚实地说,在实施“改进”算法时,我跳过了一个细节,最终结果与原始算法相同。我现在就把它修好。