java - 能够建议有限集合中单词的不同拼写的轻量级库?

标签 java search-suggestion misspelling

我正在寻找一个轻量级库,它允许我向它提供一堆单词,然后询问它给定的单词是否有任何接近的匹配。z

我并不特别关心底层算法(我认为如果我自己承担这项任务,一个简单的汉明距离算法可能就足够了)。

我正在开发一种小语言,我发现在检测到“未定义的类”错误时向用户提出建议(很多时候只是拼写错误的单词),这是很漂亮的。不过,我不想在这个问题上浪费太多时间。

谢谢

最佳答案

编辑距离是处理它的常用方法。只需将所有单词添加到列表中,然后对其进行强力迭代并返回最小距离。这是一个具有 Levenschtein 函数的库:http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/StringUtils.html

如果你有大量单词并且希望它运行得更快,那么你必须使用 ngram。将每个单词分解为二元组,然后将(二元组,单词)添加到 map 中。使用映射查找目标单词中的二元词,然后迭代候选词。不过,这可能比您想做的还要多。

关于java - 能够建议有限集合中单词的不同拼写的轻量级库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13695882/

相关文章:

java - 在 Eclipse 中拼错方法名称后如何恢复自动完成?

visual-studio - Visual Studio 2013拼写检查器

java - 如何去除图像中的颜色

java - 如何根据特定条件在我的 RecyclerView 上隐藏某些项目的 ImageView?

java - Android SharedPreferences 来自 fragment 中的 onclick

Android:如何从网络异步获取搜索建议?

elasticsearch completion suggest on multifield

java - Android:从原始文件夹共享图像。分享的图片有误

php - 找到最接近拼写错误的城市名称的匹配项?