Cake Walk:

Construa uma Skill engajadora

Projetando a VUI

Como um usuário interagirá com a Alexa?

Para começar a projetar a VUI para uma skill, você precisa entender como um usuário irá interagir com a Alexa. Um usuário ativa um dispositivo habilitado para Alexa com a wake word e faz uma pergunta ou uma solicitação. Para dispositivos habilitados para Alexa com uma tela, um usuário pode tocar na tela para interagir com a Alexa (se a skill suportar a interação).

A seguir, exemplos de como um usuário pode interagir com a Alexa:

Por que projetar uma VUI?

Os seres humanos vêm aprendendo, evoluindo e definindo linguagens e normas de comunicação há milhares de anos. No entanto, as máquinas com as quais interagimos tiveram um prazo muito menor para aprender a falar conosco.

Existem desafios inerentes às interfaces de voz. Os desafios incluem alternância de contexto ou ambigüidade na conversa, descoberta de intenção e desconhecimento do estado ou humor atual do usuário. Para uma boa experiência do usuário, você deve planejar esses desafios ao desenvolver sua skill.

Os vídeos a seguir mostram alguns exemplos de como as coisas podem dar errado se você não projetar cuidadosamente uma VUI para sua skill.

Neste exemplo, o usuário fornece todas as informações necessárias de uma só vez, mas a Alexa não consegue analisar as informações fornecidas de uma só vez. Isso não significa que a Alexa não seja capaz de compreender o que o usuário diz, mas sim que a VUI da skill não foi projetada adequadamente ou corretamente para inferir informações do modo natural como uma pessoa pode falar.

Neste exemplo, a Alexa não reconhece que ela já tem a resposta que precisa do contexto. Novamente, o projeto de VUI não infere informações do contexto da situação e é bastante rígido em obter a resposta para uma questão específica. Isso pode ser bastante frustrante para um usuário.

Os dois exemplos mostram que é importante projetar a VUI para ser o mais semelhante possível a uma conversa natural que possa ocorrer entre dois seres humanos. Uma boa VUI aumenta drasticamente a facilidade de uso e satisfação do usuário para qualquer skill.

Características de uma VUI bem projetada

Usa formas naturais de comunicação

Ao falar com uma máquina, não se deve exigir que um usuário aprenda um novo idioma ou lembre-se das regras. Uma máquina deve estar de acordo com o paradigma do usuário, e não o contrário.

Navega através da informação facilmente

A VUI da sua skill deve oferecer uma maneira fácil de cortar camadas de hierarquia de informações usando comandos de voz para encontrar informações importantes.

Cria uma experiência de olhos e mãos livres

As interfaces de voz devem permitir que um usuário execute tarefas enquanto seus olhos e mãos estão ocupados.

Cria uma experiência compartilhada

As experiências de voz permitem que os usuários colaborem, contribuam ou joguem juntos por meio de conversas naturais. Por exemplo, uma família toda pode jogar um jogo em um único dispositivo habilitado para Alexa.  

Considerações sobre design

Projetar uma boa VUI para uma skill envolve escrever diálogos naturais, envolver o usuário em toda a skill e permanecer fiel à personalidade de Alexa. A seguir estão algumas considerações de design para ajudá-lo a projetar uma VUI envolvente:

1. Mantenha-se fiel a persona de Alexa

A personalidade de Alexa é amigável, otimista e útil. Ela é honesta sobre qualquer coisa que bloqueie seu caminho, mas também é divertida, gentil e capaz de fazer pequenas conversas sem ser intrusiva ou inapropriada.

Tente manter o tom da VUI da sua skill o mais próximo possível da persona da Alexa. Uma maneira de fazer isso é mantendo a VUI natural e conversacional.

Varie um pouco as respostas dadas por Alexa para respostas como "obrigado" e "desculpe". Envolver o usuário com perguntas também é uma boa técnica para uma VUI bem projetada.

Alexa deve ser útil, fornecendo a resposta correta. O seguinte é um exemplo:

Sim

Alexa: Essa não é exatamente a resposta. Mais uma tentativa. Em que ano o Tratado de Tordesilhas foi assinado?

Usuário: 1500.

Alexa: Oops. Você está errado. A resposta certa é 1494.

Não

Alexa: A resposta está errada. Tente mais uma vez. Em que ano o Tratado de Tordesilhas foi assinado?

User: 1500.

Alexa: Resposta incorreta. Vamos continuar.

Envolva o usuário com perguntas e evite terminar perguntas com "sim ou não?" Veja o exemplo a seguir:

Sim

Alexa: Você quer continuar suas compras?

Não

Alexa: Você quer continuar suas compras: Sim ou Não?

2. Escreva para o ouvido, não para o olho

A maneira como falamos é muito menos formal do que a maneira como escrevemos. Portanto, é importante escrever os avisos de Alexa para o usuário em um tom de conversa.

Não importa o quão bom um prompt soe quando você diz isso, pode parecer estranho em text-to-speech (TTS).

É importante ouvir os prompts em seu dispositivo de teste e depois iterar nos prompts com base em como eles soam.

Mantenha sua VUI informal. Veja o exemplo:

Keep your VUI informal. The following is an example.

Sim

Alexa: Tocando sua playlist.

Não

Alexa: Executando sua playlist.

Se houver mais de duas opções, apresente ao usuário as opções e pergunte qual ele gostaria. Exemplo:

Sim

Alexa: Posso contar uma história, recitar um poema ou cantar uma música. Qual você gostaria?

Não

Alexa: Você quer que eu conte uma história, recite um poema ou cante uma música para você?

3. Seja contextualmente relevante

Liste as opções em ordem, da mais relevante a menos, para facilitar o entendimento do usuário. Evite dar opções ao usuário em uma ordem que altere o assunto da conversa e, em seguida, retorne a ela novamente. Isso ajuda o usuário a entender e verbalizar melhor suas escolhas sem gastar tempo mental e energia para descobrir o que é mais relevante. Veja o exemplo a seguir:

Sim

Alexa: Esse programa passará de novo amanhã às 21h. Eu posso te dizer quando um novo episódio estiver no ar, quando outro programa estiver no ar, ou você pode escolher outra coisa. Qual você gostaria?

Não

Alexa: Esse programa passará amanhã novamente às 21h. Você pode descobrir quando outro programa está no ar, pode descobrir quando um novo episódio desse programa está no ar ou fazer outra coisa. O que você gostaria de fazer?

4. Seja breve

Reduza o número de etapas para concluir uma tarefa sempre que possível para manter a conversa breve. Simplifique as mensagens sempre que possível. Abaixo, mais um exemplo:

Sim

Alexa: Pronto para começar o jogo?

Não

Alexa: Certo então. Você está preparado para iniciar uma nova partida do jogo?

5. Escreva pensando no engajamento e na retenção

As skills de Alexa devem ser criadas para durar e crescer com o usuário ao longo do tempo. Sua skill deve fornecer uma experiência agradável ao usuário, seja a primeira vez que um usuário a invoca ou a 100º.

Projete a skill para eliminar as informações que os usuários experientes aprenderão ao longo do tempo. Ofereça um novo diálogo a usuários recorrentes para que a skill não se torne cansativa ou repetitiva.

Sim

Novo usuário:

Alexa: Obrigado por se inscrever na Rádio Imaginária. Você pode ouvir um jogo ao vivo dizendo o nome de um time, como Corinthians, local, como Rio de Janeiro ou liga, como Campeonato Brasileiro. Você também pode me pedir uma estação de música ou gênero. O que você gostaria de ouvir??

Usuário Recorrente:

Alexa: Bem-vindo de volta a Rádio Imaginária. Você quer continuar a ouvir a estação Pop 2020?

Não

Novo Usuário:

Alexa: Obrigado por se inscrever na Rádio ABC. O que você quer ouvir?

Usuário Recorrente:

Alexa: Bem-vindo de volta. O que você quer ouvir?

Componentes de enunciados e intenções

Para criar uma VUI para sua skill você precisa conhecer os componentes dos enunciados utilizados pelos usuários. Na imagem a seguir, aprenda mais sobre cada um dos componentes.

Wake word
A Wake Word chama a Alexa para que ela comece a ouvir seus comandos.

Palavra de Lançamento (Launch Word)
Uma palavra de lançamento é uma palavra de ação transicional que indica a Alexa que uma invocação de skill provavelmente se seguirá. Exemplos de palavras de lançamento incluem contar, perguntar, abrir, lançar e usar.

Nome de Invocação (Invocation name)
Para começar a interagir com uma skill, um usuário diz o nome da invocação da skill. Por exemplo, para usar a skill Horóscopo Diário, o usuário poderia dizer "Alexa, leia meu horóscopo diário".

Enunciado (Utterance)
Simplificando, um enunciado é um pedido falado pelo usuário. Essas solicitações faladas podem invocar uma skill, fornecer informações para uma skill, confirmar uma ação para a Alexa e assim por diante. Considere as várias maneiras na quais um usuário pode enunciar sua solicitação.

Valor de Variável (Slot value)
Slots são valores de entrada fornecidos na solicitação falada de um usuário. Esses valores ajudam a Alexa a descobrir a intenção do usuário.

No exemplo acima, o usuário fornece informações de entrada, a data da viagem na sexta-feira. Esse valor é um slot de intenção, que a Alexa transmitirá ao Lambda para processamento do código da skill.

Slots podem ser definidos com diferentes tipos. O espaço de data de viagem no exemplo acima usa o tipo AMAZON.DATE integrado da Amazon para converter palavras que indicam datas (como "hoje" e "próxima sexta-feira") em um formato de data, enquanto que "de Cidade" e "para Cidade" usam o formato no slot AMAZON.US_CITY.

Se você estendeu essa skill para perguntar ao usuário quais atividades ele planeja fazer na viagem, adicione uma variável de LISTOFACTIVITIES para fazer referência a uma lista de atividades como caminhadas, compras, esqui e assim por diante.

Intenção (Intent)
Uma intenção representa uma ação que atende a uma solicitação do usuário. Intenção pode, opcionalmente, ter argumentos chamados slots.

Como identificar variáveis para uma intenção

Depois de escrever algumas frases, anote as palavras ou frases que representam informações variáveis. Estas serão os slots (variáveis) da intenção.

 

Enunciado Direcionamento
"Eu vou viajar essa sexta." TRAVEL_DATE
"Eu quero visitar Manaus." TO_CITY
"Eu quero viajar de São Paulo para Salvador na próxima sexta." FROM_CITY, TO_CITY, and TRAVEL_DATE
Vou dirigir de Belo Horizonte a Cuiabá." MODE_OF_TRAVEL, FROM_CITY, and TO_CITY
"Vou viajar para Fernando de Noronha para mergulhar." MODE_OF_TRAVEL, TO_CITY, and ACTIVITIES



Opcionalmente, se sua skill for complexa e tiver muitas conversas de ida e vinda (conversa com várias voltas), crie um modelo de diálogo para sua skill. Um modelo de diálogo é uma estrutura que identifica as etapas de uma conversa em várias voltas entre sua skill e o usuário para coletar todas as informações necessárias para cumprir cada intenção. Isso simplifica o código que você precisa escrever para solicitar informações ao usuário.

Modelo de Interação (Interation Model)

Agora que você sabe quais são os componentes de uma skill, é mais fácil entender o que é um modelo de interação. Um modelo de interação é simplesmente uma combinação de enunciados, intenções e variáveis que você identifica para sua skill.

Para criar um modelo de interação, defina as solicitações (intenções) e as palavras (amostra de enunciados). O código Lambda da sua skill então determina como sua skill lida com cada intenção. Você pode começar a definir as intenções e enunciados em papel e iterar sobre elas para tentar cobrir o maior número possível de maneiras que um usuário pode interagir com a skill.

Em seguida, vá para o Console no Portal dos Desenvolvedores de Alexa e comece a criar as intenções, os enunciados e os slots. O console cria o código JSON do seu modelo de interação. Você também pode criar o modelo de interação em JSON usando qualquer ferramenta JSON e copiá-lo e colá-lo no console.

Design de voz

Uma parte importante da experiência é projetar sua skill para imitar bem a conversa humana. Antes de escrever uma linha de código, você deve trabalhar muito para pensar em como seus clientes irão interagir com sua skill. Ignorar esta etapa resultará em uma skill mal escrita que não funcionará bem com seus usuários.

Embora seja tentador usar um fluxograma para representar como uma conversa pode se ramificar, não faça isso! Fluxogramas não são conversacionais. Eles são complicados, impossíveis de ler e tendem a levar a uma experiência inferior, não diferente de um diagrama de árvore. Ninguém gosta de ligar para o suporte ao cliente e mergulhar em um diagrama de árvore, então vamos evitar isso. Em vez de fluxogramas, você deve usar o design situacional.

Design Situacional

O design situacional é um método de voice-first para projetar uma interface de usuário de voz. Você começa com um diálogo simples que ajuda a manter o foco na conversa. Cada interação entre seu cliente e a skill representa um turno. Cada turno tem uma situação que representa o contexto. Se for a primeira vez que o cliente interage com a skill, há um conjunto de dados ainda desconhecidos. Por exemplo, se é a primeira vez que o usuário usa a Cake Walk, a skill ainda não sabe quando é seu aniversário. Nessa situação, a skill perguntará “Quando você nasceu?”.

Depois que o usuário der sua data de nascimento, a skill armazenará essa informação para usar na próxima vez. Quando o usuário interagir com a skill novamente, a skill verificará se é a data de nascimento do usuário. Em caso afirmativo, lhe desejará um feliz aniversário, caso contrário, irá contar o número de dias que faltam até o aniversário do usuário.

Com o design situacional, você inicia a conversa e trabalha de trás para a sua solução. Cada interação entre o usuário e a Alexa é tratada como um turno. No exemplo abaixo, a situação é que o aniversário do usuário é desconhecido e a skill precisará solicitá-lo.

Cada turno pode ser representado como um cartão que contém o enunciado do usuário, a situação e a resposta da Alexa.

Você pode combinar esses cartões para formar um storyboard que mostre como o usuário irá progredir com a skill ao longo do tempo. Os storyboards são conversacionais, os fluxogramas não são.

No próximo módulo, você aprenderá a criar o modelo de interação para a skill Cake Walk no Console do Portal dos Desenvolvedores de Alexa.