-
Notifications
You must be signed in to change notification settings - Fork 42
Estudo sobre melhores práticas de bots
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:
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.
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.
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.
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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
É 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.
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.
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.
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.
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.
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.
No estudo de caso de [8], eles primeiramente desenharam em um quadro brandco um mapa mental relacionando os objetivos do bot.
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
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.
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.
Algumas práticas adotadas para a construção do scripts são:
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]
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]
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.
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]
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.
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.
6. Siri, Cortana, Alexa, Marcus. Do bots really need a gender?
- Designing Bots - Creating Conversational Experiences, Amir Shevat
8. conversational UI Principles Complete process of Designing a Website Chatbot
11. Conversational UX Design. All Facebook Messenger Bots Interactions
- Conteúdo atual
- Novos tópicos para inserir no futuro
- Intents classificados errado
- Sinônimos de tópicos existentes
- Tópicos complicados para avaliar
- Sugestões de Fluxo
- intents_depreciadas
- utters_depreciadas
- Estudo sobre ferramentas de bots
- Estudo sobre melhores práticas de bots
- Estudo sobre pipeline do RASA
- Estudo sobre intents eficientes
- Estudo sobre refinamento da Taís
- Estudo de ferramentas de edição de conteúdo
- Estudo de Slots e Entidades
- Estudo de teste automatizado
- Estudo de Custom Actions
- Estudo de Interação
- Estudo de Métricas para Bots
- Estudo de Embedding Policy