Verificador ortográfico em Python
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"
(
"original text: "
+
str
(a))
b
=
TextBlob(a)
(
"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:
(spell.correction(word))
(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'
)
(corrector.FixFragment(
'I am the begt spell cherken!'
))
(corrector.GetCandidates([
'i'
,
'am'
,
'the'
,
'begt'
,
'spell'
,
'cherken'
],
3
))
(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 ', ...)
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva