chatbot-dialogflow-implementacao

Chatbot conceitos e implementação

Neste artigo apresento alguns conceitos relacionados com os chatbot e apresento algumas sugestões de como realizar a implementação destes elementos em seu site ou aplicativo.

Quando pensamos em chatbot, ou chatter bot do inglês robô de conversação, o que nos vem à mente são os programas que imitam uma conversa com atendentes humanos.

Entretanto atualmente o emprego dos chatbots não está restrito à conversação, pois eles podem ser usados para uma grande variedade de aplicações entre elas: exibição de notícias, resumos de postagens, agendamento de consultas, treinamento de usuários etc.

A essência é que estes programas, fazendo uso de recursos avançados como a inteligência artificial, servem para auxiliar os usuários de um aplicativo, seja um web site ou uma aplicação comercial, e tornar a experiência de uso o melhor possível.




Tipos de chatbot

Em relação ao mecanismo de interação com os usuários os chatbot podem ser classificados em três tipos principais:

  • Regras fixas: são aqueles cuja interação com os usuários se dá baseada em um script de atendimento com opções predefinidas e limitadas a um certo conjunto finito de frases de comando e fluxo de conversação. Assemelham-se ao menu que escutamos ao ligar para o auto atendimento de uma central de cartões de crédito, porém na forma de botões, listas de valores e carrosséis de imagens. Reconhece apenas comandos exatos e predefinidos, ou seja, caso haja um pequeno erro de ortografia ou omissão de letra não é capaz de reconhecer o comando correspondente.
  • Conversacionais: nesta classificação se enquadram aqueles que fazem uso de inteligência artificial para implementar o que se chama de processamento de linguagem natural de forma a conseguir processar comandos de maneira mais flexível, buscando interpretar a intenção do usuário. Assim, são capazes de entender como uma mesma intenção os comandos: mostrar menu, exibir opções, mostrar opções, e até variações com eventuais erros de ortografia.
  • Híbridos: fazem uso das duas metodologias acima visando conseguir, ao mesmo tempo, dar agilidade ao atendimento e fornecer uma melhor experiência de utilização, simulando uma conversa mais próxima da que seria mantida com um operador humano.

Antes da implementação de um chatbot existe a fase de projeto que definirá quais as funcionalidades que ele deverá ter e também definido em qual dos tipos ele se encaixa.

Aplicações

Existe uma gama muito variada de aplicações para os chatbot e assistentes virtuais, e, além disso, a tendência é que nos próximos anos surjam ainda mais usos para eles em virtude da presença cada vez maior de dispositivos inteligentes, como relógios, caixas de som, roupas e outros, que irão fazer uso das mesmas técnicas que um chatbot para entender comandos e executar funções.

Algumas das principais aplicações de um chatbot atualmente são as seguintes:

  • Atendimento virtual: é uma das principais aplicações dos chatbot e consiste em realizar uma primeira interação com os clientes, na forma de scripts de atendimento que permitem a resposta automática às perguntas e solicitações mais frequentes, e , ainda, o acionamento de operadores humanos que realizarão um segundo nível de atendimento caso o chatbot não consiga satisfazer a solicitação dos usuários.
  • Marketing: usado em sites para reter visitantes, gerar leads, capturar informações de usuários, disparar envio de e-mail. E em campanhas de promoções de venda de produtos, apresentando de forma interativa as suas características.
  • Agendamento e reservas: trabalhando de forma integrada com os sistemas internos da empresa para permitir realizar agendamento e reservas de consultas, locações, visitas e outros eventos, sem a necessidade de operadores humanos.
  • Educacional: os chatbot podem ser usados para ensino, aprendizado e treinamento, executando ações como: fornecer guia de estudos; responder a perguntas mais frequentes; sugerir estudos adicionais entre outras atividades sujeitas de serem automatizadas. Como complemento a manuais de sistemas, orientando os usuários em como realizar tarefas específicas.
  • Recursos Humanos: neste tipo de aplicação atuam em várias fases do relacionamento entre empregado e empresa, desde o recrutamento até seu desligamento da organização, passando por assuntos como salários, férias, benefícios e procedimentos internos da empresa.
  • Diversão: existem várias possibilidades de aplicação dos chatbot para mero entretenimento, desde a mais corriqueira que são os jogos, como algumas mais inusitadas, como por exemplo um famoso chatbot que adivinhava o nome de uma personalidade a partir das características informadas pelos usuários. As possibilidades são inúmeras: como contar piadas, dizer frases de motivação, exibir os resultados do último jogo, ou simplesmente passar o tempo conversando.




Porque implementar Chatbot?

Em estudo feito em 2018 o Gartner Group já indicava que até 2020 um quarto dos atendimentos a cientes seria feito por meio de IA na forma de assistentes virtuais e chatbots.

Outro estudo deste proeminente grupo indica que até 2021 haverá um crescimento no uso destes assistentes virtuais no local de trabalho, sendo esperado que até 25% dos profissionais passem a usar diariamente os VEA (Virtual Employee Assistant), algo como assistentes virtuais empresarias para funcionários.

Hoje, no ano de 2020 quando escrevo o texto, vivemos a concretização destas previsões, pois os chatbots e assistentes virtuais estão cada vez mais presentes em nosso cotidiano e aparecem em quase todos os sites de grandes empresas.

Atualmente os usuários de site e aplicativos esperam que exista alguma forma de atendimento virtual, feito por operadores humanos ou por um chatbot, que agilize sua busca por informações e as operações feitas no site.

Implementar um chatbot é uma forma de atender esta demanda e, desta forma, manter o engajamento de seus usuários e aumentar o tempo que permanecem usando seu aplicativo.

No que se refere ao atendimento virtual um chatbot normalmente é usado para prestar um atendimento inicial, respondendo a perguntas feitas com mais frequência, e em um segundo momento acionando um operador humano caso seja necessário

Desta forma, levando em conta também a forte concorrência que existe hoje entre os negócios baseados na internet, principalmente entre os varejistas on‑line, a existência de um chatbot não é mais um diferencial e sim um elemento obrigatório nestes empreendimentos.

Este cenário faz com que surjam várias oportunidades para os desenvolvedores de software, pois a tendência é que estes profissionais sejam cada vez mais demandados para realizar tarefas relacionadas à implementação de assistentes virtuais.

Como implementar

Existem pelo menos três alternativas: desenvolvimento interno; aquisição ou contratação de software pronto; abordagem mista, usando software semipronto na forma de frameworks e fazendo in‑house o restante do desenvolvimento.

A escolha de uma delas dependerá de vários fatores, entre eles: a rapidez com que deseja que o chatbot seja implantado; a quantidade de dinheiro disponível; o grau de controle e customização desejado, entre outros.

Desenvolvimento interno

Uma opção para acrescentar um assistente virtual ao seu aplicativo é você mesmo e sua equipe executarem todo o desenvolvimento. A vantagem desta abordagem é que o chatbot irá se comportar exatamente da forma que você deseja.

Porém, para isto será necessário um enorme investimento em dinheiro, e, principalmente, em tempo, pois de acordo com estimativas de mercado o tempo que você levará para completar esta tarefa com 3 programadores dedicados será de 18 meses em média.

Solução pronta

Para realizar a implementação com rapidez uma alternativa seria contratar uma solução pronta a qual poderia ser na forma de um software já desenvolvido ou na forma de um serviço fornecido por terceiro através de uma API.

Fazendo uma busca no Google pelos termos “chatbot widget” é possível listar várias empresas especializadas que fornecem este tipo de serviço.

Contudo, apesar da rapidez de implementação destes serviços (para ativar alguns deles basta inserir uma tag HTML) seu grau de controle sobre o código é nulo. Estando limitado às opções de customização oferecidas pelo serviço e além de ter de confiar que o chatbot foi bem codificado e não apresenta bugs ou brechas de segurança.

Além disso, dependendo do tamanho de seu projeto, talvez não compense investir em um serviço deste tipo.

Abordagem mista

Existe uma terceira alternativa que é um meio-termo entre as duas anteriores e que consiste em usar os frameworks, software semipronto, para diminuir os custos e minimizar a necessidade do desenvolvimento interno, mas ainda mantendo algum grau de controle sobre o código.

Em meu livro Chatbot na Prática com Botman Studio e Dialogflow descrevo como implementar um chatbot usando esta última abordagem, usando os frameworks Laravel e Botman Studio para implementar de forma rápida uma aplicação de chatbot completa.

Inscreva-se no blog se gostou do conteúdo e quer ser avisado quando postarmos novos artigos.

Consulte neste link mais artigos sobre programação e desenvolvimento de software .