Olá, estudante! Na aula de hoje vamos nos aprofundar nos conhecimentos sobre assistente virtual iniciados na aula anterior. Agora você será apresentado a algumas ferramentas de desenvolvimento de assistentes virtuais utilizadas atualmente – essas que são responsáveis pela maioria dos assistentes virtuais que você encontra, seja na internet ou no seu dispositivo móvel. Depois será apresentado um esboço de como desenvolver um chatbot, como também são chamados os assistentes virtuais – na verdade esse é o nome original.
E não se engane achando que o desenvolvimento de chatbots se finaliza na entrega do scripting e da plataforma, ou até mesmo com a integração, seja com seu site ou com o WhatsApp, Facebook ou outra mídia social. Isso porque, ao criar um chatbot, é necessário que você o treine e realize testes continuamente para que a resposta da ferramenta seja satisfatória.
Assim, o objetivo desta lição é finalizar o assunto – de acordo com o proposto pela disciplina – sobre assistentes virtuais com os tópicos já mencionados: ferramentas de desenvolvimento de chatbots, como é o desenvolvimento de chatbots e como você deve treinar e testar seu 2. para que ele atenda ao seu objetivo.
Você já vem conhecendo desde a lição passada a real necessidade de oferecer um atendimento eletrônico, seja para uma grande empresa ou até para o site ou aplicativo recém desenvolvido. O usuário – ou o cliente – que utilizar uma ferramenta desenvolvida – ou adquirir algum produto –, com certeza irá detectar alguns pontos que o desagradam, e também possíveis dificuldades de acessar alguma funcionalidade, ou realizar algum procedimento. E para auxiliar na resolução desses problemas, podemos utilizar o chatbot.
O problema agora é que, conhecendo a necessidade, como você deve proceder para criar seu chatbot? Você já conhece com quais linguagens consegue trabalhar para isso, conhece também o que seria a abordagem inteligente para tal processo e as características de um atendimento eletrônico.
Agora, não basta somente esse conhecimento, é necessário estar familiarizado(a) com as ferramentas de desenvolvimento disponíveis no mercado que, na sua maioria, auxiliam na produtividade deste desenvolvimento e, principalmente, são ferramentas testadas e aprovadas pela maioria dos clientes de tal funcionalidade, em todo o mercado, seja ele nacional ou internacional. Por isso este problema de “como você deve proceder para criar seu chatbot?” é considerado o mais simples de resolver devido ao grande número de fornecedores destas ferramentas disponíveis no mercado.
Sobra para você, desenvolvedor(a), a tarefa essencial de construir seu chatbot com todas as especificidades de sua empresa ou projeto e, na sequência, efetuar os treinamentos necessários para que ele “aprenda” suas funções e também realize a fase de testes para uma melhor assertividade no processo de atendimento eletrônico.
O case fictício apresentado hoje será sobre a empresa Integration Software S.A. Esta empresa viu no crescimento de utilização de chatbots um “achado” para direcionar a empresa para esse nicho de mercado, e a diretoria realizou uma grande reunião com as equipes de desenvolvedores.
Esta reunião foi para apresentar esse novo direcionamento, enfatizando algumas equipes específicas para entrega dos projetos atuais, e que, na sequência, se manteriam para outros projetos, liderando outras equipes para o desenvolvimento de atendentes virtuais sob demanda para outras empresas que já estivessem no meio digital.
O que a diretoria não sabia é que, como mudaria todo o conjunto de tecnologias que essas equipes deveriam utilizar – ou seja, as ferramentas de desenvolvimento destas equipes iriam mudar – consequentemente, haveria necessidade de investimento. Além disso, já havia grandes plataformas de mercado prontas para receber os chamados scriptings, desenvolvidos pelas empresas desenvolvedoras de chatbots. Outro fator de espanto para a diretoria foi o fato de que as equipes, dentro de cada projeto de chatbot, deveriam treinar e testar o atendente virtual desenvolvido, a fim de obter um resultado satisfatório; e, com isso, o caos se instalou, visto que não tinham contato com essa etapa e atrasariam outros projetos da empresa.
O case, apesar de fictício, demonstra que a etapa de treinamento e testes de uma ferramenta em desenvolvimento deve ser conhecida pelo desenvolvedor(a), visto que é necessária para o sucesso da ferramenta; e também, se não estiver prevista no cronograma pode, de fato, comprometer a entrega de outros projetos.
Nesta lição, apresentarei a você a parte que posso chamar de prática, não na questão de ser algo “mão na massa”, mas com relação às ferramentas utilizadas, o processo de desenvolvimento de um chatbot – que é o termo utilizado para definir um atendimento eletrônico via aplicativo e/ou site – e todo o processo do chamado treinamento da ferramenta e seus testes.
Antes de falar sobre as ferramentas de desenvolvimento, é importante ressaltar a mudança de abordagem que terei nesta aula. Como estou indo para a aplicação do conceito de atendimento eletrônico ou assistente virtual, termos já usados na aula anterior, a partir de agora irei me referir ao produto desta aula como chatbot. Já começo fazendo uma diferenciação dos termos chatbot e chat on-line, em que: chat on-line é uma ferramenta de conversas em tempo real com atendimento humano; e chatbot é um software no qual as interações com o usuário são programadas usando inteligência artificial, ou no caso abordado nesta aula o uso de fluxos de perguntas e respostas.
Segundo Raj (2019), desenvolver chatbots atualmente é muito mais fácil do que era há alguns anos. O autor ainda afirma que eles já existiam décadas atrás, no entanto a popularidade dos chatbots aumentou exponencialmente nos últimos anos. Com as ferramentas disponíveis hoje no mercado, você é capaz de criar um chatbot com extrema facilidade e rapidez, ainda mais se você for um técnico ou tem alguma ideia de como uma aplicação web ou móvel funciona. Isso porque, se você faz parte desse perfil já sabe como funcionam as APIs, e a grande maioria dos dados necessários dentro da empresa, ou de lugares que se relacionam com a empresa, estão disponíveis através de delas (APIs).
Temos hoje à disposição tanto ferramentas gratuitas quanto pagas, que nos ajudam a prover o serviço de chatbot de acordo com nossas necessidades. Inclusive, as que são pagas, trabalham com planos gratuitos com restrição de funcionalidade, o que reforça a ideia de que se consegue criar um chatbot rapidamente nas plataformas.
Efetuei uma pesquisa para trazer o que o mercado elenca como as principais ferramentas de desenvolvimento de chatbots do mercado hoje. Explorarei apenas algumas delas, mas deixo o registro para uma futura pesquisa:
Os pontos importantes que você precisa entender na escolha de uma ferramenta de construção são as questões relacionadas à evolução do canal de mensagens, para avaliar se as demandas estão sendo solucionadas, ou se estão ocorrendo problemas de comunicação entre o usuário e o software; e, se possível, um ambiente integrado para que toda a equipe envolvida na construção do chatbot possa trabalhar de forma organizada.
Agora que você já conhece algumas ferramentas disponíveis para o desenvolvimento de chatbots, falarei sobre o seu conceito de desenvolvimento (chatbots), que é um pouco diferente dos demais desenvolvimentos do tipo software, aplicativo, site e sistemas web. Isso porque o desenvolvimento de chatbots não acontece de forma linear, como a maioria dos projetos, com início meio e fim, mas de forma cíclica, através de ciclos de aperfeiçoamento, ciclos estes que permitem que ele (chatbot) seja sempre ajustado para entregar os melhores resultados.
Anteriormente, falamos que as ferramentas de desenvolvimento de chatbots são relativamente simples e fáceis. Raj (2019) corrobora com essa informação dizendo que você, tendo experiência em frontend/backend, ou sabendo programar um pouco, possui grandes oportunidades de aprender coisas novas quando está construindo ou aprendendo a construir um chatbot.
Sobre o processo de desenvolvimento, Raj (2019) cita três etapas que devemos seguir antes de construir chatbots, sendo:
pense nos cenários ou tarefas que você deseja que seu chatbot simule e colete as perguntas relacionadas nos diferentes formatos que elas podem ser feitas. Cada tarefa desta é chamada de intenção;
cada intenção listada pode ser representada de várias formas, dependendo de como o usuário a expressar;
escreva a lógica de forma sempre a manter o usuário conectado ao fluxo que você escolheu, após reconhecer sua intenção.
O mais importante neste tipo de desenvolvimento é a evolução, pois ela precisa ser constante, para que você consiga garantir a melhor performance do software. Fique bem atento aos feedbacks coletados com a interação dos usuários, para poder corrigir, alterar e evoluir com o processo do chatbot.
Sobre o processo de construção propriamente dito, podemos ainda citar sobre as duas formas de se construir um chatbot, que são com ou sem uma plataforma (das citadas no tópico anterior). No caso da construção sem uma plataforma, o desenvolvedor e o designer dos fluxos deverão prever os assuntos e os rumos das conversas que serão preparadas. Já com a plataforma, você tem a vantagem de ter a conexão dos chatbots com várias ferramentas de mensagens (WhatsApp, Telegram, Facebook Messenger, SMS etc.) simplificadas.
Como foi dito e reforçado nesta aula, não espere que o chatbot esteja perfeito ou pronto para publicá-lo para seus usuários. Estando em uma versão aceitável pela equipe de desenvolvimento, indica-se colocá-lo no ar e ir trabalhando na eficiência e na qualidade das interações do software.
Depois do que já foi visto nesta aula sobre as ferramentas de desenvolvimento dos chatbots, é importante reforçar a questão da evolução constante dos chatbots desenvolvidos. Raj (2019) diz que, para os desenvolvedores, é divertido construí-los, e que é como ensinar uma criança a andar, falar, comportar-se e fazer coisas. É gostoso torná-lo mais inteligente e autossuficiente. Por isso, a parte interessante da criação do software (chatbot) é a parte do treinamento e dos testes da ferramenta e suas interações.
Esse treinamento se faz necessário porque esse tipo de software precisa constantemente de estímulos e novas interações – assim como uma criança – para realizar um melhor atendimento. Por isso, essa é uma tarefa que demanda, além de conhecimento, muita paciência, pois você deverá realizar várias sessões de testes e diagnósticos, buscando corrigir falhas e aperfeiçoar o que já está funcionando. Dentro desse contexto, podemos elencar algumas boas práticas nesse treinamento sequenciado pelos testes:
Sempre programar mais de uma forma para realizar uma pergunta/interação com o chatbot, pois é fato que perguntas sobre um assunto são realizadas de maneiras diferentes e por pessoas diferentes.
É necessário que as conversas entre o usuário e o software sejam agradáveis e que correspondam ao propósito planejado, mas é importante controlar o quanto ele (software) será engraçadinho ou até mesmo desagradável por ser muito direto.
Trabalhar roteiros com sequências de entradas simuladas para validar as respostas do chatbot é sempre consistente e igual para o mesmo assunto ou questão; e também realizar sessões de navegação assistida com usuários reais, em que você consiga recuperar e avaliar os resultados de cada usuário/experiência.
Não basta criar os testes e não os validar, assim como seus resultados. Aqui entra a parte de consolidação dos resultados dos testes realizados, em que você conseguirá cada vez mais classificá-los e analisá-los.
Uma vez que você criou os testes e os validou, é chegada a hora de verificar a necessidade e quais são os ajustes a serem feitos para que o nível de qualidade de resposta de seu software aumente.
Finalizo com um mantra já dito mais de uma vez aqui nessa aula: siga sempre o planejamento das intenções, a implementação e criação dos fluxos, as sessões de testes e a validação de testes, finalizando com os ajustes necessários. Ao final, recomece novamente.
Agora que você já conhece os conceitos de criação de um assistente virtual/atendimento eletrônico/chatbot desde a sua linguagem de programação, abordagem e conceitos sobre o propósito da ferramenta, além das ferramentas de desenvolvimento, ciclo de desenvolvimento, treinamento e testes, acredito que as referências para criação do seu primeiro chatbot sejam satisfatórias. Portanto, para aplicar, você pode pegar um cenário em que você já tenha participado como cliente, ou até mesmo algum projeto em que esteja trabalhando, seja de produto, site ou aplicativo para dispositivos móveis, e traçar a estratégia conforme foi visto nesta aula e na anterior.
Para isso, acredito que a situação ou produto que você queria dar suporte seja a primeira das suas escolhas. Na sequência, você terá duas escolhas a fazer: se for trabalhar sem plataforma, você deverá optar pela escolha de uma linguagem de programação para tal, assim como quais canais você disponibilizará o software para, então, verificar como conectará seu software a estes canais. Agora, caso opte por uma plataforma, você então deverá escolher dentre as que estão disponíveis no mercado, levando em consideração se são pagas ou não para entender se esse investimento cabe ou não no seu projeto, sempre verificando nas opções de planos gratuitos com limitações, pois dependendo do início do seu software pode ser que elas lhe atendam. Em seguida, é chegada a hora de começar a criar e implementar quais as intenções ou perguntas você irá trabalhar e responder em seu software, e já começar a realizar os primeiros testes internos até a publicação do software e a manutenção dos testes, agora com dados e usuários reais. A partir disso, é o momento de iniciar o processo de validação desses testes (internos e externos) e levantamento dos possíveis e necessários ajustes a serem realizados para a evolução constante do seu chatbot.
RAJ, S. Construindo chatbots com Python. 1. ed. São Paulo: Novatec, 2019.