Frontend

Vamos falar de chatbots? Uma discussão sobre sistemas e pessoas

Estamos vivendo uma avalanche de nascimentos de assistentes virtuais e chatbots de grandes empresas. Entenda as características destes sistemas, as tecnologias envolvidas, e os profissionais que compõem um time de desenvolvimento de chatbots.

Fala galera, tudo certo?

Me chamo Eduardo Germano e, recentemente, ingressei na equipe de Arquitetura de Software da HypeFlame 🔥. A HypeFlame é uma empresa que nasceu da área de tecnologia do Agibank. A empresa está com planos ambiciosos para se destacar não somente no cenário tecnológico nacional, mas como também para terras não tupiniquins. Como um novo Flame, estou me deparando com um time repleto de pessoas com brilho no olho, pessoas com vontade de fazer acontecer e que colocam os valores da empresa em prática – cuidando dos clientes, das pessoas e exercitando o empreendedorismo.

Prometo fazer um artigo falando dos meus primeiros dias na HypeFlame, mas estamos aqui para falar de outro assunto, chatbots 🤖. Falaremos sobre as características destes sistemas, as tecnologias envolvidas, e também sobre os profissionais envolvidos em um time de desenvolvimento de chatbots. Vamos nessa!

Oi humano 😀

Desde o ano passado (2020), estamos vivendo uma avalanche de nascimentos de assistentes virtuais e chatbots de grandes empresas.

Assistentes virtuais x Chatbots

Tecnologicamente falando, chatbots, assistentes virtuais e chatterbots se referem a interfaces conversacionais. Neste artigo adotaremos o termo chatbot para sistemas desta natureza.

Afinal, chatbots são aplicações que interagem com humanos por meio de conversas (por este motivo são interfaces conversacionais), sejam estas conversas baseadas em texto, imagem, emoji, ou até mesmo pela voz.

Uma curiosidade é que o termo chatterbot foi apresentado em 1994, e, atualmente, o termo chatbot é o mais difundido entre profissionais de TI e entusiastas.

De maneira prática, quando pensamos tecnicamente em chatbots, devemos sempre visualizar um fluxograma, como se fosse uma sequência de etapas de uma conversa. Tal fluxograma, também conhecido como fluxo conversacional, é composto de diversas etapas, ou estados.

A imagem abaixo apresenta um fluxograma que, no contexto de chatbots, pode ser considerado um fluxo conversacional.

Representação de um fluxo conversacional

Cada etapa de um fluxo conversacional, por sua vez, é responsável por executar determinadas ações, de acordo com o contexto do diálogo. As ações podem ser das mais variadas, mas para exemplificar melhor, cada etapa de um fluxo conversacional pode executar ações, como:

  •  Apresentar um conteúdo para o usuário (texto, imagem, voz, emoji, documentos);
  •  Executar funções simples, como somar valores ou converter um texto;
  •  Armazenar ou atualizar um dado;
  •  Notificar outros sistemas;
  •  Requisitar um serviço/API.

Em termos de complexidade, quando um chatbot possui um escopo ainda pequeno e é baseado em um fluxo conversacional simples, podemos fazer uso de regras para o definir o comportamento do nosso robozinho (i.e., definir quais estados da conversa serão utilizados).

Regras, por sua vez, geralmente são compostas por estruturas condicionais (os famosos ifs e elses) e/ou também expressões regulares (regex). A adoção de regras em fluxos conversacionais pode ser considerada uma estratégia vantajosa, pois geralmente são simples e não trazem custos adicionais aos projetos de chatbots. Entretanto, no mundo real, sabemos que conversas podem não ser tão simples. Por este motivo, é comum que fluxos conversacionais acabem crescendo, aumentando assim a complexidade de desenvolvimento e manutenção de um chatbot.

Fluxos conversacionais complexos podem tornar a experiência de jornada do usuário em algo massante. Por este motivo, em muitos momentos, desejamos deixar nossos chatbots mais espertinhos (em outras palavras, mais inteligentes), indo além das regras que mencionamos no parágrafo anterior. Nestes casos, é interessante começarmos a falar de Inteligência Artificial (IA), mais precisamente de Processamento de Linguagem Natural (do inglês, Natural Language Processing – NLP). Aqui é importante diferenciarmos os termos IA e NLP, pois a primeira é toda uma área de estudos da Ciência da Computação que busca adicionar inteligência aos computadores. Por sua vez, a segunda, NLP, é uma subárea de Aprendizagem de Máquina (Machine Learning – ML), que tem como objetivo fazer com que computadores entendam, analisem e manipulem textos gerados por e para seres humanos. A imagem abaixo representa a hierarquia das áreas que discutimos neste parágrafo.

NLP é uma subárea de ML, que por sua vez, é uma subárea de IA

NLP para chatbots é fortemente baseada em intenções (conjunto de frases e categorias que indicam determinada intenção de fazer/querer algo) e entidades (grupos de palavras sinônimas). Esta técnica também pode ser considerada uma técnica de aprendizagem de máquina supervisionada, pois há, inicialmente, uma etapa de treinamento do modelo de conhecimento, e, posteriormente, uma etapa de validação de novas frases/exemplos.

Apesar da facilidade em criar modelos de NLP em provedores, vale ressaltar que estas ferramentas, em sua maioria, não são gratuitas e, consequentemente, incidirão em custos em seus projetos de chatbot. Vale, a cada projeto, escolher qual a melhor estratégia para seu chatbot, regras ou NLP. Mas te pergunto, por que não pensar em um modelo híbrido de inteligência? Unir os dois mundos, adotando regras para decisões simples e NLP para decisões complexas pode ser o caminho para deixar um fluxo conversacional mais interessante e inteligente. 🧠

Modelos híbridos de inteligência podem trazer benefícios

Neste ponto do artigo você deve estar se perguntando o quão difícil é fazer um chatbot, correto? A resposta para essa pergunta depende, viu. Hoje em dia, as plataformas de desenvolvimento de chatbot facilitam muito a vida de quem deseja criar um chatbot. Deste modo, qualquer pessoa com empenho e vontade de aprender, pode criar um chatbot simples.

Entretanto, chatbots com grandes escopos, para grandes empresas, necessitam de mais do que uma pessoa para que sejam desenvolvidos e mantidos. Uma equipe empenhada, unida e com um objetivo bem definido é uma das peças fundamentais para que seu chatbot tenha sucesso com o seu público. Um grande chatbot geralmente é composto por diversos sistemas. Prometo que nos próximos parágrafos falaremos sobre papéis e responsabilidades de um time de desenvolvimento de chatbots, mas agora vamos falar um pouco dos sistemas envolvidos (sim, é mais de um) na arquitetura de um chatbot.

Eu sempre utilizo a técnica de visualizar um chatbot como um hub de APIs. Como dito anteriormente, um fluxo conversacional é composto de estados. Por sua vez, cada estado é responsável por executar ações. Com essa informação fresca na memória, devemos saber que os robozinhos conversacionais interagem com as pessoas através de canais de comunicação. Em outras palavras, o canal é por onde o usuário fala com o chatbot. Tais canais podem permitir interação por texto, por voz, por imagem. Falando de interfaces conversacionais, podemos destacar canais como: telefone (URAs), WhatsApp, Instagram, Messenger, Alexa, Google Assistant, SMS, e-mail, Telegram, entre outros. Vale destacar que cada canal pode possuir sua própria política de uso. Um bom exemplo de política de uso é a política do WhatsApp, que você pode se aprofundar clicando aqui.

Exemplos de canais de comunicação

Agora que você está se familiarizando com o assunto, já deve ter imaginado que tudo que o que é dito pelos usuários no canal de comunicação, chega até o chatbot e, consequentemente, ao fluxo conversacional. O questionamento aqui é, como é composto seu fluxo conversacional? Será baseado somente em regras? Terá NLP? Será um fluxo híbrido? Bom… se adotar NLP em seu chatbot, provavelmente você terá que integrar seu chatbot a algum provedor de NLP. Os provedores de NLP buscam facilitar bastante a criação e manutenção de modelos de conhecimento. Alguns provedores de NLP são bem conhecidos, como IBM Watson, Microsoft Luis, Google DialogFlow, Facebook Wit.ai, RASA NLU. É interessante saber também, que esses provedores também podem permitir a criação de chatbots completos, como é o caso da plataforma open-source RASA. Independente de como será baseado o fluxo conversacional, é ele quem decide qual o próximo passo que será executado pelo chatbot.

Exemplos de Provedores de NLP

O próximo passo pode ser responder o usuário com uma mensagem, mas também pode ser consultar outros sistemas. No caso de integração sistêmica, é importante saber que o céu é o limite, claro, desde que os sistemas auxiliares estejam preparados para receber comandos e mensagens do seu chatbot. Deste modo, é interessante fornecer dados para ferramentas de analytics, consultar APIs externas, ou até mesmo transbordar a conversa para plataformas de atendimento humano. Talvez o seu chatbot não atenda a todas as necessidades de seus usuários e, transbordar a conversa para um atendente humano seja uma forma de encantar o cliente. Lembre-se, não é feio utilizar um atendimento híbrido entre robô e humano, feio é não atender as necessidades do usuário.

Exemplos de sistemas auxiliares ao chatbot

Falando em atender o usuário, qual é a cereja do bolo do seu negócio? Qual o seu diferencial em relação ao que é oferecido no mercado? Como seu chatbot irá auxiliar seus clientes/usuários? Por este motivo o seu chatbot deve ter acesso aos sistemas que atendem a sua empresa/negócio. Quer um exemplo? Imagine que seu negócio seja uma instituição financeira. Imagine agora que seus clientes desejam saber os limites de crédito disponíveis em suas contas. Neste caso seu chatbot deverá identificar qual cliente está solicitando a informação, e ter acesso aos sistemas que disponibilizam os limites dos clientes, para então retornar as informações solicitadas. A imagem abaixo busca representar todos os passos que discutimos nos parágrafos anteriores. 

Como pode ser a arquitetura de um chatbot

Calma, não se desespere! É comum termos equipes inteiras trabalhando em um único chatbot. Neste contexto, é preciso ter em mente que só um profissional não faz verão 🌞. O segredo está em compor uma equipe multidisciplinar, onde todos sempre estarão remando juntos, em busca de um objetivo bem definido. Dentre os papéis e responsabilidades que podemos ter uma equipe de desenvolvimento e operação de chatbots, podemos citar:

  • Product Owner (PO): O PO, como diz o nome, é o dono do produto. Esse profissional define e prioriza backlog do chatbot, através do mapeamento das necessidades de projeto. Ele busca alternativas para maximizar os resultados do projeto e, também faz as validações necessárias com stakeholders. Por fim, o dono do produto também acompanha os indicadores das funcionalidades do chatbot em produção; 
  • UX Writer: Esse cara aqui é o artista que cria e desenha os fluxos conversacionais. O trabalho do UX Writer deve ser realizado com base nos relatos e experiências dos usuários do sistema, além de seguir o tom e voz definido para a persona do chatbot. Este profissional é o guardião da documentação do fluxo conversacional, e, por repassar as informações necessárias para que o time de desenvolvimento atue;
  • Desenvolvedores: Aqui podemos dividir esse profissional em dois perfis, o desenvolvedor de chatbot e o desenvolvedor backend. Apesar de uma pessoa poder exercer esses dois papéis, o desenvolvedor chatbot fica responsável por implementar os fluxos conversacionais, de acordo com as definições do UX Writer. Já o desenvolvedor backend, por sua vez, fica a cargo de implementar as integrações e APIs que auxiliam o chatbot;
  • Tester (QA): Profissional super relevante para o projeto, é responsável por planejar e executar atividades de verificação e validação de tudo que é implementado. Elabora e executa testes regressivos, funcionais, de usabilidade e integração. Um QA também documenta a execução dos testes, e caso falemos de automação de testes, esse profissional também se torna responsável por este tarefa;
  • Analista de Interação: Faz a curadoria do chatbot, analisando o comportamento e jornada dos usuários dentro do sistema. Este analista também auxilia no aprimoramento do modelo de NLP, monitora as métricas de produção, e também apresenta insights e previsões para equipe, sempre com base nas informações geradas pelo chatbot. Também conhecido como curador ou analista de inteligência conversacional, este profissional é fundamental para detectar pontos de melhoria no chatbot;
  • Especialista em NLP: Este profissional é o guardião do modelo de NLP do chatbot. Com os insumos entregues pelos Analistas de Interação, o Especialista em NLP é responsável por: aceitar ou rejeitar sugestões de melhoria na NLP; criar novas intenções e entidades; manter as intenções devidamente balanceadas; e, garantir que o modelo de NLP do chatbot mantenha um nível aceitável de acurácia em suas respostas;
  • Analista de CXM : Responsável por selecionar e engajar públicos, além de analisar a efetividade de suas ações. O profissional de CXM é muito importante para diminuir a recência e aumentar a frequência de utilização dos produtos e serviços ofertados por seu chatbot. Além disso, este profissional é super importante para que seu cliente se identifique com a marca de sua empresa;
  • Time de Atendimento: O sucesso do seu chatbot está diretamente ligado a capacidade dele resolver os problemas dos usuários, e o atendimento humano pode colaborar bastante nesse objetivo. O time de atendimento garante que o usuário seja atendido em situações onde o chatbot não tenha sido bem sucedido; ou ainda não tenha uma funcionalidade em produção. O time de atendimento também pode atender um usuário que esteja com os ânimos alterados, ou com dificuldades dentro do fluxo conversacional. Lembre-se sempre, feio é não resolver o problema do cliente. Cliente mal atendido não volta.

Certamente que esses papéis e responsabilidades não são obrigatórios para iniciar uma equipe focada no tema chatbots. Você não precisa contar com todos os profissionais listados acima para começar um projeto, mas é interessante caso você tenha essa oportunidade. A imagem abaixo apresenta todos os profissionais apresentados acima.

Profissionais que podem compor um time de chatbots

Apesar das vantagens e características apresentadas neste artigo, é preciso ter em mente que nem tudo é maravilhoso, e que percalços podem sempre surgir pelo caminho. Então, sempre cuide para gerenciar da melhor maneira os conflitos entre pessoas e iniciativas. Isso é mais comum do que parece em grandes empresas. Trabalhar com equipes reduzidas também é um risco, por este motivo, prepare os profissionais para suas responsabilidades, considerando também compartilhar conhecimento entre pares. A curadoria, por sua vez, é muito fundamental para o sucesso no atendimento ao usuário, e considere utilizar uma base de conhecimento que sirva de FAQ para seu chatbot. Por fim, evolua seu chatbot de forma estratégica. Defina funcionalidades chaves e os KPIs necessários para entender o sucesso de sua operação. Esteja sempre atento para explorar todo o potencial que um chatbot pode oferecer. Chatbots podem reduzir consideravelmente os custos operacionais com atendimento ao usuário, desde que utilizados de maneira correta.

Este artigo foi longo, né?! Mas gostaria de complementar que chatbots são sistemas incríveis, incansáveis, e que podem trabalhar 24/7 e sem variação de humor. Esses sistemas são altamente customizáveis, são rápidos e escalam o atendimento facilmente. Chatbots podem ser desenvolvidos por qualquer pessoa que tenha empenho e vontade de aprender, mas devemos contar com uma equipe de profissionais caso tenhamos que desenvolver um sistema robusto e complexo. Como você pôde ler neste artigo, chatbots estão trazendo várias oportunidades de emprego para diversas áreas, uma vez que depende de uma equipe multidisciplinar para seu funcionamento. Aliás, você sabia que a HypeFlame também desenvolve seus próprios chatbots? 🤖🔥

Sempre atenta ao mercado e em novas tecnologias, a HypeFlame está em busca de talentos da tecnologia e possui diversas oportunidades em aberto. A tecnologia é o fogo do Século XXI e, caso você tenha se interessado no nosso jeito e queira fazer o futuro junto com a gente, busque pelas oportunidades disponíveis em nosso LinkedIn e site.

O fogo nos move 🔥. Nos vemos por aí 😉

%d blogueiros gostam disto: