Anter de assistir a video aula eu pego o resultado que o professor deseja do código que irá escrever e tento fazer por mim mesmo para ir treinando. Eu fiz dessa vez. Vou mostrar aqui os dois códigos o meu e o do professor:
def corretor(palavra):
palavras_geradas = gerador_palavras(palavra)
palavras_corretas = []
for i in palavras_geradas:
if i in lista_palavras:
palavras_corretas.append(i)
palavras_corretas = max(palavras_corretas, key=probabilidade)
return palavras_corretas
Agora o do professor:
frequencia = nltk.FreqDist(lista_palavras)
total_de_palavras = len(lista_normalizada)
def probabilidade(palavra_gerada):
return frequencia[palavra_gerada] / total_de_palavras
def corretor_1(palavra):
palavras_geradas = gerador_palavras(palavra)
palavra_correta = max(palavras_geradas, key= probabilidade)
return palavra_correta
No meu eu testei se a palavra estava presente nas palavras passadas, caso esteja seria colocado em uma lista e testada sua frequência. A parte da probabilidade eu perguei do professor. Fiz uma tabela de desenpenho dos dois códigos:
Meu código | Código professor |
---|---|
6.985664367675781e-05 | 4.1484832763671875e-05 |
5.435943603515625e-05 | 2.956390380859375e-05 |
5.984306335449219e-05 | 4.9114227294921875e-05 |
4.3392181396484375e-05 | 2.9325485229492188e-05 |
Não tem um propósito exato esse post, é mais para curiosidade de desempenho de diferentes algorítimos.