我的自动更正模块有问题,特别是函数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中,这是正常的吗?我忘记了什么吗?有关其他法术检查器的任何建议吗?
提前致谢
答案 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