---
id: agencias/marca-sentimento-ia
industria: Agências de marketing
uso: específico
esforco: médio
grao: Menção ou comentário; resumo por rede e assunto em janelas de 24 e 72 horas
---

# Marca e sentimento com IA

O que estão falando da marca do cliente e dos concorrentes, com cada menção classificada por IA, os assuntos que cresceram nas últimas 24 horas e um índice que não confunde falha da IA com neutro.

## Resumo executivo

**Para quem:** Agências que cuidam de marca, conteúdo ou comunicação institucional de clientes.

**O que resolve**

- Cada comentário e menção recebe sentimento e assunto uma única vez, com custo controlado.
- O índice de sentimento separa o que a IA não conseguiu classificar.
- A diretoria do cliente recebe só os assuntos que cresceram de verdade, com volume mínimo.

**Por que importa:** Cliente de marca quer saber o que falam dele antes de virar crise, e não no fim do mês. Classificar à mão não escala, e uma IA mal configurada devolve tudo neutro e esconde o problema. Com regras fixas, a leitura reputacional sai todo dia no mesmo padrão e entra no relatório recorrente.

**Perguntas de negócio que responde**

- Como está a saúde da marca esta semana?
- Quais assuntos negativos cresceram nas últimas 24 horas?
- Qual o índice de sentimento por rede social neste mês?
- Quais posts concentram os comentários negativos?
- O que os concorrentes estão anunciando agora?

**O que você precisa**

- As redes do cliente ou a ferramenta de social listening conectadas na Nekt
- Uma chave de API de modelo de linguagem guardada no cofre de segredos
- A lista de assuntos e a regra de sentimento combinadas com o cliente

**O que você recebe**

- Uma tabela de menções com sentimento, assunto e data da classificação
- Índice de sentimento e volume por rede em 24 e 72 horas, com histórico
- Assuntos em alta e um resumo executivo escrito a partir dos números
- Alerta quando um assunto negativo cresce acima do limite

## Detalhado

### O problema

A fonte entrega texto livre, muitas vezes só o estado atual, e cada execução traz de novo comentários já vistos. Quem classifica tudo de novo paga várias vezes pelo mesmo texto; quem trata erro da API como neutro entrega um relatório sem nenhum negativo; quem deixa a IA inventar os assuntos a cada execução não consegue comparar uma semana com a outra. E uma alta de 100% sobre duas menções vira alerta de crise.

### Regras de negócio

1. **Classifique só o que é novo.** Use o id do comentário ou da menção como chave e classifique apenas os ids que ainda não estão na tabela de saída, gravando por anexação. Em fontes raspadas sem id estável, a chave é cliente + plataforma + post + autor + marca de resposta + hash md5 do texto, com gravação por upsert. Reprocesse um post só se o número de comentários dele cresceu. (Evite: Classificar a tabela inteira a cada execução.)
2. **Falha não é neutro.** Erro de API, limite de chamadas, resposta fora do formato ou fora da lista vira 'não classificado', para ser tentado de novo na próxima execução. Nunca use neutro como valor padrão. Chame o modelo com temperatura zero e saída em JSON, e registre o primeiro erro de cada execução com status e corpo da resposta. (Evite: Devolver 'neutro' quando a chamada falha.)
3. **Sentimento com regra escrita.** Positivo: elogio, agradecimento, apoio, aprovação. Negativo: crítica, reclamação, ironia negativa, ofensa, insatisfação. Neutro: pergunta, comentário informativo, marcação de outra pessoa sem opinião. Texto vazio não vai para a IA. A regra fica no prompt e no contexto do cliente, igual para todas as execuções. (Evite: Pedir ao modelo 'o sentimento' sem dizer o que conta como cada um.)
4. **Assuntos de uma lista estável.** Descobrir assuntos do zero a cada execução muda os nomes e quebra a série histórica. Mantenha uma lista fechada de assuntos por cliente no contexto, classifique cada menção em exatamente um deles e deixe a IA sugerir assuntos novos numa coluna à parte, para revisão humana. Se a chamada falhar, use a lista padrão, nunca uma lista vazia. (Evite: Deixar a IA inventar de 5 a 12 assuntos novos a cada carga.)
5. **Índice de sentimento só sobre o que foi classificado.** Índice = (positivos x 100 + neutros x 50) / (positivos + neutros + negativos). Não classificados ficam fora do denominador e aparecem ao lado, com a taxa de classificação. Calcule por rede e no total, na mesma janela. (Evite: Dividir pelo total de menções, com as não classificadas contando como zero.)
6. **Tendência com piso de volume.** Compare as últimas 24 horas com as 24 anteriores e as últimas 72 com as 72 anteriores. Se os dois períodos têm menos de 5 menções, a tendência é 'volume insuficiente'. Alta acima de +15%, baixa abaixo de -15%, estável no meio. Destaque no máximo os 2 assuntos de sentimento dominante negativo em alta, e os 2 positivos. (Evite: Alertar alta de 100% num assunto que foi de 1 para 2 menções.)
7. **Janela ancorada na última menção, com frescor.** As janelas de 24 e 72 horas contam a partir da menção mais recente da fonte, e a data dessa menção aparece no resultado. Se a fonte parou, o painel mostra que o dado é velho em vez de dizer que a marca ficou em silêncio. (Evite: Mostrar 'últimas 24 horas' de uma fonte que parou de carregar há dias.)
8. **O número sai do código, o texto sai da IA.** Volume, percentuais, índice e assuntos em alta são calculados no código. O resumo executivo recebe esses números prontos e só redige, com regras de estilo do cliente. Se a chamada de redação falhar, grave um resumo montado direto dos números. (Evite: Pedir à IA que conte as menções e escreva o resumo de uma vez.)
9. **Concorrentes pela biblioteca de anúncios.** Para monitorar concorrentes, colete os anúncios ativos da Meta Ad Library (por página ou busca) e do Google Ads Transparency Center (por domínio ou anunciante), grave por upsert com a chave cliente + plataforma + id do criativo, e classifique o texto com uma pergunta objetiva por cliente (por exemplo, se o anúncio fala do tema que o cliente vende). (Evite: Copiar prints de anúncios de concorrentes para o relatório.)
10. **Texto montado, cortado e minimizado.** Monte o texto da menção com conteúdo, título, legenda, descrição e hashtags, e corte num tamanho fixo antes de enviar (por exemplo, 300 caracteres para assunto e 1.000 para sentimento). Envie ao modelo só o texto e o id, sem nome, perfil ou contato de quem escreveu. (Evite: Mandar a linha inteira da fonte, com autor e perfil, para a API.)

### Do texto ao índice

Peso de cada classificação no índice de sentimento de 0 a 100.

- **Positivo** → Entra no índice com peso 100
- **Neutro** → Entra no índice com peso 50
- **Negativo** → Entra no índice com peso 0
- **Não classificado** → Fora do índice; nova tentativa na próxima execução
- **Menos de 5 menções nos dois períodos** → Volume insuficiente, sem tendência

### Definições

| Métrica | Definição |
|---|---|
| Menção | comentário, post ou ocorrência de listening com id próprio (ou chave por hash do texto), uma vez só |
| Sentimento | positivo, neutro, negativo ou não classificado, atribuído uma vez por menção |
| Índice de sentimento | (positivos x 100 + neutros x 50) / menções classificadas na janela, por rede ou total |
| Taxa de classificação | menções classificadas / menções da janela |
| Variação 24h | (menções nas últimas 24h - menções nas 24h anteriores) / menções nas 24h anteriores |
| Tendência | alta acima de +15%, baixa abaixo de -15%, estável entre os dois; volume insuficiente com menos de 5 menções nos dois períodos |
| Sentimento dominante | categoria com mais menções do assunto na janela de 72h |
| Assunto em alta | assunto com tendência de alta nas últimas 24h, até 2 por sentimento dominante |

### Armadilhas

- **Saúde da marca toda neutra.** O relatório semanal mostrou todos os comentários como neutros. A chamada à API estava falhando e o código devolvia neutro como valor padrão. Como evitar: Falha vira 'não classificado' e a taxa de classificação aparece no relatório.
- **Tabela que não abria entre cargas.** Arquivos de sincronizações diferentes tinham codificações incompatíveis e a leitura padrão da tabela de comentários falhava no notebook. Como evitar: Leia arquivo a arquivo, filtrando pela data de corte, quando a leitura padrão falhar.
- **Assunto que mudava de nome todo dia.** A IA descobria os assuntos do zero a cada carga e um mesmo tema aparecia com nomes diferentes, sem série comparável. Como evitar: Lista fechada por cliente e sugestões novas à parte.
- **Comentário duplicado a cada raspagem.** A raspagem dos perfis trazia de novo os mesmos comentários a cada execução e sem id estável, e a contagem crescia sozinha. Como evitar: Chave com hash do texto e gravação por upsert.
- **Raspagem vazia com sucesso.** A sessão da conta usada para raspar expirou sem cair na tela de login esperada, e a execução terminou como sucesso sem nenhum comentário novo. Como evitar: Alerte quando uma execução bem-sucedida não traz nada de um perfil que sempre traz.
- **Crise de duas menções.** Um assunto saiu de 1 para 2 menções negativas e apareceu como alta de 100% no resumo para a diretoria. Como evitar: Piso de 5 menções antes de calcular tendência.

### Teste de aceitação

- [ ] Rodar a classificação duas vezes seguidas não cria nenhuma linha nova nem nova chamada à API.
- [ ] Positivos + neutros + negativos + não classificados = total de menções da janela.
- [ ] O índice de sentimento recalculado a partir das contagens bate com o publicado, por rede.
- [ ] Nenhum assunto com menos de 5 menções nos dois períodos aparece com tendência.
- [ ] Mais de 95% das menções da janela estão classificadas, ou o relatório mostra o aviso de classificação incompleta.

### Context document

```text
Marca e sentimento
- Cada menção ou comentário é classificado uma vez: sentimento (positivo, neutro, negativo, não classificado) e um assunto da lista do cliente.
- 'Não classificado' é falha da IA, não neutro. Informe a taxa de classificação junto de qualquer percentual.
- Índice de sentimento = (positivos x 100 + neutros x 50) / classificados. Não classificados fora.
- Tendência: últimas 24h contra as 24h anteriores e 72h contra as 72h anteriores. Menos de 5 menções nos dois períodos = volume insuficiente. Alta acima de +15%, baixa abaixo de -15%.
- As janelas contam a partir da menção mais recente. Diga a data dela.
- Números vêm das tabelas. Não conte menções lendo textos.
- Não cite autor, perfil ou contato de quem comentou.
Exceções por cliente:
- <cliente>: assuntos <lista de assuntos>; concorrentes monitorados <lista de páginas ou domínios>.
- <cliente>: resumo para a diretoria em parágrafos, sem listas, com a leitura de risco ou oportunidade no fim.
```

### Variações

- **Comentários dos próprios posts:** Sentimento dos comentários do Instagram do cliente por post, para achar os conteúdos que geram reclamação.
- **Creators e posts de maior alcance:** Varredura leve dos posts dos últimos meses, seleção dos que mais têm comentários e classificação só deles, com marcação de spam e de insight relevante.
- **Avaliações públicas:** O mesmo modelo sobre avaliações do Google Meu Negócio, filtradas pelo local do cliente.
