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

Resolução do Desafio

lista_de_resenhas = []
with open("Resenhas_App_ChatGPT.txt", "r", encoding="utf-8") as arquivo:
for linha in arquivo:
lista_de_resenhas.append(linha.strip())

print(f"Total de resenhas carregadas: {len(lista_de_resenhas)}")
print(lista_de_resenhas[0])

import random

def processar_resenha(resenha):
partes = resenha.split("$")
usuario = partes[1]
texto = partes[2]

# Simulação de tradução (mantendo o texto original)
traducao = texto  

# Simulação de classificação de sentimento
sentimentos = ["Positivo", "Negativo", "Neutro"]
avaliacao = random.choice(sentimentos)

return {
    "usuario": usuario,
    "resenha_original": texto,
    "traducao": traducao,
    "avaliacao": avaliacao
}

resenhas_processadas = [processar_resenha(r) for r in lista_de_resenhas]
print(resenhas_processadas[0])

for r in resenhas_processadas[:3]:
print(r)

def analisar_resenhas(lista_resenhas):
positivos = sum(1 for r in lista_resenhas if r["avaliacao"] == "Positivo")
negativos = sum(1 for r in lista_resenhas if r["avaliacao"] == "Negativo")
neutros = sum(1 for r in lista_resenhas if r["avaliacao"] == "Neutro")

consolidado = "\n".join([f"{r['usuario']}: {r['avaliacao']}" for r in lista_resenhas])

return positivos, negativos, neutros, consolidado

pos, neg, neu, resumo = analisar_resenhas(resenhas_processadas)

print(f"Positivas: {pos}, Negativas: {neg}, Neutras: {neu}")
print("Resumo consolidado:\n", resumo)

import pandas as pd

df = pd.DataFrame(resenhas_processadas)
df.to_csv("Resenhas_Classificadas.csv", encoding="utf-8", index=False)

print("Arquivo 'Resenhas_Classificadas.csv' criado com sucesso!")
df.head()

1 resposta

Olá, Penha! Como vai?

Parabéns pela realização das atividades!

Você apresentou um código muito bem elaborado para carregar resenhas de um arquivo, processar cada uma com funções personalizadas e consolidar os resultados em um relatório. Além disso, utilizou random para simular classificações de sentimento e finalizou exportando os dados para um CSV com pandas. Isso demonstra organização, domínio de manipulação de dados e criatividade na aplicação prática de conceitos de Python.

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

  • Classificação real de sentimentos: integrar bibliotecas de NLP como TextBlob ou spaCy para análises mais precisas.
  • Automatização de traduções: usar APIs como Google Translate para enriquecer o processamento das resenhas.
  • Visualização dos resultados: criar gráficos com matplotlib ou seaborn para acompanhar a distribuição de sentimentos.

Ah uma pergunta: O que você considera mais interessante para evoluir esse projeto, aplicar técnicas reais de NLP para análise de sentimentos ou criar dashboards visuais para acompanhar os resultados das resenhas?

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!