Carregando
0x80Lição 9 de 18

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.

25 min Questionário com 5 perguntas 1 exercício de código
Ao final desta lição, você saberá
  • 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 XP

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

0 de 5 classificadosPontuação 0/0
  • “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 XP

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

Conjunto de treino4
Conjunto de teste4
Conversas vazando2

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.

split_groups.py — keep threads together
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)
Saída
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.

Exercício 1

Divida mensagens de suporte por conversa

+25 XP

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
main.py
Carregando editor…

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…