Para qualquer tipo de processamento ou análise de texto, verificar a grafia da palavra é um dos requisitos básicos. Este artigo descreve várias maneiras de verificar a ortografia das palavras e também corrigir a ortografia da palavra respectiva.
 

Usando a biblioteca textblob

Primeiro, você precisa instalar a biblioteca textblob usando pip no prompt de comando. 

pip install textblob

Você também pode instalar essa biblioteca no Jupyter Notebook como: 
 

import sys
!{sys.executable} - m pip install textblob

  
Programa para verificador ortográfico - 
 



from textblob import TextBlob
 
a = "cmputr"          
print("original text: "+str(a))
 
b = TextBlob(a)
 
print("corrected text: "+str(b.correct()))

Resultado: 
 

texto original: cmputr
texto corrigido: computador

 

Usando a biblioteca pyspellchecker

Você pode instalar esta biblioteca como a seguir:
Usando pip: 

pip install pyspellchecker

No Jupyter Notebook: 
 

import sys
!{sys.executable} - m pip install pyspellchecker

  
Programa corretor ortográfico usando pyspellchecker - 
 

from spellchecker import SpellChecker
 
spell = SpellChecker()
 
misspelled = spell.unknown(["cmputr", "watr", "study", "wrte"])
 
for word in misspelled:
    
    print(spell.correction(word))
 
    
    print(spell.candidates(word))

Resultado: 
 



computador
{'caput', 'caputs', 'compute', 'computor', 'impute', 'computer'}
água
{'água', 'watt', 'warr', 'verruga', 'guerra', 'wath', 'wat'}
escrever
{'wroe', 'arte', 'wre', 'rte', 'escreveu', 'escrever'}

Usando JamSpell

Para obter a melhor qualidade ao fazer correções ortográficas, os métodos baseados em dicionário não são suficientes. Você precisa considerar a palavra ambiente. JamSpell é uma biblioteca de verificação ortográfica python baseada em um modelo de linguagem. Ele faz correções diferentes para um contexto diferente.

1) Instale o swig3

apt-get install swig3.0 # para linux
brew install swig @ 3 # para mac

2) Instale o jamspell

pip instalar jamspell

3) Baixe um modelo de idioma para o seu idioma

corrector = jamspell.TSpellCorrector()
 
corrector.LoadLangModel('Downloads/en_model.bin')
 
print(corrector.FixFragment('I am the begt spell cherken!'))
 
print(corrector.GetCandidates(['i', 'am', 'the', 'begt', 'spell', 'cherken'], 3))
 
print(corrector.GetCandidates(['i', 'am', 'the', 'begt', 'spell', 'cherken'], 5))

Resultado:

u'Eu sou o melhor corretor ortográfico! '
(u'melhor ', u'bate', u'belt ', u'bet', u'bent ')
(u'checker ', u'chicken', u'checked ', u'ondein', u'coerente ', ...)