Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

Preparando o ambiente: reviews.csv

Análise de sentimento de avaliações com Python e Pandas

Objetivo

Carregar o arquivo Reviews.csv, analisar o texto das avaliações utilizando um LLM para identificar o sentimento de cada feedback e adicionar uma nova coluna ao DataFrame contendo a classificação como Positivo, Negativo ou Neutro.


Etapa 1: Importar o Pandas e carregar o arquivo CSV

import pandas as pd

df = pd.read_csv("Reviews.csv")

print(df.head())

Etapa 2: Selecionar a coluna de avaliações

Como o desafio pede para utilizar apenas os textos das avaliações, vamos trabalhar com a coluna Review Text.

reviews = df["Review Text"]

print(reviews.head())

Etapa 3: Criar uma lista para armazenar os sentimentos

sentimentos = []

Etapa 4: Utilizar um LLM para classificar os sentimentos

for review in reviews:

    resposta = client.models.generate_content(
        model="gemini-2.5-flash",
        contents=f"""
        Classifique o sentimento do texto abaixo em apenas uma palavra:
        Positivo, Negativo ou Neutro.

        Texto:
        {review}
        """
    )

    sentimento = resposta.text.strip().capitalize()

    sentimentos.append(sentimento)

Etapa 5: Adicionar uma nova coluna ao DataFrame

Após gerar todas as classificações, criamos uma nova coluna chamada Sentimento.

df["Sentimento"] = sentimentos

Verificando o resultado:

print(df[["Review Text", "Sentimento"]].head())

Etapa 6: Salvar o resultado em um novo arquivo CSV

df.to_csv(
    "Reviews_Classificados.csv",
    index=False,
    encoding="utf-8"
)

Etapa 7: Ler o arquivo gerado para validação

novo_df = pd.read_csv(
    "Reviews_Classificados.csv",
    encoding="utf-8"
)

print(novo_df.head())