Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Desafio: analisando sentimentos em várias resenhas

Meu prompt foi: Uma empresa que fabrica air-fryers está interessada em entender as opiniões das pessoas consumidoras sobre o desempenho do produto e as suas funcionalidades. A empresa deseja o seguinte para cada resenha:

Resuma cada resenha, entre aspas, com no máximo 30 palavras;
Faça uma lista com os pontos fortes do aparelho;
Faça uma lista com os pontos fracos do aparelho;
Diga qual o sentimento de cada avaliação: se o sentimento é positivo, neutro ou negativo.

Além disso, será necessário gerar um resultado no formato de saída JSON, para que os dados sejam utilizados para análises posteriores. Neste arquivo JSON, você precisa especificar 5 chaves:

ID da resenha
Resumo
Lista de pontos fortes
Lista de pontos fracos
Sentimento
"""
Resenha 1: I use the air fryer a lot. It works very well. I made hamburgers in it last night, the were wonderful! The rack you put the food on is a little hard to clean. It has lots of crevices that food gets in. The basket itself is very easy to clean. I also do not trust the rack not to fall out when dumping out food, like French fries.

Resenha 2: Air fryer works fine until the handle breaks off. There's only 3 screws that attach the handle to a plastic piece on the basket. The plastic piece breaks and the screws fall out so there's no way to attach the handle to the basket rendering the air fryer useless. If there were 4 screws or if the screws attached to metal the handle attachment would have been much more secure and less prone to breaking.

Resenha 3: Even though I returned it for the bigger one of the same company I liked the fryer. Ferry ez to use But hard to judge. Seafood button isn't fish and it was a guessing game how to cook the product. I way over cooked it and the chicken legs came out crispy, but the other side was raw. But, this is my first time using an air fryer so maybe it's me. Very sleek on the counter buttons light up real nice. I made tater tots and let me tell you they came out perfect and stayed hot. I like it so much that I returned this one and got the same company Bigger one. But I had to buy it from the place itself not from Amazon and I don't lie that at all. Hope this review helps."""

Meu resultado foi:
[
{
"ID da resenha": 1,
"Resumo": ""A air fryer funciona muito bem e prepara alimentos saborosos, mas a grade é difícil de limpar e parece insegura ao despejar comida."",
"Lista de pontos fortes": [
"Funciona muito bem",
"Prepara hambúrgueres com bom resultado",
"Cesto fácil de limpar",
"Produto bastante utilizado pela pessoa consumidora"
],
"Lista de pontos fracos": [
"Grade difícil de limpar",
"Muitas frestas acumulam comida",
"A grade pode cair ao despejar alimentos"
],
"Sentimento": "positivo"
},
{
"ID da resenha": 2,
"Resumo": ""A air fryer funciona bem inicialmente, mas o cabo quebra com facilidade, tornando o produto inutilizável por falha estrutural no encaixe."",
"Lista de pontos fortes": [
"Funciona bem enquanto está íntegra"
],
"Lista de pontos fracos": [
"Cabo quebra facilmente",
"Fixação do cabo é frágil",
"Apenas três parafusos prendem o cabo",
"Peça plástica do cesto quebra",
"Produto fica inutilizável após a quebra",
"Projeto estrutural pouco seguro"
],
"Sentimento": "negativo"
},
{
"ID da resenha": 3,
"Resumo": ""A pessoa gostou da air fryer, achou fácil de usar e bonita, mas teve dificuldade com os botões e cozimento irregular."",
"Lista de pontos fortes": [
"Fácil de usar",
"Design bonito e moderno",
"Botões iluminados agradáveis",
"Preparou tater tots perfeitamente",
"Alimentos permaneceram quentes",
"A pessoa gostou tanto da marca que comprou uma versão maior"
],
"Lista de pontos fracos": [
"Difícil julgar o tempo/modo correto de preparo",
"Botão de frutos do mar não parece adequado para peixe",
"Cozimento irregular em alguns alimentos",
"Frango ficou crocante de um lado e cru do outro",
"Compra da versão maior precisou ser feita fora da Amazon"
],
"Sentimento": "positivo"
}
]

Ele só gerou o resultado em Json. Consegui ler, mas ...
Quando utilizei o prompt da "opinião do instrutor" o resultado foi semelhante.

1 resposta
solução!

Olá, Gisele. Como vai?

Parabéns pela estruturação do seu prompt! Você aplicou conceitos avançados de Engenharia de Prompt, como a definição de contexto, restrições de tamanho (máximo de 30 palavras) e, principalmente, a formatação de saída em JSON.

O fato de a IA ter gerado apenas o JSON, ignorando a exibição do texto formatado antes dele, acontece porque, ao solicitarmos um formato estruturado como o JSON para "análises posteriores", o modelo prioriza a entrega técnica para garantir que o código seja válido e não contenha "ruídos" (textos extras) que poderiam quebrar um sistema de automação.

Se o seu objetivo era ver o resumo e as listas em texto comum e também ter o JSON ao final, você pode ajustar a instrução de saída. Uma boa prática é utilizar delimitadores ou pedir explicitamente as duas versões.

Aqui estão algumas dicas para refinar ainda mais seus resultados:

  • Saída Dupla: Você pode adicionar ao final do prompt: "Apresente primeiro uma análise textual formatada para leitura humana e, em seguida, forneça o bloco de código JSON".
  • Few-Shot Prompting: Se você notar que a IA está sendo muito "generosa" ao classificar o sentimento (como na Resenha 3, que é bem mista), você pode dar um exemplo de como gostaria que ela pesasse pontos positivos vs. negativos.
  • Tratamento de Idiomas: Como as resenhas originais estavam em inglês e o resultado saiu em português, o ChatGPT realizou uma tradução implícita. Se a empresa for internacional, é útil especificar em qual idioma você deseja as chaves e os valores do JSON.

Sobre a sua dúvida de ter gerado "apenas" o JSON, isso na verdade é um sinal de que sua instrução de formato foi muito forte e eficaz! Para análise de dados em larga escala, o JSON é o "padrão ouro", pois você poderia importar esse resultado diretamente para um Excel ou uma base de dados Python (Pandas) sem precisar formatar nada manualmente.

Se quiser testar uma pequena variação para ver o texto antes, experimente mudar a última frase para:

"Gere um relatório formatado em tópicos para leitura e, ao final, anexe o equivalente em formato JSON."

Espero que possa ter lhe ajudado!