Partindo do pressuposto de que quem faz este curso não tem outros conhecimentos, me propus a resolver só com as funções e conhecimento básicos.
frequencia = nltk.FreqDist(lista_normalizada)
total = len(lista_normalizada)
def probabilidade(palavra,distribuicao_frequencia,total_de_palavras):
return distribuicao_frequencia[palavra]/total_de_palavras
def corretor(palavra):
palavras_geradas = gerador_palavras1(palavra)
probabilidade_lista = []
tupla_lista = []
for word in palavras_geradas:
tupla_lista.append((word,probabilidade(word,frequencia,total)))
probabilidade_lista.append(probabilidade(word,frequencia,total))
for w,p in tupla_lista:
if p == max(probabilidade_lista):
palavra_correta = w
return palavra_correta
corretor('csa')