---
id: financeiros/ia-texto-nao-estruturado
industria: Serviços financeiros
uso: muito usado
esforco: médio
grao: Conversa ou grupo x data de corte; interação do CRM; contato; processo x campo extraído para a assertividade
---

# IA sobre texto não estruturado

Conversas de sinistro, grupos de WhatsApp com parceiros, notas do CRM e documentos de processos viram campos que se somam e se auditam: dúvida, pendência, urgência, decisor e valor extraído, com a assertividade medida contra um gabarito.

## Resumo executivo

**Para quem:** Corretoras e insurtechs, empresas de crédito, plataformas de previdência e benefícios e gestoras que acumulam texto em conversas, notas e documentos.

**O que resolve**

- As dúvidas e pendências mais frequentes saem das conversas reais, com contagem auditável.
- Cada conversa, interação ou contato ganha campos de lista fechada que se filtram e se somam.
- A extração feita por IA tem assertividade medida campo a campo contra o trabalho manual.

**Por que importa:** Em seguro, crédito e previdência o que importa para o cliente está escrito: a pendência do sinistro, a objeção do RH, a verba da decisão judicial. Sem estrutura, isso só é lido por quem abre a conversa. Com a IA rotulando sobre regras fixas, o líder vê onde a operação trava, o comercial vê quem decide e a esteira automatiza a extração sabendo quanto ela acerta.

**Perguntas de negócio que responde**

- Quais as 10 dúvidas mais frequentes dos parceiros nos grupos de WhatsApp este mês?
- Quais sinistros têm pendência aberta da operação ou do cliente?
- Quais grupos estão sem resposta há mais tempo e com urgência alta?
- Quais empresas da carteira levantaram objeção de preço nas últimas interações?
- Quem é o decisor em cada conta que estamos negociando?
- Qual a assertividade da extração por IA contra o cálculo manual, por campo?

**O que você precisa**

- A fonte do texto conectada na Nekt: banco da plataforma, logs de WhatsApp, CRM ou documentos
- A lista de quem é da operação (ids, papéis ou telefones) e as categorias fechadas de cada campo
- A chave do provedor de IA guardada como segredo, nunca no código

**O que você recebe**

- Uma tabela por conversa ou interação com campos da IA e status do processamento
- Um ranking de dúvidas e pendências com contagem calculada em SQL
- Um relatório de assertividade por campo contra o gabarito
- Um agente de IA que responde com os rótulos e o trecho de origem

## Detalhado

### O problema

A conversa do sinistro, o grupo com a imobiliária e a nota da reunião ficam como texto livre, e a resposta para quais são as dúvidas mais comuns depende de alguém ler tudo. Quem manda o texto bruto para a IA mistura mensagem da equipe com a do cliente, recebe rótulos que mudam a cada execução e grava falha de chamada como conversa tranquila. Sem gabarito, ninguém sabe se a extração automática está certa.

### Regras de negócio

1. **Separe quem fala antes de mandar à IA.** Classifique cada mensagem como operação ou cliente pelo id ou papel do remetente (analista de sinistro, administrador da corretora) ou por uma tabela de telefones do time. Dúvidas vêm só das mensagens de clientes; pendências da operação vêm só das mensagens que a operação enviou. Remetente desconhecido é cliente, e isso é declarado. (Evite: Mandar a conversa inteira e pedir à IA as dúvidas dos clientes.)
2. **Limpe e filtre com regra antes do modelo.** Troque imagens e arquivos em base64 embutidos no texto por [imagem anexa] e [arquivo anexo]. Normalize caixa e espaços. Para dúvidas, mantenha só mensagens com interrogação, mais de 15 caracteres e que não sejam saudação curta. Para renda em transações bancárias, aplique primeiro um dicionário de padrões (folha, benefício, aplicativos de entrega) e mande ao modelo só o que sobrou. (Evite: Enviar ao modelo todo o histórico, com anexos em base64 e saudações.)
3. **A IA rotula, o SQL conta.** Agrupe textos idênticos com a contagem de ocorrências. Peça à IA só o rótulo de cada texto (ou de cada grupo), devolvido como mapeamento texto para rótulo. O total por rótulo é a soma das contagens em SQL. Limite a quantidade de textos por chamada (prompts muito grandes voltaram vazios) e divida em lotes. (Evite: Pedir à IA o top 10 já com o total de ocorrências e gravar o número que ela devolveu.)
4. **Lista fechada e JSON validado.** Cada campo tem valores fixos: sentimento (positivo, neutro, negativo), status da conversa (aberta, fechada, aguardando resposta), urgência (baixa, média, alta), intenção, tema e sinal de etapa no CRM, poder de decisão do contato (decisor, influenciador, usuário). Valide o JSON, normalize chaves (acentos, maiúsculas, chave em português ou inglês) e mande para "outro" o que vier fora da lista. (Evite: Aceitar qualquer texto que a IA devolver em cada campo.)
5. **Falha é falha, nunca neutro.** Quando a chamada falha, o JSON não vem ou a cota estoura, grave status de erro, a mensagem do erro e campos nulos. Nunca preencha sentimento neutro e urgência baixa como valor padrão. Tente de novo com espera crescente e reprocesse só as falhas. (Evite: Retornar neutral e low quando a API falha.)
6. **Processe só o que é novo.** Guarde, por conversa ou interação, o hash do texto enviado e a versão do prompt. Reprocesse quando entra mensagem nova ou o prompt muda. Para a fila de grupos, mostre os abertos e aguardando resposta mais os fechados há até 2 horas, e conte quantas vezes cada grupo foi verificado em aberto. (Evite: Mandar todas as conversas de novo a cada execução.)
7. **Meça a assertividade contra um gabarito.** Para extração de documentos (dados iniciais e verbas de um processo, por exemplo), compare por processo e campo o valor da IA com o do trabalho manual. O universo são só os processos que têm gabarito, com a versão mais recente de cada lado. Texto de pessoa: igualdade sem acento e caixa. Nome de empresa: normalização forte (sem sufixo jurídico, pontuação, filial) e escada de casamento: igual, igual sem espaços, prefixo de 10 ou mais caracteres. Datas iguais exatas. Valores iguais em 2 casas. Falta de um lado é "sem dado para comparação", não erro. Itens não comparáveis por valor saem dos dois lados. (Evite: Avaliar a IA lendo alguns casos, ou contar como erro o campo que o gabarito não tem.)
8. **Segredo e dado pessoal não saem pelo código.** A chave do provedor fica como segredo da Nekt, nunca escrita no notebook (apareceu em texto puro em mais de um workspace). Mascare CPF, telefone e e-mail antes de enviar quando o rótulo não depende deles. Corte o texto num tamanho máximo por chamada (por exemplo, 3.000 caracteres por interação) para controlar custo. (Evite: Chave da API e CPF do cliente dentro do prompt e do código.)
9. **Nada de amostra de teste em produção.** Limite de 10 linhas para testar é útil, mas tem que sair antes de agendar. Registre em cada execução quantos itens eram elegíveis, quantos foram enviados, quantos voltaram válidos e quantos falharam. (Evite: Agendar a transformação com o limite de teste ainda no código.)

### O que extrair de cada tipo de texto

Campos de lista fechada que operações reais extraíram. A IA rotula; contagem e regra ficam no SQL.

- **Conversa de sinistro** → Pendência da operação, dúvida do cliente, última fala (`remetente por papel do usuário`)
- **Grupo de WhatsApp com parceiros** → Status, sentimento, urgência, ação necessária (`últimas 15 mensagens do grupo`)
- **Mensagens de clientes no atendimento** → Top dúvidas sobre processo, com rótulo explicativo (`só mensagens com ? e sem saudação`)
- **Interação comercial no CRM** → Intenção, tema, sinal de etapa, objeções, decisores (`notas, ligações, e-mails e reuniões`)
- **Contato e cargo** → Senioridade e poder de decisão (`decisor, influenciador, usuário`)
- **Documento de processo** → Campos extraídos, comparados ao gabarito (`por processo e campo`)
- **Nome de transação bancária** → Fonte de renda e frequência (`dicionário primeiro, modelo no resto`)
- **Notas e reuniões gravadas** → Texto preparado para busca semântica (`id do registro de origem em cada trecho`)

### Definições

| Métrica | Definição |
|---|---|
| Item elegível | conversa, interação, contato ou documento com texto novo (hash diferente do último processado) ou com versão de prompt nova, na execução |
| Taxa de processamento válido | itens com JSON válido e todos os campos dentro da lista / itens enviados, por execução |
| Ocorrências da dúvida | soma das contagens dos textos de clientes que a IA mapeou para o mesmo rótulo, no período |
| Grupo aguardando resposta | grupo ou conversa cuja última mensagem de cliente é posterior à última mensagem da operação; espera = agora menos essa mensagem |
| Assertividade do campo | comparações iguais pela regra do tipo de campo / comparações com os dois lados preenchidos, por campo e por mês, só em processos com gabarito |
| Cobertura da extração | processos com o campo preenchido pela IA / processos com o campo no gabarito |
| Participação do tema | interações com o tema / interações classificadas no período, por carteira ou empresa |

### Armadilhas

- **Falha virou conversa tranquila.** Quando a chamada à IA falhava, a função devolvia sentimento neutro e urgência baixa, e grupos com problema sumiam da lista de atenção. Como evitar: Status de erro e campos nulos, com reprocessamento das falhas.
- **Total inventado pela IA.** O ranking de dúvidas gravava a soma de ocorrências que o próprio modelo devolvia, e o número não batia com as mensagens. Como evitar: Peça só o mapeamento texto para rótulo e some as contagens em SQL.
- **Prompt grande volta vazio.** Mandar milhares de tipos de mensagem numa chamada fazia a IA devolver lista vazia, e o notebook caía por falta de memória ao coletar tudo. Como evitar: Limite de itens por chamada, lotes e coleta limitada.
- **Chave da API no notebook.** Chaves de provedores de IA apareceram escritas no código de transformações, inclusive como valor padrão quando a variável de ambiente não existia. Como evitar: Segredo da Nekt e falha explícita quando a chave não está configurada.
- **Dez linhas em produção.** A classificação de contatos e interações rodava agendada com o limite de 10 linhas do teste, e o CRM parecia enriquecido. Como evitar: Remova o limite e confira elegíveis contra enviados a cada execução.
- **Nome de empresa nunca batia.** A comparação da extração com o gabarito marcava erro em nomes iguais escritos com LTDA, filial ou abreviação, e a regra parou de funcionar quando o motor mudou para Spark. Como evitar: Normalização forte com escada de casamento, testada no motor da transformação.

### Teste de aceitação

- [ ] Nenhuma mensagem de ids, papéis ou telefones da operação entra no ranking de dúvidas de clientes.
- [ ] Para cada rótulo do ranking, o total é igual à soma das contagens dos textos mapeados para ele.
- [ ] Todo item enviado tem status de processamento (válido ou erro) e nenhum erro aparece com sentimento ou urgência preenchidos.
- [ ] Rodar a transformação de novo sem mensagens novas não envia nenhum item à IA.
- [ ] No relatório de assertividade, cada linha de processo e campo tem uma situação: igual, diferente, só gabarito, só IA ou sem dado para comparação.

### Context document

```text
IA sobre texto não estruturado
- Os campos de IA estão em <tabela>, um registro por <conversa | interação | contato | documento>, com status_processamento e versao_prompt.
- Considere só registros com status_processamento = válido. Registros com erro não são neutros: diga que não foram classificados.
- Dúvidas vêm só de mensagens de clientes. Pendências da operação vêm só de mensagens da operação (remetentes em <tabela_operacao>).
- Categorias: sentimento (positivo, neutro, negativo), status (aberta, fechada, aguardando resposta), urgência (baixa, média, alta), tema <lista>, intenção <lista>. Fora da lista = outro.
- Contagens e rankings vêm do SQL sobre o mapeamento texto para rótulo, nunca de totais gerados pela IA.
- Grupo aguardando resposta: última mensagem do cliente depois da última da operação. Informe há quanto tempo.
- Assertividade da extração: use <tabela_assertividade>, só processos com gabarito; "sem dado para comparação" não é erro.
- Ao citar uma classificação, traga o trecho ou o id do registro de origem.
Exceções por cliente:
- <cliente>: operação identificada pelos papéis <papéis>; demais remetentes são clientes.
- <cliente>: verbas <códigos> não são comparáveis por valor e ficam fora da assertividade.
```

### Variações

- **Resumo por empresa:** Um resumo executivo do relacionamento por conta, gerado sobre as interações já classificadas e atualizado só quando entra interação nova.
- **Busca semântica:** Notas, reuniões e bios preparadas para embedding com o id do registro de origem, para o agente citar a fonte.
- **Extração com revisão humana:** Campos com baixa assertividade histórica vão para uma fila de revisão antes de seguir na esteira.
