Experiência de usuários em chatbots: URA x NLU
Tempo de leitura: 6 minutos
Com a demanda de novos canais de comunicação, em especial o aumento do número de chatbots e outros serviços automatizados, tornou-se indispensável a elaboração de estruturas de atendimento e relacionamento com clientes que focam na melhor experiência de uso.
Quando criamos novas interfaces, segundo Steven Johnson, acabamos por copiar a lógica de construção e uso da tecnologia anterior semelhante ou mais próxima. Essa "evolução" incremental nem sempre funciona para as tecnologias mais novas e esse é o contraponto que quero discutir neste artigo.
Estamos desenvolvendo chatbots e sistemas de atendimento e acabamos por repetir experiências que podem não funcionar tão bem com o novo paradigma proporcionado pelo aprendizado de máquina.
Se você utilizou recentemente algum chatbot que te oferece uma lista de opções numéricas, é exatamente sobre isso que se trata este artigo.
O impacto das metáforas nos chatbots
Eu sei que a gente vive em um mundo construído sobre associações e modelos para facilitar o entendimento das coisas, em outras palavras, fazemos uso de metáforas.
Quando você utiliza um software como o Word, a metáfora da máquina de escrever está lá, silenciosa ultimamente, mas com toda força de quem já datilografou em papel. Se um usuário novo começar a utilizar o aplicativo e for familiarizado com o processo anterior, não vai sentir muita dificuldade de começar a preencher este "papel virtual" com suas ideias.
Nós precisamos fazer uso dessas metáforas porque isso reduz a fricção de novos usuários. Porém, quando construímos chatbots, provavelmente a metáfora mais próxima que temos é do atendimento telefônico, aquele que começa com "disque 1 para acessar nosso canal de suporte, 2 para...". E é aí que começam os problemas.
Não estou criticando se você usa esse modelo em seus chatbots, o importante não é sobre o modelo, mas sobre como você cria uma experiência para seus usuários e se está utilizando a ferramenta mais adequada para isso.
Mas por que estou focando sobre ferramentas?
Hoje existem diversas plataformas que permitem que você construa robôs de conversação e que fazem uso de tecnologias avançadas de Compreensão de Linguagem Natural (NLU em inglês), mas isso tem um custo que, no longo prazo, uma ferramenta mais simples poderia ser mais interessante.
Um outro ponto é que não faz sentido usar NLU se você quer montar uma estrutura de árvore. A NLU permite que o usuário acesse diretamente o que deseja ao escrever uma frase, o que requer uma estruturação mais complexa do ponto de vista de treinamento da máquina.
Vamos entender os dois principais modelos existentes:
O Modelo URA
Esse modelo vem da época do atendimento automatizado via telefone. URA ou Unidade de Resposta Audível, ou IVR para "Interactive Voice Response" em inglês, foi largamente utilizado em sistemas automáticos de atendimento e roteamento de chamadas telefônicas. Toda grande empresa que possui algum atendimento por telefone faz uso desse sistema.
A URA consiste em criar uma árvore de atendimento que vai se abrindo conforme o usuário digita o número da opção desejada. Assim é possível criar uma estrutura complexa de atendimento e cobrir todas as intenções dos usuários nesse canal.
O sistema de URA funciona? Sim. Mas ela oferece a melhor experiência para o usuário? Não. Ou melhor, depende.
Dependendo de como você montou sua árvore, se previu algum tipo de acesso rápido baseado em algum dado ou condição do usuário que entrou em contato, isso pode variar muito.
Um exemplo: se você é uma companhia aérea e sabe que uma pessoa que entrou em contato possui um ticket em aberto próximo do checkin, por que não oferecer o menu de checkin e mudança da passagem primeiro? Quanto mais rápido ouvir a opção que precisa, melhor vai ser a experiência dessa pessoa.
Um outro ponto importante é que, muitas vezes, a empresa oferece esse tipo de atendimento em mais de um canal e fazer uma estrutura diferenciada para cada canal pode ser mais complexo e custoso.
Embora hoje existam sistemas de reconhecimento de voz mais avançados, como o Google Duplex que ainda está sendo testado, existe uma dificuldade em estruturar modelos mais próximos de um atendimento humanizado.
Pensando sobre o atendimento mais humanizado, gostaria de começar por um ponto que acho interessante: toda vez que um usuário entra em contato com seu serviço, ele tem por padrão alguma intenção. Ele deseja resolver alguma coisa, afinal de contas foi ele que começou a conversa.
O mesmo vale quando alguém te manda um "Oi, tudo bem?" no WhatsApp. 😉
Se você consegue identificar a intenção do usuário, ou mesmo antecipar qual ou quais poderiam ser as intenções mais prováveis, bingo! Você consegue melhorar a experiência em um sistema de atendimento automatizado.
E é aqui que chegamos no próximo tópico.
Compreensão de Linguagem Natural (NLU)
Essa é uma tecnologia que utiliza Machine Learning e que permite a identificação e classificação de entidades, parâmetros e sentidos de um determinado texto.
Com NLU é possível transformar um texto como "quero uma pizza vegetariana brotinho sem cebola" em uma estrutura de dados como a seguir:
A complexidade aqui está em treinar esse algoritmo para compreender as mais variadas formas de chegar na mesma intenção do usuários e todos os parâmetros possíveis, sejam eles obrigatórios ou não, de cada intenção.
Como estruturar as intenções?
Intenções ou intents são ações que os usuários podem realizar em seu chatbot. Dependendo do serviço que você oferece, as intenções poderão variar.
Uma companhia aérea, por exemplo, permite que o usuário compre uma passagem, faça o checkin, altere o assento ou cancele um ticket existente, entre outras coisas.
Você precisa identificar quais ações seus usuários poderão fazer na sua aplicação, bem como uma ação de boas-vindas e uma padrão casa o sistema não identifique qual ação o usuário solicitou. Ao definir uma ação, você pode determinar quais elementos podem ser identificados como parâmetros dessa ação, quais deles são obrigatórios ou opcionais e o tipo de dado informado naquele parâmetro, como uma data, um horário, um documento, uma cidade ou localização, etc.
Um ótimo exercício para descobrir parâmetros é escrever variações de um mesmo pedido, incluindo ou não elementos que podem se tornar parâmetros. Dependendo da obrigatoriedade de cada parâmetro, a plataforma de chatbot escolhida pode criar perguntas adicionais para complementar essas informações dentro da mesma intenção. Essas variações também serão utilizadas para "treinar" seu serviço.
A grande vantagem de utilizar o formato de intenções e a estrutura de NLU oferecida por essas plataformas é que o usuário tem acesso direto ao que precisa, se comparado com a estrutura de árvore que ele precisa seguir.
Com NLU nós trocamos a estrutura a seguir:
Para a seguinte estrutura:
Você pode aumentar ainda mais o detalhamento da intenção, dividindo neste exemplo em duas intenções: o adiantamento de voo e a alteração de voo, sendo o primeiro filtrando horários antes da passagem atual e o segundo de uma forma mais ampla.
Se você consegue no seu serviço identificar a intenção do usuário na primeira frase, você poderá direcioná-lo para o nó específico da sua estrutura, sem passar por escolhas numéricas intermináveis, como no caso da URA.
Um outro ponto importante é que existem algumas etapas do atendimento que também não é necessário utilizar um modelo complexo. Um exemplo disso é o processo de autenticação do usuário ou feedback de um atendimento, pois ambos são estruturas simples e bem definidas e não precisam de um mecanismo mais complexo para entendimento. Nesses casos, um sistema automatizado resolve sem precisar contar com algo mais complexo como o NLU.
Qual é a melhor opção?
Usar a estrutura de árvore não é errado no meu ponto de vista, mas é importante que você tente prever o comportamento do usuário e qual a ação mais provável que motivou o contato dele com o seu serviço. Utilizar estruturas mistas (URA + NLU) pode ser interessante também, se você deseja criar algo que demande tanto questões mais complexas quanto entradas de dados padronizados. Assim você usa o modelo mais apropriado dependendo do caso.
Quais ferramentas utilizar?
Agora que você conhece esses dois modelos, vou apontar algumas ferramentas que podem ajudar você a construir seu chatbot.
Atendimento automatizado/URA/IVR
Twilio Studio: a Twilio Studio oferece uma interface para você construir uma estrutura de atendimento completa e que permite criar "webhooks" para fazer chamadas HTTP no seu servidor e executar ações de acordo com a necessidade do usuário.
Além disso, ela permite que você utilize os outros recursos da plataforma Twilio, incluindo chamadas de voz, envio de SMS e WhatsApp, funções serverless, roteamento para atendimento humano, entre outras.
Compreensão de Linguagem Natural
DialogFlow: na minha opinião é a ferramenta que possui a melhor interface para programação de chatbot por intenção e integra com as mais variadas plataformas, incluindo os canais oferecidos pela Twilio (caso deseje receber SMS, WhatsApp ou ligação telefônica). E ela funciona em português! Se quiser entender um pouco mais sobre "intenções" no DialogFlow, confira este artigo em português de Amanda Cavallaro, Google Developer Expert em Google Assistente.
Twilio Autopilot: é uma ótima ferramenta para integrar diretamente dentro da Twilio e responder por todos os canais que a plataforma oferece, porém não funciona em Português. Uma "solução técnica de contorno" é rodar um sistema de tradução do texto antes de invocar o NLU da Autopilot.
IBM Watson Assistant: oferece suporte em Português, mas elementos mais avançados como análise de sentimento ainda estão sendo executados em Inglês.
Conclusão
Não importa qual ferramenta você vai usar, desde que coloque a experiência do usuário em primeiro lugar. Um sistema de atendimento na estrutura de URA, se você incluir uma camada de inteligência, pode ter uma experiência tão legal quanto usar NLU.
Se você tiver alguma ideia de serviços via chatbot e quiser bater um papo para mostrar o que está construindo, me chame no lleao@twilio.com, pois estou ansioso para ver o que você vai construir.
Publicações relacionadas
Recursos relacionados
Twilio Docs
De APIs a SDKs e aplicativos de amostra
Documentação de referência de API, SDKs, bibliotecas auxiliares, guias de início rápido e tutoriais para sua linguagem e plataforma.
Centro de Recursos
Os mais recentes e-books, relatórios do setor e webinars
Aprenda com especialistas em engajamento do cliente para melhorar sua própria comunicação.
Ahoy
Centro da comunidade de desenvolvedores da Twilio
Melhores práticas, exemplos de código e inspiração para criar comunicações e experiências de engajamento digital.