Ações de conversação (Dialogflow)

As ações de conversa estendem a funcionalidade do Google Assistente, permitindo que os desenvolvedores criem experiências ou conversas personalizadas para usuários no Google Assistente. Em uma conversa, sua ação de conversa processa solicitações do Google Assistente e retorna respostas com componentes visuais e de áudio. As ações de conversa também podem se conectar a serviços externos para adicionar uma lógica de conversa ou de negócios antes de retornar uma resposta.

Por exemplo, os usuários podem invocar sua ação de conversa para receber uma resposta do serviço de fulfillment externo quando quiserem pesquisar informações, receber uma recomendação personalizada ou realizar transações envolvendo pagamentos digitais.

Em uma conversa íntima com o Google Assistente, um usuário
            pergunta e recebe uma resposta para saber quando a sessão de videoconferência
            está acontecendo.
Figura 1. Um exemplo de ação de conversa.

Casos de uso

Ações de conversação funcionam melhor para casos de uso simples que complementam outra experiência. Boas ações de conversação geralmente se enquadram nestas categorias gerais:

  • Informações que as pessoas podem responder com facilidade Ações que podem ser realizadas com entradas conhecidas, como horários ou datas, como reservar um voo.
  • Ações rápidas, mas incrivelmente úteis. Geralmente, isso traz benefícios imediatos aos usuários por pouco tempo gasto, por exemplo, para saber quando será o próximo jogo do time favorito deles.
  • Ações inerentemente mais adequadas para voz. Normalmente, essas são coisas que você quer fazer sem usar as mãos, como receber orientação durante ioga ou exercícios leves.

Como as ações de conversa funcionam

Ao contrário dos apps tradicionais para dispositivos móveis e computadores, que usam paradigmas centrados em computador, os usuários interagem com as ações do Google Assistente usando conversas com som natural. As ações de conversa começam quando invocadas por um usuário e continuam até que ele decida sair (usando frases predeterminadas) ou que a ação indique o fim da conversa.

Durante uma conversa, as entradas do usuário são transformadas de voz em texto pelo Google Assistente e formadas em solicitações JSON para processamento de linguagem natural. Essas solicitações são enviadas para o que é conhecido como fulfillment de conversa.

O fulfillment da conversa analisa a consulta do usuário em dados estruturados, processa esses dados e retorna uma resposta JSON de webhook para o Google Assistente. Em seguida, o Google Assistente processa e apresenta sua resposta ao usuário.

O fulfillment da conversa pode ser representado com a entrada
            de solicitação JSON e a saída de resposta JSON do webhook.
Figura 2. O fulfillment da conversa é um sistema de saída JSON dentro do JSON.

Criar seu próprio serviço de processamento de linguagem natural pode ser desafiador. Por isso, oferecemos o Dialogflow como uma maneira de lidar com isso para você. Para desenvolvedores que não podem usar o Dialogflow, também fornecemos o SDK do Actions como uma opção de backup com um caminho de desenvolvimento separado, mas relacionado.

Depois de configurar um agente no Dialogflow, o fulfillment da conversa é aumentado pelos recursos do Dialogflow, incluindo a capacidade de usá-lo. Essa abordagem permite isolar o cumprimento da conversa de outros serviços que podem ser necessários para fornecer aos usuários o resultado pretendido.

O Actions on Google analisa o enunciado do usuário e envia uma solicitação ao
            Dialogflow. O Dialogflow faz a correspondência com a intent e extrai parâmetros para
            enviar ao fulfillment do Dialogflow correspondente. O fulfillment
            envia uma resposta de volta ao Actions on Google, que renderiza a
            resposta em uma plataforma do Assistente.
Figura 3. Fulfillment de conversa ao usar o Dialogflow

Como criar uma ação de conversa

A maior parte do desenvolvimento da ação de conversa envolve projetar e atender à conversa. Pense na conversa como a interface do usuário para sua ação de conversa. Você precisa pensar em como os usuários invocam seu projeto do Actions, as coisas válidas que eles podem dizer em uma conversa e como o projeto do Actions responde a eles.

No projeto do Actions, você fornece metadados para publicar o projeto e especifica um método de fulfillment de conversa. Os desenvolvedores que usam o Dialogflow associam o agente do Dialogflow ao projeto e, em seguida, criam o fulfillment por ele. Para desenvolvedores que usam o SDK do Actions, a criação do fulfillment de conversa envolve a codificação e a implantação no formato do webhook de conversa.

Ao projetar sua conversa, recomendamos usar nossos processos e princípios de design. Interfaces de conversa ainda são uma tecnologia relativamente nova, e o aprendizado sobre as práticas recomendadas pode economizar tempo no futuro.

Fulfillment usando o Dialogflow

Ao fazer a integração com um agente do Dialogflow, ele processa o PLN das consultas do usuário na ação de conversa. O agente do Dialogflow faz o seguinte durante esta etapa:

  1. Analisa cada solicitação recebida do Google Assistente com base nas frases de treinamento que você fornece e no contexto da conversa.
  2. Corresponde cada solicitação a uma intent do Dialogflow (também conhecida como evento).
  3. Extrai parâmetros para entidades do Dialogflow.

Seu agente do Dialogflow pode chamar no próprio fulfillment (implantado como um webhook) para executar alguma lógica, como chamar uma API REST ou outro serviço de back-end que gere uma resposta para retornar ao Assistente. Ele também é conhecido como fulfillment do Dialogflow e usa o formato do webhook do Dialogflow.

O Dialogflow aceita uma fala do usuário para correspondência de intents e fornece
            parâmetros extraídos para o fulfillment do Dialogflow. O fulfillment
            retorna uma resposta ao usuário.
Figura 4. Um agente do Dialogflow analisa a consulta do usuário em dados estruturados para fulfillment do Dialogflow

A criação de fulfillment de conversas ao usar o Dialogflow consiste principalmente em desenvolver o webhook de fulfillment do Dialogflow. Na documentação do Actions on Google, você encontrará recursos para ajudar a projetar, criar e testar seu webhook de fulfillment do Dialogflow. Entre esses recursos estão as bibliotecas de cliente Node.js e Java.

Ao criar com o Dialogflow, você usará o Console para criar intents, entidades e frases de treinamento do Dialogflow.

Para mais informações gerais sobre o Dialogflow, leia sobre a integração com o Actions on Google na documentação do Dialogflow (em inglês).

Fulfillment usando o SDK do Actions

A criação do fulfillment de conversa com o SDK do Actions consiste principalmente em criar e implantar o pacote da ação. Os pacotes de ações são criados no formato ActionPackage e usam o formato de webhook de conversa. Um pacote contém todas as ações de um determinado projeto.

O Google Assistente fornece consultas do usuário para o fulfillment da conversa usando intents do Actions on Google. Para cada intent, o webhook de fulfillment precisa analisá-la, processá-la e retornar uma resposta JSON ao Google Assistente para o usuário.

Respostas

Ao criar uma ação para o Google Assistente, você projeta as conversas para diversas plataformas, como uma conversa centrada em voz para alto-falantes ativados por voz ou uma conversa visual em uma superfície compatível com o Google Assistente. Essa abordagem permite que os usuários realizem tarefas rapidamente com affordances de voz ou visuais.

Ao criar o fulfillment, é possível selecionar entre uma variedade de tipos de resposta interessantes para o Google Assistente apresentar aos usuários. Eles variam de balões de chat com texto simples a respostas de mídia, carrosséis e até mesmo HTML usando tela interativa.

Próximas etapas

Siga o codelab Criar ações para o Google Assistente (nível 1) para conferir instruções detalhadas para começar a criar sua primeira ação de conversa.

Em seguida, consulte nossos guias para criar seu próprio fulfillment de conversa com o Dialogflow ou com o SDK do Actions. Você também pode explorar estes recursos adicionais para criar ações de conversa: