Ir para o conteúdo
Return to course

Week 4 · Lesson 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.

Materials
Esta aula em um navegador web · Papel e lápis, ou um aplicativo de notas
This lesson
In progress

Auto-saves on this device

What you'll be able to do

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

Think about it

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.

Make a prediction

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?

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

Worked example

Acompanhando uma mensagem pela árvore

  1. 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).
  2. Um cliente digita: "Quanto custa uma pizza grande?"
  3. Galho 1: contém horário, abrem ou fecham? Não. Vá em frente.
  4. Galho 2: contém onde ou endereço? Não. Vá em frente.
  5. Galho 3: contém pedido ou entrega? Não. Vá em frente.
  6. 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.

Takeaway: 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.

Como um chatbot baseado em regras encaminha uma mensagem

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.

A mesma intenção, muitas formulações
Mensagem do clientePalavra-chave encontrada?Resultado
Que horas vocês fecham?fechamBate com "ver horário"
Vocês abrem até tarde?abremBate com "ver horário"
Até que horas vocês atendem?noneCai na resposta de reserva
Ainda estão servindo comida?noneCai 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.

Activity

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.

  1. Pick a template, then edit the welcome, intents (keywords + response), a follow-up branch, and the fallback.
  2. Watch the decision-tree outline and the validation checks for dead ends, unreachable nodes, and a missing fallback.
  3. Test your bot in the live preview — try normal questions, unexpected input, and asking for a human.

Start from a template

Answers questions about hours, borrowing, and library cards.

Build your bot

Intents (checked in order)

  1. Follow-up branch

Decision-tree outline

  • ▸ 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.

Checks

All checks pass — no dead ends, unreachable nodes, or missing fallback.

Live preview

Please don't type personal information (full name, address, phone). I only answer general questions.

Send a message to test your bot. Try a keyword, an unexpected message, or “talk to a person”.

Check your understanding

Responda a estas perguntas para conferir se você entendeu como funciona um chatbot baseado em regras.

  1. Question 1. O que é uma "intenção" em um chatbot?

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

  3. Question 3. Coloque na ordem certa os passos de como um chatbot baseado em regras responde a uma mensagem.

    1. 1.Chega uma mensagem da pessoa
    2. 2.O bot confere a mensagem contra as palavras-chave de cada intenção, galho por galho
    3. 3.Se um galho bate, o bot envia a resposta daquele galho
    4. 4.Se nenhum galho bateu, o bot envia a resposta de reserva

0 of 3 answered

Try it yourself

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.

  1. Escreva três mensagens que signifiquem algo que o seu bot deveria dar conta, mas que evitem todas as suas palavras-chave.
  2. Acompanhe cada uma pela sua árvore e confirme que ela cai na resposta de reserva.
  3. Para cada uma, decida: dava para consertar acrescentando uma palavra-chave, ou é diferente demais para pegar com regras?

Success looks like

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

Reflection

Saved on this device as you type

Please don't include private information. Your answers are saved only in this browser and are never sent anywhere.

Recap

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.

Grades 7–8 extension

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.

Finish this lesson

  • Attempt the knowledge check — not done
  • Save a reflection (recommended) — not done

Attempt the knowledge check to finish this lesson.