Skip to content

Estudo sobre melhores práticas de bots

Ânia Gomes edited this page Apr 15, 2019 · 5 revisions

Início da Ideia

Ao iniciar o desenvolvimento de um bot, assim como de qualquer outra ideia, é necessário fazer questionamentos sobre sua ideia, de modo a criar algo que cumpra com seu objetivo e atenda da melhor forma o usuário final.

Abaixo encontram-se 5 questões que devem ser respondidas antes de desenvolver um bot:

1. Que resultados eu quero para o meu produto ou usuários?

Como citado no [2] "Não só construa uma cadeira, construa uma cadeira que as pessoas possam sentar."

Devemos sempre saber o porquê, o que aquilo que geramos terá um propósito.

2. Seu chatbot alcança um pedaço novo do mercado?

Do mesmo jeito que outros produtos, é importante certificar-se de que existem outros produtos que resolvem o mesmo problema, e se sim, no que o seu produto diferencia.

3. O Chatbot é a solução para o seu objetivo?

Muitas das ideias podem ter suas soluções contempladas por um chatbot, mas às vezes métodos tradicionais são saídas mais rápidas e que atendem um grupo maior de pessoas. Exemplos disso são bots para dizer sobre o clima, este se torna mais trabalhoso de se acionar quando se quer a resposta do que simplesmente pesquisar na internet.

4. Sua ideia tenta substituir tarefas que as pessoas gostam de fazer?

Se sim, é fundamental ter em mente que uma hora ou outra terá um possível usuário que irá criticar e ficará receoso em usar o chatbot, então para isso deve-se contruir estratégias para convencê-lo.

5. Os custos do bot valerão a pena?

Pensando no bot como produto de sua empresa, é recomendado levar em consideração todo esforço dispendido para o desenvolvimento do bot e se isto valerá a pena, não somente no retorno monetário, mas também de conhecimento agregado.

Categorias de AI

Não existe a necessidade de categorizar o bot em desenvolvimento, mas fazê-lo ajuda na compreensão da abrangência do bot, tanto quanto o que e quanto este bot pode expandir.

As categorias de um bot segundo o artigo [3] são:

Assistants

Exemplos de Assistants são Alexa, Siri e Cortana. Estes possuem capacidade atender as tarefas complexas exigidas pelo usuário, por comando de voz ou por chatbot, e sua capacidade de responder a estas tarefas aumenta a medida que ele se torna mais treinado.

Guide

Nesta cartegoria, o bot disponibiliza algumas tarefas como opção e guia o usuário a realizá-las. Ele mostra aos usuários quais devem ser os próximos passos e, caso ocorra algum erro, sugere outros caminhos para o sucesso. Resumindo, os Guides são dedicados a levar os usuários para seu destino final.

Um exemplo de Guide é o Wase.

Consultant

Um pouco além do Guide, o Consultant abrange o user case onde os usuários precisam de uma solução ou argumento para sua problemática de maneira "just in time", e o bot age como um ser humano mostrando o informações e recomendações. A Taís se encaixa nesta área.

Colleague

A Colleague é como o Consultant, mas é movida a partir de análises de dados e compreensão da atual situação, e seu domínio de conhecimento é a organização. Este deve acessar documentos relevantes como planilhas de custos, agendas, planejamento, tudo isso de modo a ajudar gerentes e trabalhadores a tornar o trabalho mais eficiente.

Boss

O Boss, como próprio nome diz, delega e manda o ser humano realizar as tarefas, isso ainda no ambiente restrito da organização. Exemplos de ações que o Boss pode mandar fazer são: Começar ou terminar um trabalho, mudar cronograma, mandar memorandos ao time, etc.

Personalidade do Bot

Atribuir uma personalidade ao chatbot em desenvolvimento cria um melhor percepção do objetivo do bot e também como ele irá se comunicar, o tom, humor, estilo de conversa. Claro que assumir que um bot tem vida é um erro, mas saber que uma pessoa irá atribuir uma personalidade a ele, ajuda a construir algo que se relacionará com o usuário de maneira mais natural.[4]

Um bom ponto de partida para gerar uma personalidade é espelhar a do usuário e desenrolar a conversa como se este estivesse falando com alguém próximo, como um amigo, causando um maior engajamento do usuário.

Um exemplo, citado pelo artigo, desta estratégia aplicada são lojas de roupas de jovens, que tendem a contratar outros jovens que se vestem e falam de maneira similar ao consumidor alvo, acarretando na empatia deste.

Quem cria as personalidades

As pessoas aptas a criar personalidade são aquelas que entendem a importância de personas.

Escritores e designers normalmente são criativos e conseguem trasnmitir a mensagem, normalmente curta, de maneira agradável.

Construindo a personalidade

Escolha o público-alvo

É sempre importante definir o público-alvo, e mesmo possuindo alguém na equipe capaz de desenvolver a personalidade do bot, é necessário procurar feedback de pessoas quem seriam possíveis usuários para saber este bot fala da mesma forma que ele.

Um exemplo do artigo [4] é que um gerente de marketing de 47 anos não seria de todo o mais adequado a avaliar se um bot voltado para adolescente está apropriado.

Qual é a tarefa do bot

Novamente, é necessário destacar que o objetivo do bot é algo que deve ser claro. Saber se ele será genérico ou especialista é relevante de maneira a deixar claro o quão profundo será o seu vocabulário para o seu domínio.

Tipos de Personalidade

O artigo descreve que associar as personas do bot com o tipo de personalidade Myers-Briggs[5] funciona bem para determinar os pontos fortes e as fraquezas, assim como seus interesses, desagrados e habilidades. Consequentemente, definir como o bot reagirá em certas situações, o tom de voz, se ele terá ações mais introvertidas ou extrovertidas se torna mais fácil.

Diversidade e Gênero

A discussão sobre gênero e representatividade também atinge a área de chatbots. De acordo com uma pesquisa feita em 2016 por Maxus Survey[6], apesar de 56% dos bots que possuem gênero serem mulheres, 100% dos bot analisados na área de Direito e Finanças são homens, enquanto aqueles bots que são virtual assistants são comumente mulheres.

Estes bots que são identificados como mulheres possuem uma personalidade atraente, agem de maneira sedutora e mais aberta, enquanto bots que agem em áreas mais "sérias" são predominantemente masculinos.

Uma tendência para alterar essa estatísticas, seria desenvolver o bot sem gênero, cuidando do tom de voz e sotaques, além de suas atitudes. Então, mesmo que o bot tenha voz feminina, suas atitudes não deve remeter aos esteriótipos.

Definindo a Persona

No livro Designing Bots[7] de Amir Shevat, existe um template para começar a rascunhar a persona do bot. Este possui os seguintes tópicos:

  • Nome: Nome para o bot.

  • Ambiente: Em que ambiente o bot será implementado. (Ex: trabalho, lar, ...).

  • Audiência/ Público Alvo: Deve-se definir também o intervalo de idade do público alvo. (Ex: adultos, entre 25-40 anos).

  • Tarefa a ser realizada: O que o bot irá fazer. Isso afeta a construção da personalidade, pois não seria adequado utilizar a mesma personalidade de um bot para vendas de guitarras para um destinado a venda de medicamentos.

  • Variações em runtime: Ações que deverão ser feitas caso algo saia do planejado. (Ex: o bot irá reportar casos de xingamento e ofensas; transferência para assistência 24 horas).

  • Ambiente social/ Culturas aceitas: Deve-se levar em consideração a cultura vigente onde o bot irá atuar. Em ambientes de trabalho, caso o bot chame o usuário de "Querido/a", isto pode não ser visto com bons olhos.

  • Marca resgistrada: As principais características que devem ser associadas ao bot. Aquilo que dever ser o destaque.

  • Valores: Nada mais é que os valores associados ao bot, tais como: entrerter as pessoas, facilitar sua comunicação...

  • Personalidade derivada: O que viria a ser algo a mais ao bot, como ele ser divertido, informal, carinhoso, ou coisas assim que tornariam ele um pouco mais atrativo para o público alvo.

##Avaliação do Usuário

É muito importante que o usuário tenha a possibilidade de avaliar o bot para que os desenvolvedores possam ter um feedback direto dos usuários e, assim, adaptar o que for necessário.

Fluxo de Conversa

A conversa é o cerne da interação entre o bot e o usuário. Existem várias maneiras para construí-la e fica a critério do desenvolvedor.

Neste tópico, é descrito algumas práticas que não são comumente utilizadas, mas já foram experimentadas por outros desenvolvedores.

Desenhando o Fluxo

No estudo de caso de [8], eles primeiramente desenharam em um quadro brandco um mapa mental relacionando os objetivos do bot.

Fluxo Inicial

Estágio inicial do fluxo

Feito isso, eles dividiram as partes funcionais e que possuiam algum padrão ou que era muito atrelado ao obejtivo, aqules que caracterizavam um diálogo normal, e os que possuiam alguma informação extra. Ao final, esta divisão ficou da seguinte maneira:

  • Opening

  • Extra(s)

  • Skip(s)

  • Core(s)

  • Chatter(s)

  • Ending

Blocos de conversação

E a partir destes blocos, criaram-se os scrips de conversação.

Agora, os artigos [9] e [10] mostram que diagrama é uma forma de se mostrar como se imagina a interação. Segundo o artigo [9], uma conversa não deve possuir mais de 3 interações, e modelá-los traz uma visão melhor para a escrita do script.

Os diagramas não possuem padrão para escrita, mas um coisa em comum é a diferenciação entre o usuário e o bot.

Neste diagrama, ele utiliza a diferenciação tanto por cor, quanto por formato, e mostra quando existe validação e armazenamento de dados.

diagrama1

Fluxo do RestaurantBot

Já nesse caso, não foram definidas as validações e armazenamento, mas continuou-se com as ramificações para cada ação que deve ser tomada.

diagrama2

Fluxo Simples

Scripts

Algumas práticas adotadas para a construção do scripts são:

O bot deve iniciar a conversa

Sempre que houver uma nova conversa, o bot deve iniciá-la, deixando claro suas capacidades e seus objetivos. Não se deve esperar que o usuário inicie a conversa. Use a primeira mensagem também para sugerir o que o usuário deve fazer primeiro. [12]

As mensagens de boas vindas/ introdução não devem ter mais de 160 caracteres. [11]

Parágrafos ou Frases?

As pessoas não costumam conversar em parágrafos, ao invés utiliza-se frases simples. Normalmente os usuários não ficam entretidos com o bot quando se deparam com mensagens grandes. Assim, é preferível separar a fala do bot em diversas sentenças. [8]

Algo importante a se considerar é o intervalo de tempo entre as mensagens. Este deve ser proporcional ao tempo de leitura da mensagem anterior, para evitar que as mensagens cheguem ao mesmo tempo, ou que demore muito para aparecer. [14]

Direcione as respostas

Direcionar as respostas é uma forma de evitar que o usuário escreva algo que o bot não suporta. Ao invés de perguntar algo como "Sobre o que você gostaria de falar?", pergunte "Você gostaria de falar sobre o clima de hoje ou de amanhã?", sempre algo que leve para algum dos fluxos pré-estabelicidos. [8]

Porém, deve-se ter cuidado de não construir frases que sejam ambíguas.

Continue e Controle a Interação

Após fornecer o conteúdo que o usuário deseja, forneça o próximo passo, aquilo que pode estar relacionado e que possivelmente seria um incremento para o usuário. [12]

Feedbacks e Erros

Coletar feedbacks tanto positivos quanto negativos é uma parte importante para a evolução bot, então deve-se criar um script dedicado a esta parte.

Quanto aos erros, em [7], existem 4 categorias de erros e como lidar:

  • Chitchat: são entradas aceitas, que não são relevantes para a conversa, mas são boas para reconhecer.

  • Entity extration issues: entradas inválidas que aconteceram enquanto era analisadas outras informações fornecidas pelo usuário.

  • Abuso: entradas como ofensas, palavrões e discurssos de ódio.

  • Genéricos: mensagens de erros que devem ser mostradas que não se encaixam em outra categoria.

Análise de Chatbot

Para acompanhar o desempenho do bot é importante que os desenvolvedores usem uma plataforma de visualização de dados. Cada métrica do bot deve ser apresentada e deve estar visualmente compreensível para qualquer pessoa que possa ter acesso a tais informações. Para a Taís, por exemplo, estamos utilizando o Kibana porém existem diversas formas de apresentar e visualizar tais dados. Alguns parâmetros a serem visualizados são:

  • Usuários Ativos: Saber a quantidade de usuários ativos por um determinado período de tempo é importante para compreender se, por exemplo, a popularidade do bot está crescendo ou não. Isso determina, de certa forma, a eficiência do bot. Se o número de usuários por dia cair muito, pode significar que seu bot não está efetuando as ações para as quais ele foi criado de maneira satisfatória.

  • Duração da Conversa: A duração da conversa pode ser determinada pelo tempo de cada sessão ou número de mensagens enviadas pelo usuário. Isso pode ajudar a estabelecer se é mais fácil para o usuário obter as informações que ele precisa de outra forma que não seja o bot ou se o bot está cumprindo bem o seu papel.

  • Questões não respondidas pelo Bot: Poder visualizar quais questões o Bot está falhando em resolver ajudará a consertar os erros mais rapidamente.

  • Porcentagem das Intents: A partir dessa informação, constata-se quais questões estão sendo mais demandadas.

  • Fluxo de Conversa: O fluxo de conversa ajudará a entender quais caminhos estão sendo feitos pelos usuários e, a partir disso, diversas análises podem ser desenvolvidas.

  • Média de Fallbacks por Sessão: Essa média permitirá que os desenvolvedores vejam se o bot está, de maneira geral, conseguindo atender a seu propósito.

  • Avaliações dos Usuários: A visualização da média das avaliações dos usuários dirá se o Bot está conseguindo atender às expectativas dos usuários de maneira generalizada.

  • Frequência das Palavras Utilizadas pelos Usuários: É importante saber quais são os termos mais usados para que os desenvolvedores do Bot consigam identificar padrões de forma mais ráida e eficiente.

Referências Bibliográficas

1. Storytelling and Bot Making

2. To Build a successful Chatbot Ask These 5 Questions

3. AI won't change companies without great UX

4. A guide to developing bot personalities

5. Myers-Briggs - 16 Personalities

6. Siri, Cortana, Alexa, Marcus. Do bots really need a gender?

  1. Designing Bots - Creating Conversational Experiences, Amir Shevat

8. conversational UI Principles Complete process of Designing a Website Chatbot

9. Building Great Bots an Enterprise Chatbot Methodology

10. Dialogflow Restaurant bot Tutorial

11. Conversational UX Design. All Facebook Messenger Bots Interactions

12. The Bot Playbook

13. Designing chatbots - A step by step guide with example

14. 6 User Experience Tips for Designing Your Best Chatbot

Clone this wiki locally