Como criar chatbots usando Watson Assistant

Escrito em 02 de Junho de 2022 por Parceiro iugu

Atualizado em 24 de Agosto de 2023

Produtos ou serviços digitais que implicam um alto grau de interação com o cliente ou usuário podem dificultar a minimização da fricção dos fluxos de uso ou compra na aplicação. Contornar este problema normalmente requer múltiplas estratégias empregadas em associação.

Uma delas é o uso de chatbots, interfaces baseadas em texto que simulam um diálogo com o usuário. Essas ferramentas criadas com inteligência artificial disponibilizam ao usuário um concierge automatizado, capaz de auxiliá-lo na realização das mais diversas tarefas.

Hoje, os chatbots ajudam usuários e clientes do mundo todo a realizar compras, obter suporte técnico, agendar consultas, acessar serviços cívicos e bancários, acionar coberturas de seguro, etc.

Se você deseja implementar um chatbot na sua aplicação, não é necessário temer a magnitude do trabalho. Com as soluções hoje disponíveis no mercado, você pode criar um chatbot do zero em apenas alguns minutos. O processo é bastante simples e amigável, conduzido inteiramente por meio de interface gráfica.

Uma dessas soluções é a Watson Assistant (anteriormente conhecida como Watson Conversation), tecnologia da IBM que permite a criação de chatbots. Para descobrir como criar um chatbot rapidamente usando Watson Assistant IBM, continue a leitura!

 

IBM Watson Assistant

Watson Assistant é um serviço disponível através da IBM Cloud. Esse serviço permite programar um robô de conversação sem digitar uma linha de código sequer. Através de uma interface gráfica, você cria todos os fluxos conversacionais e integra à sua aplicação com um simples ctrl+c, ctrl+v.

O produto final é um chatbot bem arredondado que fornece respostas ágeis, precisas e consistentes. A empresa também afirma que os bots criados com Watson Assistant são mais “espertos”, isto é, mais capazes de interpretar as diferentes formas como as pessoas digitam e interagem com ele.

 

Como criar um chatbot usando o IBM Watson

Criar um chatbot usando a plataforma da IBM é simples e rápido. O processo pode ser inteiramente conduzido através de interface gráfica e o passo-a-passo é, dentro do possível, bastante intuitivo.

Apesar de o serviço estar disponível em português, o processo de criação ainda utiliza a língua inglesa nas interfaces — algo importante de se mencionar antes de iniciar o processo.

Mas a língua não deve ser uma barreira, pois os passos são simples e fáceis de memorizar e reproduzir.

 

1. Criando uma conta IBM Cloud

O Watson Assistant é uma funcionalidade inclusa no pacote de serviços da IBM Cloud. Por isso, para utilizá-lo você precisará de uma conta.

Há um plano gratuito e este plano concede acesso ao Assistant, mas para utilizar certas funcionalidades em escala será necessário aderir a um plano mais robusto — pago.

 

2. Planejando seu bot

Antes de começar a implementar seu bot, é importante que você o tenha planejado em mente ou no papel. Defina coisas como a finalidade do bot; as possíveis interações com usuários; os tipos de informação coletada; e os retornos esperados pelos usuários.

Por exemplo, suponha que você deseja criar um chatbot para que os usuários de um restaurante façam reservas. Este bot terá de lidar com diálogos a respeito dos horários de funcionamento do restaurante e informações de contato, por exemplo, além do próprio fluxo de reservas de mesas.

Para o fluxo de reserva de mesas, o bot precisará coletar do usuário informações como data e horário da reserva.

 

3. Criando uma instância de chatbot do Watson Assistant

Uma vez que tenha criado sua conta na IBM Cloud, você será levado para o painel do produto. Na barra de pesquisa ao topo, digite “Watson Assistant” e clique para criar um service do Watson Assistant.

Após criar o service, clique nele para abrir suas informações. Em seguida, clique no botão “Launch Watson Assistant” para iniciar.

Após iniciar o service, você será levado a uma tela e verá seu assistente criado com o nome “My First Assistant”.

Clique em “My First Assistant” e, em seguida, no card “My first skill” na seção Dialog.

 

4. Adicionando intents à skill

Os intents são, conforme sua tradução literal, intenções do usuário, ou seja, as ações que ele deseja performar independente da forma como as solicite.

Por exemplo, se o usuário diz “gostaria de fazer uma reserva”, “gostaria de reservar uma mesa” ou “posso fazer uma reserva?”, sua intenção é uma só: fazer uma reserva.

Para o nosso bot de reservas, definiremos duas intenções: fazer uma reserva e obter horários de funcionamento.

Ao criar um intent, você precisará fornecer ao Watson cinco exemplos de frases que o usuário pode digitar para declarar aquela intenção. Com elas, a IA do Watson utiliza Natural Language Processing para analisar as frases do seu usuário e extrair intenções das mensagens, mesmo quando elas são declaradas em frases diferentes das originalmente fornecidas.

Ao clicar em “My first skill” você será levado a uma tela na qual poderá criar intents. Para isso, clique no botão azul ao centro da tela “Create intent”.

Após clicar, informe o nome da intent, por exemplo, “fazer_reserva” e clique em criar. Então informe os exemplos de frases no campo “User examples”.

Repita o processo para criar uma intent para “obter_horários”.

 

5. Adicionando entities à skill

As entities (entidades) são os complementos informacionais que acompanham a intent. Para a intent “fazer_reserva”, por exemplo, as entities serão a data e o horário da reserva.

Criar as entities é um processo parecido com a criação das intents. A diferença é que, no painel da skill você deverá selecionar a aba “Entities” na barra lateral à esquerda. Ainda neste menu, você verá duas opções aninhadas: “My entities” e “System entities”.

No nosso exemplo, as entidades necessárias já estão disponíveis por padrão no Watson Assistant. Portanto, clique em “System entities” e habilite as opções “sys-date” e “sys-time” na lista.

Feito isso, seu bot estará capacitado para coletar datas e horários das mensagens do cliente.

 

6. Configurando o dialog

Os diálogos, ou dialogs, são os fluxos de conversação que determinam as interações entre o usuário e o chatbot.

Ainda no painel da skill de diálogo “My first skill”, clique na aba “Dialog” na barra lateral à esquerda. Você verá dois dialog nodes padrão, criados automaticamente. O node “Welcome”, que contém a mensagem de saudação repetida pelo bot ao usuário no início da interação; e o node “Anything else”, que contém a mensagem proferida pelo bot quando o input do usuário não é reconhecido.

Para entender melhor como criar os fluxos de diálogo, é importante entender como funciona a lógica no bot.

Após iniciada a interação, o bot espera que o usuário declare sua intenção (intent). Se o usuário declarar uma intent que o bot esteja programado para reconhecer, o fluxo seguirá para a coleta das entities, isto é, as informações da reserva.

Se o usuário responde informações que atendam aos requisitos do bot, o fluxo continua. Senão, ele é interrompido. Portanto, os nodes adicionais que você criar determinarão condições a serem atendidas pelo input do usuário. Do contrário, o fluxo não continuará.

Comece clicando no node “Welcome” e substitua o texto pela mensagem de saudação que preferir. Faça o mesmo com o node “Anything else”.

Para o bot do nosso exemplo, precisaremos criar dois nodes adicionais para as duas intents que criamos.

 

7. Adicionando nodes ao dialog

Para adicionar um node, clique nos três pontos no canto superior direito do node “Welcome” e depois clique em “Add node below”. O Watson criará um node entre “Welcome” e “Anything else”, com o nome “No condition set”.

Clique neste novo node e defina um nome para ele. Seguindo o exemplo, chamaremos este primeiro node de “horários de atendimento”.

Em seguida, na seção “If assistant recognizes”, informe uma intent como condition para engatilhar o fluxo. Neste caso, “obter_horários”

Toda vez que o bot detectar que o usuário tem a intenção de obter os horários de atendimento do seu restaurante, o fluxo de diálogo do node “horários de atendimento” será iniciado.

Na seção “Assistant responds”, selecione a opção “Text” no menu drop-down e insira a mensagem que o bot deve fornecer como resposta (por exemplo: “Nosso restaurante funciona de terça a sábado, das 19h às 23h”.

Agora o bot já está pronto para responder a usuários sobre os horários de funcionamento do restaurante.

Em seguida, criaremos o node para a intent “fazer_reserva”. Repita o processo de inserir um novo node entre “horários de atendimento” e “Anything else”. Chame o novo node de “reservas”.

Na seção “If assistant recognizes”, insira como condition a intent “fazer_reserva”. Diferente de “obter_horários”, essa intent requer a coleção de duas entities distintas: “sys-date” e “sys-time”. Logo, essa node não pode levar o usuário a uma resposta textual estática.

Para coletar as duas informações neste node, usaremos os slots.

 
7.1 Adicionando slots ao node

Slots são processos individuais de coleção de entities distintas dentro de um mesmo node. No nosso exemplo, slots permitem coletar do usuário as informações de data e horário em que gostaria de fazer a reserva, as entities “@sys-date” e “@sys-time” que ativamos anteriormente.

Adicionar slots é simples: ainda na tela de edição do node, clique em “Customize” no canto superior direito. Na modal aberta pelo botão “Customize”, ative o radio button da opção “Slots”. Em seguida, clique em “Apply” e feche a modal.

Na tela de edição do node, você verá que a seção “If assistant recognizes” sumiu. Ao invés dela, você agora verá a seção “Then check for”. Clique em “Add slot” e crie 2 slots. Cada um deles servirá para coletar uma entity.

Na coluna “Check for” insira uma entidade em cada um dos slots criados. Na coluna “Save it as”, dê um nome para a categoria da informação, por exemplo, “$data” e “$horario”. Na coluna “If not present, ask” insira uma mensagem para que o bot pergunte a informação ao usuário, por exemplo: “Qual o dia da sua reserva?” ou “Qual o horário da sua reserva?”.

A mensagem padrão é definida na coluna “If not present, ask” (se não estiver presente, pergunte), pois o bot é capaz de detectar as possíveis variáveis (data e horário, no caso) automaticamente para preencher os slots. Nesse caso, o fluxo dispensa a pergunta direcionada à obtenção daquela informação.

Por último, na seção “Assistant responds”, insira a mensagem final do bot após a conclusão do fluxo de reserva: “Obrigado pela preferência! Sua mesa está agendada no dia $data, às $horario. Esperamos por você! 😉”

 

8. Teste seu bot

Seu bot está pronto! Clique em “Try it” no canto superior direito do painel e converse com seu bot. A janela de preview permite fazer ajustes simples para garantir que seu chatbot funcione exatamente como você espera.

Se tudo estiver ok, é só seguir as instruções no painel do Watson para implementar seu bot no Messenger, Whatsapp ou site da sua empresa.