1
resposta

[Reclamação] Processamento desnecessariamente complexo

O código desenvolvido no na última parte da aula é desnecessariamente complicado.

frase_processada = list()
for opiniao in resenha.text_pt:
    nova_frase = list()
    palavras_texto = token_espaco.tokenize(opiniao)
    for palavra in palavras_texto:
        if palavra not in palavras_irrelevantes:
            nova_frase.append(palavra)
    frase_processada.append(' '.join(nova_frase))
    
resenha["tratamento_1"] = frase_processada

Esse processo todo pode ser substituído por uma única linha de código, utilizando funcionalidades básicas do Python e do Pandas:

resenha["tratamento_1"] = resenha.text_pt.apply(lambda opiniao: " ".join(set(opiniao.split(" "))-set(palavras_irrelevantes)))

Já me deparei com situações parecidas em outros cursos e é, realmente, muito cansativo/desestimulante ver essas soluções sendo mostradas por instrutores (que deveriam ser experts nas tecnologias que ensinam).

Eu não sou nem muito experiente nem super conhecedor do Python e consigo ver esse tipo de melhoria simples. Criar laços, ainda mais aninhados, só atrapalha o desempenho e entendimento do código.

Os materiais utilizados precisam de revisão urgente.

1 resposta

Olá, Miguel, tudo bem?

Entendo sua frustração e agradeço a sua sugestão de melhoria. De fato, a linha de código que você propôs é mais simples. No entanto, o código mais longo foi apresentado com o objetivo de facilitar o entendimento do processo passo a passo, especialmente para quem está começando a aprender sobre processamento de linguagem natural e Python.

A ideia era mostrar explicitamente como cada etapa do processo de remoção de stop words funciona, desde a tokenização até a verificação de cada palavra contra a lista de palavras irrelevantes. Isso pode ajudar a construir uma compreensão mais sólida dos conceitos para quem está aprendendo.

Reforço, portanto, que a escolha foi didática. De toda forma, agradeço por compartilhar uma alternativa ao código, essa visibilidade com certeza poderá agregar conhecimentos a outros alunos.

Caso surja alguma dúvida, é só compartilhar no fórum.

Abraços e até mais!

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