3

对于给定的单词,我想找到 n 个最接近的拼写错误。我想知道像 aspell 这样的开源拼写检查器在这种情况下是否有用,除非您有其他建议。

例如:“健康”

会给我:健康,停止,健康,健康,......

4

1 回答 1

2

拼写更正工具采用拼写错误的单词并提供可能的正确拼写替代方案。你似乎想往另一个方向走。

从一个正确拼写的单词到一组可能的拼写错误可能可以通过将一组突变启发式应用于常见单词来执行。这些启发式可能会执行以下操作:

  • 随机添加或删除单个字符
  • 随机应用字符对的转置
  • 根据键盘布局将字符更改为其他字符
  • 应用常见的“点”拼写错误;例如,将“ie”转换为“ei”,将“l”加倍或加倍。

从一个正确拼写的单词到一组常见的拼写错误真的很难。可能唯一可靠的方法是检测一个大型用户社区使用的拼写检查程序包,记录使用拼写检查程序所做的实际拼写更正,然后汇总结果。这可能(!)超出了您的项目范围。


在重新审视我的答案时,我想我错过了一些东西。

我上面的启发式方法主要用于输入错误而不是拼写错误。输入错误是指用户知道拼写正确但输入错误的单词。拼写错误是指人们不知道单词的正确拼写,并且使用了不正确的知识或直觉(即猜测)。典型的猜测是基于听单词的发音,然后选择一个拼写(如果正确)最有可能以这种方式发音。

因此,预测拼写错误的良好启发式方法需要基于单词在说出时的实际发音。这需要一个语音词典(从实际单词到它的发音)和一组规则来为语音单词生成合理的拼写。这比打字错误的简单启发式方法更复杂。

于 2010-06-23T05:06:21.600 回答