拼写纠正器在Python中无法正常工作

时间:2016-11-06 08:35:33

标签: python spell-checking autocorrect

我的自动更正模块有问题,特别是函数spell(word): 这里有我使用的课程

class SpellCorrector(PreprocessModule):

    def process(self, text):
        result = ""
        for word in text.split():
            result = result + spell(word) + " "

        return result

测试是:

st = "Ehi thia ia a beautiful dau"
    for w in st.split():
        print(spellCorrector.process(w))

输出是:

"Eh Thia ia a beautiful dau"

所以,它似乎没有那么好用,而且速度非常慢。

对于那些使用过模块"自动更正"在Python中,这是正常的吗?我忘记了什么吗?有关其他法术检查器的任何建议吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

我建议使用的是Peter Novig's拼写纠正。它使用 Probability Theory

下面的代码首先检查它是否是英文单词。如果没有,那就属于属于彼得算法的校正方法

  def spell_correct(text):
        try:
            output = ""
            splited_words = text.split()
            d = enchant.Dict("en_US")
            for i in splited_words:
                if d.check(i):
                    output = output + i + " "
                else:
                    output = output + correction(i) + " "
        except Exception as e:
            print(e)
        return output