Desenvolvimento

8 set, 2017

Iniciando o treinamento do seu futuro chatbot

Publicidade

No artigo anterior falamos sobre os conceitos que você deve conhecer para criar chatbots utilizando ferramentas online. Hoje vamos falar de mais um trabalho “manual” quando falamos de chatbots, que seria o treinamento.

Grande parte do trabalho que deve ser feito na criação do bot é o processamento das mensagens recebidas, onde, o serviço recebe a mensagem enviada ao bot e ele tenta desvendar as intenções e as entidades contidas naquela mensagem, mesmo que as mensagens enviadas não sejam exatamente o que foi configurado anteriormente.

Em geral os devs pensam que essa tratativa é feita “automagicamente”, e que o serviço de chatbots irá sempre acertar as intenções e entidades quando receber uma chamada. Não é bem assim, esses serviços são treinados globalmente com expressões bem genéricas. Então, elas não são tão assertivas quanto deveriam.

Por exemplo: Vamos supor que estamos criando um chatbot para um petshop. E  que o usuário queira comprar um animal. Sendo assim, o usuário enviaria uma mensagem “Quero comprar um cachorro”. A intenção do usuário aqui seria “comprar” e a entidade poderia ser  “animal” tendo como valor “cachorro”.

Bem, no caso acima, apenas precisaríamos configurar uma intenção “comprar” e uma entidade “animal” e colocar como um dos valores para essa entidade “cachorro” Ficaria mais ou menos assim, caso utilizássemos o serviço wit.ai.

Iniciando o treinamento do seu futuro chatbot

No wit.ai a intenção (intent) é um tipo de entidade. Mas, em outros serviços é algo apartado. Por isso vamos tratar como sendo apartado. Nosso chatbot está configurado para entender o que é uma compra e qual o animal que o usuário deseja comprar.

Mas, vamos supor que o usuário escrevesse “Quero comprar um dog”, que, entendemos como humanos que ele deseja comprar uma entidade “animal” com o valor “cachorro”. Mas, será que o chatbot entenderia?

Iniciando o treinamento do seu futuro chatbot

Bem, parece que não, né. No caso acima, sabemos que quando o usuário se referir a “dog” ele está se referindo a um cachorro. Mas, o chatbot não consegue entender isso. Então devemos treinar o chabot, primeiramente,  para reconhecer quais seriam os valores válidos para a entidade “animal” e posteriormente quais seriam os sinônimos para cada um de seus valores.

No caso do wit.ai, na caixa de seleção “animal”, onde está escrito ‘create new value “dog”’ poderíamos selecionar “cachorro” para criarmos um sinônimo para cachorro, ou poderíamos criar um novo valor “dog”, caso entendêssemos que dog pudesse ser um valor válido para animal.

O trabalho que teremos aqui é simular muitas conversas com o chatbot e ir corrigindo e acrescentando as entidades e intenções que estamos pensando para nosso chatbot. Tendo em vista que os serviços são bem genéricos e às vezes não irão encontrar as entidades ou as intenções.

No próximo artigo falaremos sobre como o chatbot deverá responder ao usuário de acordo com as intenções e entidades encontradas. Nos vemos lá.