Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Tempo de execução do código e formas de escrever

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ódigoCódigo professor
6.985664367675781e-054.1484832763671875e-05
5.435943603515625e-052.956390380859375e-05
5.984306335449219e-054.9114227294921875e-05
4.3392181396484375e-052.9325485229492188e-05

Não tem um propósito exato esse post, é mais para curiosidade de desempenho de diferentes algorítimos.

1 resposta
solução!

Olá Mikeias! Tudo bem com você? Espero que sim!

Eu queria te parabenizar por tentar uma nova abordagem, você pensou bem fora da caixinha ao fazer outros testes e mandou muito bem!

Analisando seu código acredito que ele tenha demorado mais a execução porque você optou por uma abordagem mais "manual", fazendo o código rodar toda a lista de palavras geradas. Já o professor decidiu ser mais direto utilizando as funções que ele tinha em mãos.

Mesmo assim, você está de parabéns pela lógica utilizada e por ter compartilhado isso no fórum ^^

Ótimos estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software