Semana 4 · Aula 1 · 50-60 minutos
Construa um chatbot baseado em regras
Monte um chatbot do jeito antigo, com palavras-chave, intenções e uma árvore de decisão, e descubra por que ele precisa de uma resposta de reserva para tudo aquilo que não foi feito para lidar.
- Materiais
- Esta aula em um navegador web · Papel e lápis, ou um aplicativo de notas
- Esta aula
- Em andamento
Salva sozinho neste aparelho
O que você vai conseguir fazer
- Explicar como um chatbot baseado em regras usa palavras-chave para adivinhar a intenção de um usuário.
- Mapear um conjunto de intenções e respostas como uma árvore de decisão.
- Explicar por que um chatbot precisa de uma resposta de reserva para as mensagens que ele não entende.
- Comparar um chatbot baseado em regras com uma IA que aprende com exemplos.
Para pensar
A janela de chat de uma pizzaria responde na hora a "Que horas vocês fecham?", mas devolve "Desculpe, não entendi" quando você digita "até que horas vocês atendem?". As duas perguntas querem dizer a mesma coisa. Por que uma funciona e a outra falha?
Guarde o seu palpite: no fim você vai conseguir explicar exatamente o que deu errado.
Faça uma previsão
Preveja: se um chatbot só conhece a palavra-chave "fecham", de quantas maneiras diferentes um cliente poderia perguntar sobre o horário de fechamento sem nunca usar essa palavra?
Vocabulário
Ver todo o vocabulário do curso- Palavra-chave
- Uma palavra importante que o chatbot procura em uma mensagem para descobrir o que a pessoa quer, como "horário" ou "preço".
- Intenção
- O que a pessoa está de fato tentando fazer ou perguntar, como "descobrir o horário de funcionamento", mesmo que ela diga isso de várias maneiras diferentes.
- Árvore de decisão
- Um conjunto ramificado de escolhas sim/não ou se/então que leva de uma mensagem a uma resposta, como um fluxograma.
- Resposta de reserva
- A resposta de segurança que um chatbot dá quando não bate com nenhuma palavra-chave nem intenção, como "Desculpe, não entendi isso".
Palavras-chave: as palavras que o chatbot fica de olho
Um chatbot baseado em regras não entende linguagem do jeito que você entende. Em vez disso, uma pessoa dá a ele uma lista de palavras-chave para procurar. Quando a sua mensagem contém uma palavra-chave como "horário", "abrem" ou "fecham", o bot escolhe a resposta que um humano escreveu para aquela palavra.
Isso é rápido e previsível, mas frágil. Se você perguntar a mesma coisa com outras palavras, a palavra-chave não está lá, e o bot não percebe nada.
- Palavra-chave "horário" → responder com o horário de funcionamento
- Palavra-chave "preço" ou "custa" → responder com os preços do cardápio
- Palavra-chave "devolução" → responder com a política de trocas
Intenção: o que a pessoa realmente quer
Por trás das palavras existe uma intenção: aquilo que a pessoa está de fato tentando fazer. "Que horas vocês fecham?", "Vocês abrem até tarde?" e "Até que horas vocês atendem?" são três frases diferentes com uma única intenção: descobrir o horário.
Um bom projeto de chatbot agrupa muitas palavras-chave e formulações sob a mesma intenção. Quanto mais palavras-chave você ligar a uma intenção, mais jeitos de perguntar o bot consegue pegar, mas alguém ainda precisa pensar em todos eles com antecedência.
- A intenção "ver horário" combina com: horário, abrem, fecham, fechamento, tarde, quando
- A intenção "achar o endereço" combina com: onde, endereço, como chegar, localizados
- A intenção "fazer um pedido" combina com: pedido, comprar, entrega, retirada
Árvore de decisão e resposta de reserva: levar uma mensagem até uma resposta
Um chatbot baseado em regras segue uma árvore de decisão: procura as palavras-chave da primeira intenção; se achar, dá aquela resposta; se não, procura a intenção seguinte, e assim por diante, descendo pelos galhos. Cada galho termina em uma resposta que uma pessoa escreveu.
Mas nenhuma lista de palavras-chave cobre todas as mensagens possíveis. Quando nada bate, a árvore chega ao último galho: a resposta de reserva. Ela é um honesto "não entendi isso" mais, nos bons projetos, uma dica do que o bot consegue ajudar. Sem uma resposta de reserva, uma mensagem sem correspondência não receberia resposta nenhuma.
- A mensagem "até que horas vocês atendem?", sem a palavra-chave "horário" → cai na resposta de reserva
- Resposta de reserva: "Desculpe, posso ajudar com horário, endereço e pedidos. Experimente perguntar sobre um desses."
Exemplo resolvido
Acompanhando uma mensagem pela árvore
- Uma pessoa configurou três intenções no bot: "ver horário" (palavras-chave: horário, abrem, fecham), "achar o endereço" (onde, endereço) e "fazer um pedido" (pedido, entrega).
- Um cliente digita: "Quanto custa uma pizza grande?"
- Galho 1: contém horário, abrem ou fecham? Não. Vá em frente.
- Galho 2: contém onde ou endereço? Não. Vá em frente.
- Galho 3: contém pedido ou entrega? Não. Vá em frente.
- Nenhum galho bateu, então a árvore chega à resposta de reserva: "Desculpe, não entendi. Posso ajudar com horário, endereço e pedidos." O cliente queria mesmo era o preço, uma intenção que nunca foi dada ao bot.
O essencial: Um bot baseado em regras só consegue responder às intenções que alguém programou; qualquer outra coisa cai na resposta de reserva, mesmo quando a pergunta é perfeitamente clara para uma pessoa.
Mensagem recebida
- If menciona horário, abrem ou fecham:
Resposta: "Abrimos das 11h às 22h."
- If menciona onde ou endereço:
Resposta: "Estamos na Rua Principal, 5."
- If menciona pedido ou entrega:
Resposta: "Peça pelo site ou ligue 555-1234."
- If não bate com nada acima:
Resposta de reserva: "Desculpe, não entendi. Posso ajudar com horário, endereço e pedidos."
Uma árvore de decisão que começa no topo com a mensagem que chega e desce por uma verificação para cada intenção. O nó 1 pergunta: "A mensagem contém horário, abrem ou fecham?". Se sim, o galho termina na resposta "Abrimos das 11h às 22h". Se não, desce para o nó 2: "Contém onde ou endereço?". Se sim, o galho termina em "Estamos na Rua Principal, 5". Se não, vai para o nó 3: "Contém pedido ou entrega?". Se sim, o galho termina em "Peça pelo site ou ligue 555-1234". Se não, o galho final é a resposta de reserva: "Desculpe, não entendi. Posso ajudar com horário, endereço e pedidos". Todo galho de sim é uma folha com uma resposta escrita por uma pessoa; o último galho de não é sempre a resposta de reserva, para que nenhuma mensagem fique sem resposta.
Cada intenção é uma verificação; o último galho é a resposta de reserva, que pega tudo o que não bateu.
| Mensagem do cliente | Palavra-chave encontrada? | Resultado |
|---|---|---|
| Que horas vocês fecham? | fecham | Bate com "ver horário" |
| Vocês abrem até tarde? | abrem | Bate com "ver horário" |
| Até que horas vocês atendem? | none | Cai na resposta de reserva |
| Ainda estão servindo comida? | none | Cai na resposta de reserva |
Uma tabela mostrando que uma única intenção, "ver horário", pode ser perguntada de várias maneiras. Linhas: "Que horas vocês fecham?" contém a palavra-chave "fecham", então bate. "Vocês abrem até tarde?" contém "abrem", então bate. "Até que horas vocês atendem?" não contém nenhuma palavra-chave listada, então falha e cai na resposta de reserva. "Ainda estão servindo?" também não contém nenhuma palavra-chave listada, então também falha. A lição: acrescentar mais palavras-chave pega mais formulações, mas uma pessoa precisa pensar em todas elas.
Atividade
Construtor de chatbots baseados em regras
Construir um chatbot funcional baseado em regras a partir de um modelo pronto (intenções, palavras-chave, um galho de acompanhamento e uma resposta de reserva) e testá-lo em uma prévia ao vivo que mostra exatamente qual regra bateu.
- Escolha um modelo e depois edite a boas-vindas, as intenções (palavras-chave + resposta), um ramo de seguimento e a resposta de reserva.
- Observe o esquema da árvore de decisão e as checagens: becos sem saída, nós inalcançáveis e falta de resposta de reserva.
- Teste o seu bot na prévia ao vivo: faça perguntas normais, mensagens inesperadas e peça para falar com uma pessoa.
Responde perguntas sobre horários, empréstimos e carteirinhas.
Construa o seu bot
Intenções (checadas em ordem)
- Ramo de seguimento
Esquema da árvore de decisão
- ▸ Welcome: Welcome to the school library helper! I can help with hours, renewing a book, or getting a library card.
- If keyword [hours, open, close, time] → Opening hours
- If keyword [renew, overdue, extend, keep] → Renew a book
- ? Is your book already overdue? (type 'yes' or 'no')
- → [yes, overdue, late] Overdue
- → [no, not] Not overdue
- If keyword [card, join, sign up, register] → Library card
- ▸ Fallback: Sorry, I didn't catch that. I can only help with a few topics — try a keyword, or type 'help' to reach a person.
Checagens
Todas as checagens passam: sem becos sem saída, sem nós inalcançáveis e com resposta de reserva.
Prévia ao vivo
Please don't type personal information (full name, address, phone). I only answer general questions.
Mande uma mensagem para testar o seu bot. Tente uma palavra-chave, uma mensagem inesperada ou “falar com uma pessoa”.
Confira o que você entendeu
Responda a estas perguntas para conferir se você entendeu como funciona um chatbot baseado em regras.
Question 1. O que é uma "intenção" em um chatbot?
Question 2. Decida se a afirmação é verdadeira ou falsa.
Um chatbot baseado em regras precisa de uma resposta de reserva para que as mensagens sem correspondência ainda recebam alguma resposta.
Question 3. Coloque na ordem certa os passos de como um chatbot baseado em regras responde a uma mensagem.
- 1.Chega uma mensagem da pessoa
- 2.O bot confere a mensagem contra as palavras-chave de cada intenção, galho por galho
- 3.Se um galho bate, o bot envia a resposta daquele galho
- 4.Se nenhum galho bateu, o bot envia a resposta de reserva
0 de 3 respondidas
Experimente você
Quebre o seu próprio chatbot
Pegue o chatbot que você criou e tente enganá-lo. Ache três mensagens que uma pessoa de verdade poderia enviar e que as suas palavras-chave não pegam.
- Escreva três mensagens que signifiquem algo que o seu bot deveria dar conta, mas que evitem todas as suas palavras-chave.
- Acompanhe cada uma pela sua árvore e confirme que ela cai na resposta de reserva.
- Para cada uma, decida: dava para consertar acrescentando uma palavra-chave, ou é diferente demais para pegar com regras?
Você conseguiu quando
- Três mensagens que chegam à resposta de reserva mesmo sendo compreensíveis para uma pessoa.
- Para cada uma, uma anotação sobre se uma palavra-chave resolveria.
- Um exemplo claro que palavras-chave sozinhas não resolvem.
Reflexão
Salva neste aparelho enquanto você escreve
Por favor, não inclua informações privadas. As suas respostas ficam salvas só neste navegador e nunca são enviadas para lugar nenhum.
Recapitulando
Um chatbot baseado em regras casa palavras-chave para adivinhar a intenção do usuário, leva a mensagem por uma árvore de decisão, e usa uma resposta de reserva para tudo que não consegue casar.
- Palavras-chave são as palavras que o bot fica de olho; intenções são o que a pessoa realmente quer.
- Uma árvore de decisão confere uma intenção por galho e termina em uma resposta de reserva.
- Bots baseados em regras só dão conta das intenções que alguém programou; todo o resto escapa.
Extensão para o 7.º e 8.º ano
Das regras ao aprendizado
Os grandes chatbots reais não dependem só de listas de palavras-chave. Muitos usam aprendizado de máquina treinado com milhares de mensagens reais, então conseguem reconhecer uma intenção até em formulações que ninguém digitou à mão.
Descreva uma vantagem e um risco de um chatbot baseado em aprendizado comparado ao seu, baseado em regras. Pense no que acontece quando as mensagens de treinamento não incluem o jeito de falar de algumas pessoas.
Termine esta aula
- Attempt the knowledge check: não feito
- Save a reflection (recommended): não feito
Faça a checagem de conhecimentos para terminar esta aula.