Olá!
Tive uma ideia semelhante à do Thiago Yoshida ao assistir o curso, mas pensei em passar o corretor mais simples primeiro e depois o corretor turbinado caso o corretor simples não acertasse, já que o percentual de acerto do corretor simples era maior. Consegui 85,48% de taxa de acerto com a combinação. Faz sentido?
def avaliador(testes, vocabulario):
numero_palavras = len(testes)
acertou = 0
desconhecida = 0
for correta, errada in testes:
palavra_corrigida = corretor(errada)
desconhecida += (correta not in vocabulario)
if palavra_corrigida == correta:
acertou += 1
else:
palavra_corrigida = novo_corretor(errada)
if palavra_corrigida == correta:
acertou += 1
taxa_acerto = round(acertou*100/numero_palavras, 2)
taxa_desconhecida = round(desconhecida*100/numero_palavras, 2)
print(f"{taxa_acerto}% de {numero_palavras} palavras, desconhecida é {taxa_desconhecida}%")
vocabulario = set(lista_normalizada)
avaliador(lista_teste, vocabulario)