1
resposta

Metodo word_cloud simplificado

Visto que a classe WorldCloud já pode ser instanciada enviando as stopwords, o codigo pode ser simplificado dessa forma:

def word_cloud(text_df, text_column, sentiment):
    sentiment_text = text_df.query(f"Sentiment == '{sentiment}'")[text_column]
    final_text = " ".join(sentiment_text)

    # Não necessario, pois o WordCloud já ignora as stopwords
    # words = final_text.split()
    # filtered_words = [word for word in words if word.lower() not in portuguese_stopwords]
    # filtered_text = " ".join(filtered_words)

    wordcloud = WordCloud(
        width=800,
        height=400,
        max_words=50,
        stopwords=portuguese_stopwords, # Adicionado aqui
    ).generate(final_text)

    plt.figure(figsize=(10, 5))
    plt.imshow(wordcloud, interpolation="bilinear")
    plt.axis("off")
    plt.title(f"Word Cloud for {sentiment} Reviews")
    plt.show()
1 resposta

Oii, Josiel! Tudo certo?

Valeu por compartilhar essa versão simplificada do método word_cloud. É sempre bacana ver quando alguém consegue tornar o código mais limpo e direto — e ainda justifica as escolhas feitas, como você fez aqui.

O ponto que você trouxe sobre a instanciação direta com as stopwords é ótimo. Outra coisa legal é manter os comentários explicando o que foi removido e por quê — ajuda quem está estudando a entender a lógica por trás da simplificação. Excelente prática.

Obrigada por contribuir com o Fórum com esse exemplo claro e útil. Seguimos aprendendo juntos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!