Crie um conjunto de dados de texto confiável
Escreva um guia de rotulagem, lide com mensagens ambíguas e divida por conversa para evitar vazamentos.
- Defina rótulos com exemplos e uma regra de escalonamento para texto ambíguo
- Explique por que mensagens quase duplicadas devem permanecer na mesma divisão de dados
- Crie uma divisão de treino e teste que mantenha grupos relacionados juntos
Uma equipe de suporte deseja encaminhar as mensagens recebidas para faturamento, acesso à conta ou outros. Um modelo só pode aprender com exemplos que as pessoas rotularam de forma consistente. Antes de treinar qualquer coisa, escreva um pequeno guia: o que cada categoria significa, o que fazer quando uma mensagem menciona dois problemas e quando pedir a um humano que decida. Mantenha os detalhes privados do cliente fora dos exemplos usados para demonstrações.
Rotule o trabalho, não apenas as palavras
Uma regra útil é cobrança de cobranças, faturas e reembolsos; acesso para login, senha e bloqueios de conta; outros para todo o resto. Se uma mensagem tiver duas solicitações independentes, envie-a para revisão humana em vez de escolher uma silenciosamente. Dois anotadores devem tentar o mesmo lote pequeno e discutir as divergências antes de rotular milhares de linhas.
Experimente
Até 15 XPEncaminhe a caixa de entrada de suporte
Aplique o guia de etiqueta. Fique atento a uma mensagem que precisa de um ser humano porque contém duas solicitações diferentes.
“Fui cobrado duas vezes pelo meu plano.”
“O link de redefinição de senha expirou.”
“Seu aplicativo pode exportar um PDF?”
“Reembolsar a cobrança extra e desbloquear minha conta.”
“Minha fatura lista o valor do imposto errado.”
Divida as conversas antes do treino
Muitas vezes, um cliente envia uma primeira mensagem e uma mensagem de acompanhamento quase idêntica no mesmo tópico. Se um vai para o treinamento e o outro para o teste, a pontuação do teste recompensa a memorização. Mantenha cada thread em uma divisão. Use dados de treinamento para ajustar o modelo, dados de validação para ajustá-lo e um conjunto de testes retido uma vez para a verificação final. Para uma caixa de entrada real, compare também os resultados ao longo do tempo, idiomas e grupos de clientes.
Experimente
Até 15 XPReparar a divisão com vazamento
Estas mensagens vêm de quatro conversas de suporte. Mova os cartões até que nenhuma conversa apareça nos dois conjuntos e mantenha pelo menos duas conversas inteiras no teste. O contador de vazamentos mostra por que dividir linhas ao acaso pode enganar.
Mantenha cada conversa em um único conjunto. Deixe pelo menos um exemplo no treino e 2 conversas completas no teste.
Conjunto de treino
Conversa A17
Fui cobrado duas vezes este mês.
Conversa B04
Meu link de redefinição expirou.
Conversa B04
Ainda bloqueado após a reinicialização.
Conversa C12
Alguma atualização nessa fatura?
Conjunto de teste
Conversa A17
Acompanhando a cobrança duplicada.
Conversa C12
A fatura contém o imposto errado.
Conversa D09
Posso exportar um PDF?
Conversa D09
Preciso de uma cópia em PDF do relatório.
1rows = [('A17', 'charge'), ('A17', 'follow-up'), ('B04', 'reset')]
2test_threads = {'B04'}
3for thread, message in rows:
4 split = 'test' if thread in test_threads else 'train'
5 print(split, thread, message)train A17 charge train A17 follow-up test B04 reset
Principais conclusões
Escreva um guia de rótulos e analise casos ambíguos com as pessoas.
Agrupe mensagens relacionadas antes de dividir, ou seu teste pode vazar exemplos de treinamento.
Sintonize os dados de validação; reserve o conjunto de teste para a estimativa final de novos dados.
Quiz da aula
5 perguntas · aprovação com 4 acertos · até 50 XP
Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.
Pratique: aplique NLP com Python
Experimente cada ideia de processamento de texto em Python, execute com entradas de exemplo e use os resultados para ver onde o método funciona ou falha.
Divida mensagens de suporte por conversa
A primeira linha informa quantas conversas inteiras reservar para teste. Cada linha seguinte tem o formato THREAD|message. Ordene os IDs distintos de conversa alfabeticamente e coloque os últimos N no teste. Imprima primeiro as linhas de treino e depois as de teste, preservando a ordem original em cada conjunto, no formato train: THREAD|message ou test: THREAD|message. Esta regra didática torna o agrupamento visível; em projetos reais, verifique também o equilíbrio das classes e a sequência temporal.
- Os acompanhamentos permanecem juntos
- Um fio retido
- Sem tópicos retidos
O Python é executado em um ambiente isolado no navegador, com limite de 60 segundos. O runtime é carregado pelo CDN do Pyodide; seu código permanece neste navegador.
Dúvidas sobre esta lição
Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.
Carregando publicações…