Esta página descreve os conceitos básicos da utilização do Dialogflow ES. Deve ler esta página antes de avançar para outros documentos ou inícios rápidos.
Ajudar os utilizadores a interagir com a tecnologia
As interfaces de computador tradicionais requerem uma introdução de dados estruturada e previsível para funcionar corretamente, o que torna a utilização destas interfaces pouco natural e, por vezes, difícil. Se os utilizadores finais não conseguirem compreender facilmente esta entrada estruturada, têm dificuldade em perceber o que fazer. Idealmente, as suas interfaces podem inferir o que os utilizadores finais querem, com base na linguagem natural que estão a usar.
Por exemplo, considere um pedido simples do utilizador, como "Qual é a previsão meteorológica para hoje?". Outros utilizadores finais também podem perguntar:
- "Como está o tempo neste momento?"
- "Qual vai ser a temperatura em São Francisco amanhã?"
- "Como vai estar o tempo no dia 21?"
Mesmo com estas perguntas simples, pode ver que as experiências conversacionais são difíceis de implementar. A interpretação e o processamento de linguagem natural requerem um analisador de linguagem muito robusto. O Dialogflow processa isto por si, para que possa oferecer uma experiência de utilizador final conversacional de alta qualidade.
Agentes
Um agente do Dialogflow é um agente virtual que processa conversas simultâneas com os seus utilizadores finais. É um módulo de compreensão de linguagem natural que compreende as nuances da linguagem humana. O Dialogflow traduz o texto ou o áudio do utilizador final durante uma conversa em dados estruturados que as suas apps e serviços podem compreender. Cria e desenvolve um agente do Dialogflow para processar os tipos de conversas necessários para o seu sistema.
Um agente do Dialogflow é semelhante a um agente humano de um centro de chamadas. Treina-os para processarem cenários de conversa esperados, e a sua formação não tem de ser excessivamente explícita.
Intenções
Uma intenção categoriza a intenção de um utilizador final para uma interação de conversa. Para cada agente, define muitas intenções, em que as suas intenções combinadas podem processar uma conversa completa. Quando um utilizador final escreve ou diz algo, denominado expressão do utilizador final, o Dialogflow faz a correspondência da expressão do utilizador final com a melhor intenção no seu agente. A correspondência de uma intenção também é conhecida como classificação de intenções.
Por exemplo, pode criar um agente meteorológico que reconheça e responda a perguntas dos utilizadores finais sobre o tempo. É provável que defina uma intenção para perguntas sobre a previsão meteorológica. Se um utilizador final disser "Qual é a previsão?", O Dialogflow faria corresponder essa expressão do utilizador final à intenção de previsão. Também pode definir a sua intenção de extrair informações úteis da expressão do utilizador final, como uma hora ou uma localização para a previsão meteorológica desejada. Estes dados extraídos são importantes para que o seu sistema execute uma consulta meteorológica para o utilizador final.
Uma intenção básica contém o seguinte:
- Expressões de treino: Estas são expressões de exemplo do que os utilizadores finais podem dizer. Quando uma expressão do utilizador final se assemelha a uma destas expressões, o Dialogflow faz corresponder a intenção. Não tem de definir todos os exemplos possíveis, porque a aprendizagem automática incorporada do Dialogflow expande a sua lista com outras frases semelhantes.
- Ação: Pode definir uma ação para cada intenção. Quando uma intenção é correspondida, o Dialogflow fornece a ação ao seu sistema, e pode usar a ação para acionar determinadas ações definidas no seu sistema.
- Parâmetros: Quando uma intenção é correspondida no tempo de execução, o Dialogflow fornece os valores extraídos da expressão do utilizador final como parâmetros. Cada parâmetro tem um tipo, denominado tipo de entidade, que determina exatamente como os dados são extraídos. Ao contrário da entrada bruta do utilizador final, os parâmetros são dados estruturados que podem ser facilmente usados para realizar alguma lógica ou gerar respostas.
- Respostas: Define respostas de texto, voz ou visuais para devolver ao utilizador final. Estas podem fornecer respostas ao utilizador final, pedir mais informações ao utilizador final ou terminar a conversa.
O diagrama seguinte mostra o fluxo básico para a correspondência de intenções e a resposta ao utilizador final:
Entidades
Cada parâmetro de intenção tem um tipo, denominado tipo de entidade, que determina exatamente como os dados de uma expressão do utilizador final são extraídos.
O Dialogflow fornece entidades do sistema predefinidas que podem corresponder a muitos tipos comuns de dados. Por exemplo, existem entidades do sistema para fazer corresponder datas, horas, cores, endereços de email, etc. Também pode criar as suas próprias entidades personalizadas para fazer corresponder dados personalizados. Por exemplo, pode definir uma entidade vegetable que pode corresponder aos tipos de vegetais disponíveis para compra com um agente de mercearia.
Contextos
O Dialogflow contexts é semelhante ao contexto da linguagem natural. Se uma pessoa lhe disser "são laranjas", precisa de contexto para compreender a que é que "são" se refere. Da mesma forma, para que o Dialogflow processe uma expressão do utilizador final como essa, tem de lhe ser fornecido contexto para fazer corresponder corretamente uma intenção.
Usando contextos, pode controlar o fluxo de uma conversa. Pode configurar contextos para uma intenção definindo contextos de entrada e saída, que são identificados por nomes de strings. Quando uma intenção é correspondida, todos os contextos de saída configurados para essa intenção ficam ativos. Enquanto os contextos estiverem ativos, o Dialogflow tem maior probabilidade de corresponder a intenções configuradas com contextos de entrada que correspondem aos contextos atualmente ativos.
O diagrama seguinte mostra um exemplo que usa o contexto para um agente bancário.
- O utilizador final pede informações sobre a respetiva conta à ordem.
-
O Dialogflow faz corresponder esta expressão do utilizador final à intenção
CheckingInfo
. Esta intenção tem um contexto de saídachecking
, pelo que esse contexto fica ativo. - O agente pergunta ao utilizador final o tipo de informações que quer sobre a respetiva conta à ordem.
- O utilizador final responde com "o meu saldo".
-
O Dialogflow faz corresponder esta expressão do utilizador final à intenção
CheckingBalance
. Este objetivo tem um contexto de entradachecking
, que tem de estar ativo para corresponder a este objetivo. Também pode existir uma intençãoSavingsBalance
semelhante para fazer corresponder a mesma expressão do utilizador final quando um contextosavings
está ativo. - Depois de o seu sistema executar as consultas necessárias à base de dados, o agente responde com o saldo da conta corrente.
Intenções de seguimento
Pode usar intenções de seguimento para definir automaticamente contextos para pares de intenções. Uma intenção de seguimento é um filho da sua intenção principal associada. Quando cria uma intenção de seguimento, é adicionado automaticamente um contexto de saída à intenção principal e um contexto de entrada com o mesmo nome é adicionado à intenção de seguimento. Uma intenção de seguimento só é correspondida quando a intenção principal é correspondida na interação de conversa anterior. Também pode criar vários níveis de intenções de seguimento aninhadas.
O Dialogflow oferece muitos intencionalidades de seguimento predefinidas para respostas comuns dos utilizadores finais, como "sim", "não" ou "cancelar". Também pode criar as suas próprias intenções de seguimento para processar respostas personalizadas.
Consola do Dialogflow
O Dialogflow oferece uma interface do utilizador Web denominada consola do Dialogflow (visite a documentação, abra a consola). Use esta consola para criar, compilar e testar agentes.
A consola do Dialogflow é diferente da consola do Google Cloud Platform (GCP) (visite a documentação, abra a consola). A consola do Dialogflow é usada para gerir agentes do Dialogflow, enquanto a GCP Console é usada para gerir definições do Dialogflow específicas da GCP (por exemplo, faturação) e outros recursos da GCP.
Na maioria dos casos, deve usar a consola do Dialogflow para criar agentes, mas também pode usar a API Dialogflow para criar agentes para cenários avançados.
Interações do utilizador com integrações
O Dialogflow integra-se com muitas plataformas de conversação populares, como o Assistente Google, o Slack e o Facebook Messenger. Se quiser criar um agente para uma destas plataformas, deve usar uma das várias opções de integrações. As interações diretas com o utilizador final são processadas por si, para que se possa concentrar na criação do seu agente. Cada integração processa as interações do utilizador final de uma forma específica da plataforma. Por isso, consulte a documentação da sua plataforma de integração para ver detalhes.
Processamento de pedidos para integrações
Por predefinição, o seu agente responde a uma intenção correspondente com uma resposta estática. Se estiver a usar uma das opções de integração, pode fornecer uma resposta mais dinâmica usando o cumprimento. Quando ativa o processamento para uma intenção, o Dialogflow responde a essa intenção chamando um serviço que define. Por exemplo, se um utilizador final quiser agendar um corte de cabelo para sexta-feira, o seu serviço pode verificar a sua base de dados e responder ao utilizador final com informações de disponibilidade para sexta-feira.
Cada intenção tem uma definição para ativar o processamento. Se uma intenção exigir alguma ação por parte do seu sistema ou uma resposta dinâmica, deve ativar o processamento para a intenção. Se for encontrada uma intenção sem o preenchimento ativado, o Dialogflow usa a resposta estática que definiu para a intenção.
Quando é encontrada uma intenção com o preenchimento ativado, o Dialogflow envia um pedido ao seu serviço de webhook com informações sobre a intenção encontrada. O seu sistema pode realizar todas as ações necessárias e responder ao Dialogflow com informações sobre como proceder. Quando o preenchimento está ativado, a resposta estática que definiu para a intenção só é usada se o seu serviço de webhook falhar. O diagrama seguinte mostra o fluxo de processamento para o preenchimento.
- O utilizador final escreve ou diz uma expressão.
- O Dialogflow faz a correspondência da expressão do utilizador final com uma intenção e extrai parâmetros.
- O Dialogflow envia uma mensagem de pedido de webhook para o seu serviço de webhook. Esta mensagem contém informações sobre a intenção correspondente, a ação, os parâmetros e a resposta definida para a intenção.
- O seu serviço realiza ações conforme necessário, como consultas de bases de dados ou chamadas de API externas.
- O seu serviço envia uma mensagem de resposta do webhook para o Dialogflow. Esta mensagem contém a resposta que deve ser enviada ao utilizador final.
- O Dialogflow envia a resposta ao utilizador final.
- O utilizador final vê ou ouve a resposta.
Interações do utilizador com a API
Se não estiver a usar uma das opções de integração, tem de escrever código que interaja diretamente com o utilizador final. Também tem de interagir diretamente com a API Dialogflow para cada interação de conversa para enviar expressões do utilizador final e receber correspondências de intenções. O diagrama seguinte mostra o fluxo de processamento quando interage com a API.
- O utilizador final escreve ou diz uma expressão.
- O seu serviço envia esta expressão do utilizador final para o Dialogflow numa mensagem de pedido de deteção de intenção.
- O Dialogflow envia uma mensagem de resposta de intenção de deteção para o seu serviço. Esta mensagem contém informações sobre a intenção correspondente, a ação, os parâmetros e a resposta definida para a intenção.
- O seu serviço realiza ações conforme necessário, como consultas de bases de dados ou chamadas de API externas.
- O seu serviço envia uma resposta ao utilizador final.
- O utilizador final vê ou ouve a resposta.