检查字典中的单词

我需要确定一个未知的5或6个字母的字符串是否是一个有效的单词,即在字典中。 我可以将字符串/单词提交到在线词典,但是我需要检查这个字符串/单词,每次都会有不同,大约100到150次。 这似乎有点耗时。

我的下一个想法是尝试获得我自己的字典程序。 它需要在Java中,因为我的程序是用Java编写的。 Java API是否已经有一个类来执行此操作? 我可以得到某人已经编码的下降,我所要做的就是将字符串/单词提交给它吗?

我的程序没有用于拼写检查。 我想编写一个程序来解读混乱的单词拼图,当我被困在一个混乱的单词上时。 谢谢你的建议。

您可以使用其中一个开源词典并将其加载到数据库中: ftp : //ftp.cerias.purdue.edu/pub/dict/和ftp://ftp.ox.ac.uk/pub/wordlists/

对于混乱的单词,您可能需要查看Jumble算法 , 此处可以看到其实现。

如果你不需要拼写检查,这将非常简单。 只需将所有单词加载到HashSet中,然后检查该集是否包含您要测试的单词。 有大量的单词列表可用。

如果您确实需要拼写检查,请查看aspell或其他免费API。

aspell及其相关的单词列表和词典可能就是答案。

我认为aspell有一个Java版本。

编辑:实际上看起来你可能会做得更好,这个叫做Jazzy的 aspell衍生产品。

也许你可以检查一些单词表: http ://wordlist.sourceforge.net/

此页面包含一些文本格式的单词列表,因此您可以自己使用Java进行处理,最简单的方法是使用HashSet。 如果效率很重要,则需要使用更高效的数据结构。

也许你可以尝试Peter Norvig的拼写检查 。 我认为这是一种获得80-90%准确度的优雅方式。