Não tive nenhum problema de execução do código em si, mas percebi que o tempo de execução está extremamente elevado para executar a função do corretor. Segue abaixo todas as minhas funções construídas a partir do curso e o tempo obtido com a execução do corretor:
total_palavras = len(lista_normalizada)
def insere_letras(fatias):
novas_palavras = []
letras = 'abcdefghijklmnopqrstuvwxyzàáâãèéêìíîòóôõùúûç'
for E, D in fatias:
for letra in letras:
novas_palavras.append(E + letra + D)
return novas_palavras
def gerador_palavras(palavra):
fatias = []
for i in range(len(palavra) + 1):
fatias.append((palavra[:i], palavra[i:]))
palavras_geradas = insere_letras(fatias)
return palavras_geradas
def probabilidade(palavra_gerada):
frequencia = nltk.FreqDist(lista_normalizada)
return frequencia[palavra_gerada] / total_palavras
def corretor(palavra):
palavras_geradas = gerador_palavras(palavra)
palavra_correta = max(palavras_geradas, key = probabilidade)
return palavra_correta
%time corretor(palavra_exemplo)
Wall time: 2min 39s
'lógica'
Vi que na execução do vídeo o retorno foi rápido. Poderiam me ajudar?