Primeiras aulas do curso Chatbot parte 1: Começando com as conversas inteligentes usando o Watson

Chatbot parte 1: Começando com as conversas inteligentes usando o Watson

Conversando com o bot pela primeira vez - Introdução

Oi, eu sou a Cássia e serei sua instrutora neste curso básico de Chatbots. Nós vamos trabalhar com o serviço de Watson Conversation!

Eu irei ensinar tudo o que você precisa saber para se locomover nesta ferramenta e fazer uso do seu chatbot da melhor maneira possível!

Um dos aprendizados será fazermos toda a estrutura com diferentes níveis e subníveis, e todos os fluxos de conversas com o usuário, a partir de condicionais como if e else, e outras práticas como o Jump to, junções e conjunções com and e or. Entenderemos o que é o Diálogo ("Dialog"), as Entities (ou "Entidades"), além de explicarmos para que servem e como deverão ser utilizadas.

Da mesma maneira, aprenderemos sobre Intents, ou "Intenções", e durante todo o processo usaremos o chatbot localizado ao lado direito da tela para irmos testando-o simultaneamente.

Neste caso, o projeto será realizado para um site de e-commerce chamado Aluraphone, que vende celulares, smartwatches e tablets. O bot será usado para otimizar aquele departamento que sempre fica atendendo ligações de usuários com dúvidas, ou do FAQ, pois muitas vezes, ele é buscado para sanar dúvidas e não conseguimos sequer encontrá-lo, e às vezes, é mais fácil perguntar para um amigo do que tentar achá-lo pelo caminho mais usual.

Poderemos construir, assim, uma conversa deste tipo com o usuário:

"Olá. Como posso te ajudar?"

"eu quero comprar um celular"

"Legal, vou te ajudar. Irei fazer algumas perguntas para selecionar o melhor produto para você, ok?"

"ok"

"Você tem preferência por alguma marca de celular?"

O curso possibilitará seu primeiro projeto com algum tipo de Inteligência Artificial, sendo que a única ferramenta que usaremos é um editor de texto, como o Notepad++, mas poderia ser até o Microsoft Word. Isto nos auxiliará na organização das ideias!

Bem-vindo ao curso, até a próxima aula!

Conversando com o bot pela primeira vez - Criando a área de trabalho no Watson Conversation

Acabamos de criar nosso serviço de Conversation, e agora precisaremos entrar nele, e para isto basta clicar no botão "Launch tool", na tela da IBM Bluemix para abrirmos a ferramenta. Ao fazê-lo, somos redirecionados aos Workspaces ("áreas de trabalho"), responsáveis por conterem nosso projeto.

Para começarmos de fato a trabalhar nele, é preciso criar um workspace. Clicaremos em "Create", o que abre uma janela solicitando que digitemos um nome. Como estamos trabalhando com um site de e-commerce chamado Aluraphone, usaremos simplesmente Aluraphonebot, mas poderia ser qualquer outro nome de sua preferência.

Na parte que indica "Description", precisaremos dar uma descrição do bot. Poderemos digitar "Um chatbot para o site de ecommerce Aluraphone." Neste campo, também pode-se escrever o que quiser, tudo que sirva para identificar o chatbot que está sendo criado.

No campo de linguagem ("Language"), será indicado o idioma reconhecível pelo bot, aquele que as pessoas usarão para se comunicar com ele. Por estarmos fazendo um bot para um e-commerce nacional, escolheremos a linguagem correspondente, isto é "Portuguese (Brazilian)".

Para finalizarmos a criação do workspace, clicaremos no botão "Create". A partir disso, começaremos a fazer todo o fluxo de diálogo que queremos para que o chatbot se comunique com o cliente.

Conversando com o bot pela primeira vez - Criando e respondendo a intenção adicionar produto

Acabamos de criar um workspace, e estamos no serviço Watson Conversation. Quando falamos com um bot ou com alguém, criamos um certo diálogo, no qual uma pessoa interage com outra, uma pergunta, a outra responde, e assim por diante.

Então, o primeiro ponto a ser explorado é uma estrutura básica para que esta conversa se desenvolva. Para isto, clicaremos na aba "Dialog" e depois em "Create", botão mais ao centro da página.

A nova página abre com dois retângulos ligados a "Aluraphone", e representam a estrutura básica de diálogo que usaremos, e que iremos incrementar ao longo do projeto para a construção dos diálogos com o usuário. Vamos começar a testá-la!

No canto superior à direita da tela, há um ícone de retângulo com os cantos arredondados e reticências dentro. Mantendo-se o cursor em cima dele, lê-se "Ask Watson", ou "Pergunte ao Watson". Ao clicarmos nele, abre-se uma janela de chat, interno ao serviço de Conversation, e veremos a mensagem:

Olá. Como posso te ajudar?

Daremos uma olhada nas perguntas existentes no FAQ para usá-las nesse chatbot e verificar se há entendimento. Digitaremos:

quando eu adiciono um produto ao carrinho, ele fica reservado?

O Watson responde:

Eu não entendi. Você pode tentar reformular a frase.

Ao que digitaremos o seguinte:

tenho uma reserva de produto quando coloco o produto no carrinho?

E o que se segue é:

Você pode reformular sua afirmação? Eu não estou entendendo.

Por que será que ele não está conseguindo entender a pergunta e fica pedindo para que reformulemos a frase o tempo todo?

O Watson não deixa de ser uma máquina, um programa, para o qual não estamos informando o que precisa ser respondido a partir das perguntas que fazemos, tampouco indicamos as perguntas que ele precisa entender, e que precisam ser estudadas.

É isto que faremos ao longo da aula, começando com algo comum em projetos com chatbots, que é juntar perguntas frequentes de usuários, geralmente encontrados em FAQs.

Neste caso, quanto mais perguntas houverem, melhor, e quanto mais reais forem, melhor também. Dentre as perguntas disponíveis está aquela que usamos no início, "quando eu adiciono um produto ao carrinho, ele fica reservado?".

Reuniremos outras em um arquivo de edição de texto, como o Sublime:

Quando eu adiciono um produto ao carrinho, ele fica reservado?

Quanto tempo demora para o meu produto ser entregue?

Eu queria ajuda para comprar um celular.

Qual a intenção pretendida pelo usuário, em relação à primeira pergunta? O que ele quer saber? É sobre uma reserva, uma adição ao carrinho...? Se tivéssemos que classificar esta pergunta, como a responderíamos?

A resposta dada a esta pergunta poderia ser "Não. O produto só é reservado após a finalização do pedido.", então, se pudéssemos nomeá-la, seria algo como "reserva de produto", ou algo que tivesse uma ligação com adicionar o produto ao carrinho, por exemplo, como "adicionar produto".

Passando à segunda pergunta, poderíamos categorizá-la como "entrega de produto", e a última, que é uma afirmação, ficaria na categoria "comprar produto". O arquivo ficará assim:

intenção: reserva de produto
adicionar produto
Quando eu adiciono um produto ao carrinho, ele fica reservado?

intenção: entrega de produto
Quanto tempo demora para o meu produto ser entregue?

intenção: comprar produto
Eu queria ajuda para comprar um celular.

O Watson possui intenções, que serão as perguntas do usuário e, para elas, há as respostas, assim como acontece no FAQ.

Agora, voltaremos ao serviço e criaremos a primeira intenção. Fecharemos a janela do chatbot clicando no "X", em seguida na aba "Intents", e depois em "Create new".

O nome da intenção será "#adicionar-produto". Não é legal deixarmos espaço entre as palavras, ou algo que dificulte sua leitura, então usaremos o hífen, ou o underscore/underline.

Na linha de baixo, digitaremos a pergunta "Quando eu adiciono um produto ao carrinho, ele fica reservado?". Veremos que é possível atribuir mais de uma pergunta para cada nome de intenção. Digitaremos "Ao adicionar um produto ao carrinho, ele fica reservado?", outra forma de perguntarmos isto.

Conforme digitamos estas informações e fazemos as alterações com a janela do chatbot aberta ao lado, vê-se a mensagem "Watson is training", indicando que o Watson está treinando. Muitas vezes, quando fazemos alguma mudança, o Watson começa a treinar para aprendê-la.

Sendo assim, é sempre recomendável estarmos atentos a isso, pois se ele estiver treinando, não conseguirá responder da mesma forma. Vamos fechar o chat e clicar no botão "Done" ("Feito") da aba "Intents".

Feito isto, voltaremos à aba "Dialog", pois já temos a estrutura de perguntas, e agora precisaremos informar como o Watson deve responder a elas. Clicaremos no botão azul "Add node" ("Adicionar nó"), o que fará com que surja um novo retângulo, com uma tela pedindo um nome qualquer que ajude a situar e indicar sobre o que se trata este nó.

Escreveremos "Reserva de produto" e, na parte de "If bot recognizes:" ("Se o bot reconhecer:"), devemos digitar a intenção que acabamos de colocar, a pergunta, ou input do usuário. Neste caso, usaremos "#adicionar-produto", tal como a intenção recém criada.

"Then respond with:" significa "Então responda com:", que será a resposta que queremos dar ao usuário, que será "Não, o produto só é adicionado ao carrinho após a finalização do pedido."

Desta forma, indicaremos ao bot que tipo de informações podem ser entendidas e qual resposta será a mais adequada a partir delas. Vamos testar isso no chatbot?

Para limpar a caixa de diálogo, que já possui as perguntas anteriores, basta clicar em "Clear", na parte superior do chat. O diálogo, desta vez, ficará deste modo:

Olá. Como posso te ajudar?

Quando adiciono um produto, ele fica reservado?

Não, o produto só é adicionado ao carrinho após a finalização do pedido.

Ou seja, o Watson entendeu a pergunta e respondeu de acordo! A pergunta é mapeada corretamente, por conta da exibição de "#adicionar-produto", nossa intenção!

Sobre o curso Chatbot parte 1: Começando com as conversas inteligentes usando o Watson

O curso Chatbot parte 1: Começando com as conversas inteligentes usando o Watson possui 172 minutos de vídeos, em um total de 43 atividades. Gostou? Conheça nossos outros cursos de Machine Learning em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Machine Learning acessando integralmente esse e outros cursos, comece hoje!

  • 1155 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1155 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1155 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1155 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Procurando planos para empresas?
Acesso por 1 ano
Estude 24h/dia onde e quando quiser
Novos cursos toda semana