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!

1
resposta

Análise de Sentimentos com LLMs

import pandas as pd

reviews_data = {
"Reviewer ID": [1, 2, 3, 4, 5],
"Reviewer Name": ["Ana", "Bruno", "Carlos", "Daniela", "Eduardo"],
"Review Text": [
"Produto excelente, superou minhas expectativas!",
"Péssima qualidade, não recomendo.",
"Entrega rápida, mas o produto veio com defeito.",
"Ótimo custo-benefício, recomendo a todos.",
"Nada demais, esperava mais pelo preço."
]
}

df_reviews = pd.DataFrame(reviews_data)

df_reviews.to_csv("Reviews.csv", encoding="utf-8", index=False)

print("Arquivo Reviews.csv criado com sucesso!")

df = pd.read_csv("Reviews.csv", encoding="utf-8")
print(df.head())

from google import genai
import os

api_key = os.environ["GOOGLE_API_KEY"]
client = genai.Client(api_key=api_key)

def classificar_sentimento_llm(texto):
resp = client.models.generate_content(
model="gemini-2.5-flash",
contents=f"Classifique o sentimento como Positivo, Negativo ou Neutro: {texto}"
)
# Padronizar primeira letra maiúscula
return resp.text.strip().capitalize()

df["Sentimento"] = df["Review Text"].apply(classificar_sentimento_llm)

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

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

print("Arquivo Reviews_Classificados.csv criado com sucesso!")

1 resposta

Olá, Penha! Como vai?

Parabéns pela realização da atividade!

Você conseguiu estruturar muito bem o fluxo de criação e leitura do CSV, aplicou corretamente a integração com o modelo Gemini para classificação de sentimentos e ainda garantiu a padronização dos resultados no DataFrame.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Tratar exceções: incluir try/except para lidar com possíveis falhas de requisição à API.
  • Otimizar chamadas: agrupar textos e enviar em lote para reduzir o número de requisições.
  • Comparar abordagens: testar a diferença entre classificação por regras simples e modelos de IA para avaliar ganhos de precisão.

Ah uma pergunta: O que você gostaria de explorar mais agora, enriquecer esse pipeline com visualizações gráficas dos sentimentos ou expandir para análise de grandes volumes de resenhas com técnicas de NLP?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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