2
respostas

Desafio: analisando sentimentos em várias resenhas

Você é um especialista em análise de reviews de produtos e extração estruturada de insights.

Sua tarefa é analisar as resenhas fornecidas e gerar uma saída estruturada em JSON seguindo EXATAMENTE as instruções abaixo.

OBJETIVO

Para cada resenha, você deve:

  1. Gerar um resumo objetivo da resenha com no máximo 30 palavras.
  2. Traduzir o resumo para português brasileiro.
  3. Identificar os principais pontos fortes do produto.
  4. Identificar os principais pontos fracos do produto.
  5. Classificar o sentimento da resenha.
  6. Extrair uma nota de avaliação do cliente.
  7. Identificar os principais temas mencionados.
  8. Detectar possíveis problemas críticos relacionados ao produto.

INSTRUÇÕES DETALHADAS

1. Resumo

  • O resumo deve conter no máximo 30 palavras.
  • Deve preservar o significado original da resenha.
  • Deve ser escrito em português brasileiro.
  • Seja objetivo e claro.

2. Pontos Fortes

  • Extraia apenas benefícios realmente mencionados.
  • Retorne uma lista de strings.
  • Caso não existam pontos fortes claros, retorne uma lista vazia.

3. Pontos Fracos

  • Extraia apenas problemas realmente mencionados.
  • Retorne uma lista de strings.
  • Caso não existam pontos fracos claros, retorne uma lista vazia.

4. Sentimento

Utilize APENAS um dos seguintes valores:

  • "positivo"
  • "neutro"
  • "negativo"

5. Nota da Avaliação

  • Estime uma nota de 1 a 5 baseada no tom geral da resenha.

  • Utilize apenas números inteiros.

  • Escala:

    • 1 = muito insatisfeito
    • 2 = insatisfeito
    • 3 = neutro/misto
    • 4 = satisfeito
    • 5 = muito satisfeito

6. Temas

Identifique os principais tópicos mencionados na resenha.

Exemplos:

  • "facilidade de uso"
  • "durabilidade"
  • "limpeza"
  • "design"
  • "tempo de cozimento"
  • "qualidade de construção"

Retorne como lista de strings.

7. Problema Crítico

Determine se a resenha menciona algum problema grave que comprometa significativamente o uso do produto.

Retorne:

  • true
  • false

Considere como crítico:

  • quebra estrutural
  • defeito grave
  • risco de segurança
  • produto inutilizável
  • falha recorrente grave

REGRAS IMPORTANTES

  • Não invente informações.

  • Baseie-se apenas no conteúdo da resenha.

  • O JSON final deve ser válido.

  • Não inclua explicações fora do JSON.

  • Preserve acentuação corretamente.

  • Utilize UTF-8 válido.

  • O campo "id" deve ser sequencial e numérico.

  • Todas as listas devem ser arrays JSON válidos.

  • Nunca retorne valores nulos.

  • Caso uma informação não exista, utilize:

    • lista vazia []
    • string vazia ""
    • false

FORMATO DE SAÍDA

Retorne APENAS um JSON válido no seguinte formato:

[
  {
    "id": 1,
    "resumo": "Resumo em português",
    "pontos_fortes": [
      "..."
    ],
    "pontos_fracos": [
      "..."
    ],
    "sentimento": "positivo",
    "nota": 4,
    "temas": [
      "..."
    ],
    "problema_critico": false
  }
]

RESENHAS

"""
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.
"""

2 respostas

[
{
"id": 1,
"resumo": "Air fryer funciona muito bem e prepara alimentos saborosos, mas a grelha é difícil de limpar e parece insegura ao despejar alimentos.",
"pontos_fortes": [
"Funciona muito bem",
"Hambúrgueres ficaram saborosos",
"Cesta fácil de limpar"
],
"pontos_fracos": [
"Grelha difícil de limpar",
"Acúmulo de comida nas frestas da grelha",
"Grelha parece insegura ao despejar alimentos"
],
"sentimento": "positivo",
"nota": 4,
"temas": [
"facilidade de uso",
"limpeza",
"segurança",
"desempenho de cozimento"
],
"problema_critico": false
},
{
"id": 2,
"resumo": "A fritadeira funciona bem inicialmente, mas o cabo quebra facilmente devido à estrutura frágil, tornando o produto inutilizável.",
"pontos_fortes": [
"Funciona bem inicialmente"
],
"pontos_fracos": [
"Cabo quebra facilmente",
"Peça plástica do cesto quebra",
"Parafusos se soltam",
"Produto fica inutilizável"
],
"sentimento": "negativo",
"nota": 1,
"temas": [
"durabilidade",
"qualidade de construção",
"design estrutural",
"segurança"
],
"problema_critico": true
},
{
"id": 3,
"resumo": "Air fryer bonita e fácil de usar, com bons resultados em alguns alimentos, mas difícil de ajustar o cozimento corretamente.",
"pontos_fortes": [
"Fácil de usar",
"Design elegante",
"Botões iluminados",
"Tater tots ficaram perfeitos e quentes",
"Gostou tanto que comprou um modelo maior"
],
"pontos_fracos": [
"Difícil ajustar o tempo de cozimento",
"Botão de frutos do mar confuso",
"Frango ficou cru de um lado e excessivamente cozido do outro",
"Não gostou de precisar comprar diretamente da empresa"
],
"sentimento": "positivo",
"nota": 4,
"temas": [
"facilidade de uso",
"design",
"tempo de cozimento",
"desempenho de cozimento",
"interface"
],
"problema_critico": false
}
]

Oii Bruno, tudo bem?

Obrigada por compartilhar sua solução no fórum, ela vai ajudar outros alunos que estiverem fazendo esse mesmo desafio!

O seu prompt está bem elaborado. Você foi além do que o desafio pedia e estruturou um conjunto de instruções bastante robusto, com campos extras como nota, temas e problema_critico, além de regras claras sobre o que fazer quando uma informação não existe (evitar null, usar [], "" ou false). Isso é exatamente o tipo de cuidado que faz a diferença em saídas estruturadas com LLMs.

Conte com a Alura para evoluir seus estudos. Em caso de dúvidas, fico à disposição.

Bons estudos!

Sucesso

Imagem da comunidade