Como construir um bot baseado em ux research e uma pitada de ux writing, por favor 🤖
relacionando ux research, ux writing, estratégia de conteúdo e pizza — sim, pizza — pra criar chatbots incríveis.
Os chatbots não são mais tão novidade assim. Empresas já utilizam como forma de posicionamento de marca e em diversos aspectos, seja pra pedir uma pizza ou auxiliar um atendimento que poderia ser humano. E não estou falando só de versão web não, esses robôzinhos habitam URAS, seu celular e onde mais a tecnologia chega.
Tive um curso sobre ux writing para chatbots recentemente dado pelo Leo Queiroz e pelo Fabiano, dois designers que trabalham no Banco do Brasil hoje em dia, e me perguntei porque estamos falando disso agora se os assistentes virtuais estão aí há um tempo. A experiência com os bots estão cada vez mais próximas do que seria um humano — vide Samantha do Her, Siri na Apple, Alexa… e uma infinidade de assistentes conhecidos — porque eles são adaptáveis inclusive em personalidade. E como é que não pensamos em não deixar o robô ser claramente um robô antes?
Faz um exercício aqui comigo!
- Pensa numa pessoa que você goste muito. Pensou?
- Agora imagina como ela pediria pra você passar o prato na mesa.
- Você consegue quase ouvir a voz da pessoa, né? Se ela usa gíria, se tem uma entonação, qual o humor que ela usaria pra falar essa frase.
É exatamente pra isso que o Ux Writing tá sendo tão importante nos bots. Não se trata mais de somente fornecer uma informação ou realizar uma tarefa. Precisamos criar familiaridade, um tom de voz e seguir quase que um arquétipo pra esses carinhas manterem a mensagem que a marca ou serviço pretendem passar, além de se relacionar bem com o tipo de público que desejamos alcançar. Tudo isso da forma mais natural que uma máquina pode ser hahaha!
> Em nome de quem o bot fala e como ele deve se apresentar?
Lembra da personalidade da marca? Agora vamos falar de Tom de voz da marca do seu serviço, é o formato que você utiliza para expressar a marca. A dica é conhecer a personalidade do avatar pra criar respostas e discursos alinhados ao negócio lembrando que não é a sua voz.
Outra ideia também é que o bot fica ainda melhor quando é um especialista no assunto dele, que seja focado. Não tentar abraçar o mundo, escolher um assunto e arrasar nele, sempre focado em responsividade — adaptabilidade do conteúdo às plataformas. Não necessariamente vai ter o mesmo conteúdo disponível em todas elas.
O ideal seria que no primeiro contato seu usuário soubesse que está lidando com um assistente virtual, mas que ao longo da interação esquecesse que tá falando com uma máquina.
E isso não é impossível, temos que lembrar que quem treina um bot — sim, se tiver inteligência artificial, eles aprendem igual crianças, sabe? — é um humano.
Antes de falarmos então de como construir conteúdo estratégico pra um chatbot, vamos ver alguns itens essenciais da estrutura de diálogo de chatbot e que tem tudo a ver com o nosso trabalho como designer.
> Estrutura do inventário.
Corpus de conhecimento: é a base de dados sobre determinado assunto que o bot vá tratar. Nele, temos intenções e entidades.
1.1 Intenções
É o que resume o pensamento, o propósito. Ex: #pedir. (Nas anotações de código, normalmente é visto com # antecedendo a intenção)
1.2 Entidades
É um conjunto de valores associados aos sinônimos que formam uma unidade. Ex: @pizza (Nas anotações de código, normalmente é visto com @ antecedendo a entidade)
Sabe Arquitetura de informação? Esse conhecimento seria útil nessa etapa. Então, fica o modelo ontológico:
#Intenção: como uma categoria maior.
@produto: como uma categoria menor da intenção e que vá interagir diretamente com ela.
_ categoria sobre produto 1 — — — — respostas possíveis e suas variações.
_ categoria sobre produto 2 — — — — respostas possíveis e suas variações
Melhor escrevendo em um exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
#Pedir: é a intenção que o usuário está tendo.
@pizza: é o que que o usuário quer pedir — lembre-se da ligação com a intenção.
@sobremesa: pode ser mais de um item.
_sabor ________ calabresa, calabresa, atum, portuguesa.
_tamanho _____ 1 fatia, p, m, g, grande, brotinho, família.
As categorias são características peculiares da entidade e elas podem se relacionar entre si.
Como assim? Você pode pedir uma pizza, calabresa tamanho família e o bot tem que entender que faz tudo parte do mesmo pedido.
E como isso aplicaria num diálogo? Imagine o diálogo seguinte:
👧🏻”Quero uma pizza”
🤖 “Que sabor?”
👧🏻 “Calabresa”
🤖 “Qual o tamanho?”
👧🏻 “Uma grande”
Até agora, tudo certo. O bot já estaria assimilando então as categorias a intenção de pedir da entidade pizza e construindo o pedido da mocinha. Mas e se tivesse um plot twist — porque a gente sabe que o ser humano não é tão previsível assim — e ocorresse a resposta:
👧🏻 “Tem como colocar borda de catupiry e trocar pra Mussarela?”
O bot estava provavelmente construindo uma lógica de passo 1, passo 2, passo 3… e assim vai, pelas categorias que foram cadastradas de antemão por um humano. Agora, ele vai ter que associar “borda de catupiry” a categoria “adicionais” da entidade Pizza — que você não colocou previamente — e “Mussarela” a categoria “sabor”, realizar essa inclusão e substituição respectivamente. Mas se você não cadastrou os adicionais antes e o sabor já havia sido pedido, como ele vai saber que ainda estamos falando da mesma Pizza? E como o usuário recebe a resposta?
É aí que entra o nosso trabalho de UX :)
Fluxos de conversação
Alguns objetivos do fluxo de diálogo são: definir os conteúdos a serem apresentados, o escopo inicial do projeto e facilitar a vida do curador e do desenvolvedor nesse projeto.
Pensar em todas as possibilidades desse fluxo de diálogo e fazer uma curadoria para as interações que surgem nesse fluxo e que não foram pensadas previamente é um dos nossos papéis. Provavelmente a melhor forma de sair dessa situação sem prender o usuário em um looping eterno sem resolver porque o bot não aprendeu ainda Adicionais de pizza, seria de forma “genérica”, mas orientando o usuário:
🤖 “Hmmm… ainda não aprendi sobre esse item! Vou falar pro Pizzaiolo sobre ele depois. Mas se quiser continuar pedindo a sua pizza, nossos sabores são esses: (lista de sabores de pizzas disponíveis), você pode escolher uma dessas!”
Quando rolasse a curadoria dos diálogos, veríamos que essa resposta de adicionais ficou pendente e trataríamos esse dado mais tarde — isso que é ensinar o bot quando ele acerta ou não :)
Uma dúvida que pode ter surgido nesse momento: A intenção é sempre um verbo e a entidade um substantivo?
Não necessariamente. Seria o ideal, mas dependendo do critério utilizado pela equipe responsável pelo bot isso pode variar. O importante são as relações criadas entre esses eles.
Até agora, falamos do porquê do ux writing estar aplicado na estratégia de conteúdo de chatbots. Mas e o Research onde se encaixa? Aqui.
Você já ouviu a palavra do Atomic Research?
Pensando em categoria-entidade-intenção pra organizar uma pesquisa, estava pensando que podemos levar esse conceito também pra o diálogo construído pra bots: átomos-molécula-organismo. Ferramentas como o Aurelius poderiam ajudar super nessa construção e interligação que acaba ficando complexa quando o bot é um especialista em determinado assunto. Inclusive, o atomic poderia servir até pra ajudar na curadoria de assuntos específicos.
Em átomos cadastraríamos as categorias, as entidades seriam as moléculas e a intenção o organismo. Sendo assim, quando o usuário inputasse a frase contendo átomos que não necessariamente são da mesma molécula como a categoria borda se relacionando com entidade pizza e a categoria sabor que pode também se relacionar com a entidade sobremesa além da pizza, por exemplo, o chatbot procuraria por categorias maiores como a intenção do pedido e no fluxo de diálogo, ele permitiria o usuário acrescentar como “observação” ou “adicionais” num fluxo geral caso ele encontrasse um átomo que não fosse cadastrado e que seria revisado depois pela curadoria.
É o que vai dar a diferença Espontaneidade x Intencionalidade.
Escutei uma metáfora muito boa sobre esse tópico quando se tratava de diálogo. Espontaneidade é a resposta pronta que o seu 🤖 daria e que precisa parecer natural é como bater numa muriçoca quando ela tá pra te picar. É reflexo. Agora, intencionalidade é você, como a palavra já diz, utilizar da melhor resposta pra aquele caso em específico, mudando quando o cenário também se altera. Seria como passar repelente ao invés de ficar se debatendo. A intencionalidade normalmente se atrela a inteligência.
Sem contar na importância de dados sendo criados com o cruzamento de dados e podendo ser tratado mais tarde para entender melhor o negócio da solução.
Ex1: X% dos seus usuários tentaram incluir borda de catupiry até o mês Y
Ex2: X% dos usuários que falaram de pizza pediram calabresa
Ex3: x% dos usuários que pedem pizza calabresa, incluem borda de catupiry no final do processo.
Pronto! Eu, por exemplo, passo a sugerir novos sabores de pizza pra pizzaria e tudo isso com base em dados e sem frustrar o usuário no quesito comunicação.
Falando mais de Research & Bots ❤
Algumas metodologias e abordagens da área de pesquisa no design poderiam auxiliar na construção de diálogos de chatbots.
#1 Jornada do Usuário
Antes de tudo, pense no serviço/produto que você está oferecendo com o seu bot.
- O que o seu usuário quer fazer ao entrar em contato com ele?
- Como é o processo sem o bot pra realizar a mesma tarefa?
- Quais são os pontos de maior frustração e os de maior engajamento?
Faça as anotações necessárias e reflita sobre os pontos de contato existentes.
#2 Brainstorming
ok, depois de entender todos os pontos de contato, pense em quais os tipos de perguntas que o usuário poderia fazer em cada um desses pontos. É um grande mapeamento de dados e que vai ser parte da nossa base de perguntas pra desenvolver o fluxo de diálogo do bot. O ponta-pé inicial!
#3 Card Sorting
Chegou o momento para organizar as informações levantadas no fluxo de usuário em grandes blocos. Quais perguntas tem a ver com pedido? E quais são de forma de pagamento? Tente unir grupos por aproximação também.
#4 Fluxo de diálogo
Agora vamos começar a estruturar em forma de fluxo uma linha de pensamento para realizar a tarefa definida: pedir pizza. Use as perguntas que você já formulou no Brainstorming e lembrando do processo que você desenhou na jornada de usuário. A ideia é que se construa um mapa mental contendo se o usuário falar X, o bot deverá responder Y. Se ele falar Y, responda W e assim em diante.
#5 Teste de usabilidade
Hora do teste! Vamos ver se o fluxo montado funciona e se está um diálogo fluido? É nessa hora que a gente vê se o banco de perguntas inicial está contemplando a situações mais recorrentes. O mais legal? Você não precisa de tecnologia super avançada pra testar, apenas 03 humanos e os roteiros que montamos até agora.
defina a tarefa: pedir pizza.
recrute participantes:
01 pessoa fica no papel de 🤖.
01 pessoa fica no papel de usuário interagindo com o 🤖
01 pessoa atua como curadoria.
atue: O bot apenas lerá o roteiro montado e visualizado pela equipe até agora. O usuário irá interagir — em modo de conversa mesmo — com a pessoa que interpreta o bot como falaria no chat. E o curador anota todo gap que existir nas conversas ou possibilidades caso o usuário entre em um looping de respostas ou não encontre a ajuda necessária para realizar a tarefa inicial.
E aí, pronto pra lançar o seu bot? Se tudo estiver ok, basta implantar no código mais próximo de você hahahah! Uma ferramenta interessante pra esse processo é o DialogFlow, já viu?
#6 Análise heurística
Nessa parte, é legal a gente não esquecer de validar a usabilidade do bot levando em conta as heurísticas de Nielsen, lembra delas?
- Visibilidade do Status do Sistema
- Compatibilidade entre o sistema e o mundo real
- Controle e liberdade para o usuário
- Consistência e Padronização
- Prevenção de erros
- Reconhecimento em vez de memorização
- Eficiência e flexibilidade de uso
- Estética e design minimalista
- Ajude os usuários a reconhecerem, diagnosticarem e recuperarem-se de erros
- Ajuda e documentação
Usabilidade boa, diálogos sem gaps, tarefa alinhada. Manda ver na execução do bot! :)
E lembre-se trabalhar com chatbot é um trabalho contínuo, sempre haverá curadoria porque acredite, você e nem a máquina tem resposta pra tudo.
🤖 Para ler mais sobre bots e diálogos:
- Robôs que abandonaram o inglês e criaram linguagem própria para atingir uma tarefa
- Ux writing para bots
- O que (não) sabemos sobre conteúdos para chatbots
Edit: Mudei o título do post retirando o "Receita para bot" pelo entendimento de que não há receita pra nada e sim, sugestões de boas práticas. Mas era meramente uma brincadeira com o fato de sempre darem o exemplo de pizza nos cursos relacionados a aprendizado de bot. De qualquer forma, achei melhor modificar :)