编写一个Python方法,根据字符串生成拼写错误

时间:2011-09-15 01:46:29

标签: python levenshtein-distance

我可以添加一些根据Levenshtein距离为2或类似的东西创建拼写错误,或者反向工程Norvig's article on spellchecking

但是,拼写错误最常见的方法是什么?

有人写了一个方法吗?

1 个答案:

答案 0 :(得分:2)

没有普通的拼写错误生成算法,因为这种算法依赖于目标语言和应用程序 - 即生成垃圾邮件域,您基本上需要应用以下策略(使用meta.stackoverflow.com作为示例):< / p>

  1. 缺少点:遇到* * tackoverflow.com(应该很容易;)
  2. 字符插入:meta.stackoverflo * ww *。com(只添加每个字符的欺骗)
  3. 字符遗漏:meta.stackoverf * lw *。com(只删一个字符)
  4. 字符排列:meta.stackove * fr * low.com(纯数学在这里)
  5. 字符替换:meta。* d * tackoverflow.com(现在我们可以有至少两种策略,见下文)
  6. 如果要更换字符,我们至少可以有两种情况:

    1. 类似的发声字母(即c&lt; - &gt; k,z&lt; - &gt; ts)取决于语言
    2. 附近的字母邻近拼写错误(即对于qwerty s&lt; - &gt; d,d&lt; - &gt; f) Duh,我实际上在这里用s&lt; - &gt; d case:)
    3. 希望这会有所帮助..