Fiz um novo corretor, chamado corretor condicional. A função
def corretor_condicional(palavra):
palavras_geradas = gerador_de_palavras(palavra)
suposta_palavra_correta = max(palavras_geradas,key=propabilidade)
palavras_conhecidas=[]
if suposta_palavra_correta in vocabulario:
palavra_correta = suposta_palavra_correta
else:
palavras_geradas_aprimoradas = gerador_aprimorado(palavras_geradas)
soma_palavras = set(palavras_geradas + palavras_geradas_aprimoradas)
for palavra in soma_palavras:
if palavra in vocabulario:
palavras_conhecidas.append(palavra)
try:
palavra_correta = max(palavras_conhecidas,key=propabilidade)
except:
palavra_correta = palavra
return palavra_correta
Basicamente inclui uma condicional para usar o novo gerador( que chamei de gerador_aprimorado, mas é o mesmo do curso) quando a palavra gerada pelo primeiro corretor não fazia sentido, com isso usando o teste padrão do curso consegui aumentar a taxa de acerto para 83.87%. Foi uma abordagem válida?