Uma intenção categoriza a intenção de um utilizador final para uma interação de conversa.
Uma intenção contém os seguintes dados:
Vigência | Definição |
---|---|
Nome a apresentar | Nome apresentado na consola para a intenção. |
Etiquetas | Etiquetas que ajudam a categorizar intenções. Por exemplo: intenção principal. |
Expressões de preparação | As frases de preparação são frases de exemplo do que os utilizadores finais podem escrever ou dizer, conhecido como introdução do utilizador final. Quando a entrada do utilizador final se assemelha a uma destas expressões, os agentes conversacionais (Dialogflow CX) correspondem à intenção. Não tem de definir todos os exemplos possíveis, porque a aprendizagem automática incorporada dos agentes conversacionais (Dialogflow CX) expande a sua lista com outras expressões semelhantes. |
Parâmetros | Define as suas frases de preparação para usar parâmetros para extrair valores de partes específicas da entrada do utilizador final. |
Padrões DTMF | Consulte o artigo DTMF para integrações de telefonia. |
Correspondência de intenções
Quando um utilizador final introduz dados (texto, voz ou teclas premidas no telefone), os agentes conversacionais (Dialogflow CX) comparam os dados com as expressões de preparação de intenções para encontrar a melhor correspondência. Este processo é denominado correspondência de intenções. A correspondência de intenções só pode ocorrer para intenções associadas a uma rota de intenção (um controlador de estado com um requisito de intenção) no âmbito.
A entrada de teclas é correspondida de acordo com os padrões DTMF. No entanto, quando procura uma intenção correspondente para converter em texto, os agentes conversacionais (Dialogflow CX) classificam as potenciais correspondências com uma confiança na deteção de intenções, também conhecida como classificação de confiança. Estes valores variam entre 0,0 (completamente incerto) e 1,0 (completamente certo). Depois de as intenções serem classificadas, existem dois resultados possíveis:
- Se a intenção com a pontuação mais alta tiver uma pontuação de confiança igual ou superior à definição do limite de classificação, é devolvida como uma correspondência.
- Se nenhuma intenção atingir o limite, é invocado um evento sem correspondência.
Expressões de preparação
As expressões de preparação são expressões de exemplo do que os utilizadores finais podem escrever ou dizer, denominadas introdução do utilizador final. Para cada intenção, cria muitas expressões de preparação. Quando uma entrada do utilizador final se assemelha a uma destas expressões, os agentes conversacionais (Dialogflow CX) correspondem à intenção.
Por exemplo, a expressão de preparação "Quero pizza" prepara o seu agente para reconhecer a entrada do utilizador final semelhante a essa expressão, como "Comprar uma pizza" ou "Pedir pizza".
Não tem de definir todos os exemplos possíveis, porque a aprendizagem automática incorporada dos agentes conversacionais (Dialogflow CX) expande a sua lista com outras frases semelhantes. Deve criar, pelo menos, 10 a 20 (consoante a complexidade da intenção) expressões de preparação, para que o seu agente possa reconhecer uma variedade de entradas do utilizador final. Por exemplo, se quiser que a sua intenção reconheça a entrada de um utilizador final sobre a sua cor favorita, pode definir as seguintes frases de treino:
- "Gosto de vermelho"
- "A minha cor favorita é o amarelo"
- "black"
- "O azul é a minha cor favorita"
- …
Gere e traduza automaticamente expressões de preparação
Tem a opção de usar a geração de IA para gerar automaticamente expressões de preparação em vez de as introduzir manualmente. Para usar esta funcionalidade:
- Navegue até ao separador Gerir e clique em Intenções. Escolha uma intenção existente ou clique em + Criar para criar uma nova.
- Certifique-se de que introduz uma finalidade para a intenção no campo Descrição, por exemplo, "Esta intenção é acionada quando um utilizador pergunta sobre o estado da respetiva encomenda". O gerador de IA usa este campo para gerar expressões de treino mais precisas.
- Clique no botão radial __ novas expressões geradas pela IA. O valor predefinido é 3. A geração de mais de 15 expressões de treino de cada vez pode originar erros.
- Clique em + Adicionar. A IA gera o número especificado de expressões de treino e preenche-as na tabela. Certifique-se de que revê todas as expressões de treino geradas para verificar a precisão.
Para obter informações sobre como usar esta funcionalidade para gerar e traduzir automaticamente dados para idiomas não predefinidos, consulte a documentação sobre agentes multilingues
Anote as expressões de preparação
Controla a forma como os dados do utilizador final são extraídos anotando partes das suas expressões de preparação e configurando os parâmetros associados.
Por exemplo, considere uma expressão de preparação como "Qual é a previsão para amanhã em Tóquio?"
Deve anotar "amanhã" com um parâmetro date
e "Tóquio" com um parâmetro location
.
Quando anota partes de uma expressão de preparação, os agentes conversacionais (Dialogflow CX) reconhecem que estas partes são apenas exemplos de valores reais que serão fornecidos pelos utilizadores finais no tempo de execução.
Para uma entrada do utilizador final, como "Qual é a previsão para sexta-feira em Lisboa?",
Os agentes conversacionais (Dialogflow CX) extrairiam o parâmetro date
de "sexta-feira" e o parâmetro location
de "Sydney".
Tem de anotar todas as partes das expressões de treino que se destinam a ser extraídas como parâmetros. Caso contrário, o Dialogflow não extrai os valores.
Quando cria um agente com a consola, a maioria das anotações é criada automaticamente quando adiciona expressões de preparação que contêm partes que podem ser associadas a um tipo de entidade existente. Estas partes são realçadas na consola. Pode editar estas anotações e parâmetros conforme necessário.
Para anotar manualmente uma expressão de preparação com a consola:
- Selecione a parte da expressão de treino que quer anotar.
- Selecione o tipo de entidade pretendido na lista.
- É criado um parâmetro para si na tabela de parâmetros abaixo.
Quando cria um agente com a API,
tem de anotar manualmente as partes das expressões de preparação.
Veja o tipo TrainingPhrase
usado pelo tipo Intent
.
Selecione um protocolo e uma versão para a referência de intenção:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de intenção | Recurso de intenção |
RPC | Interface de intenção | Interface de intenção |
C++ | IntentsClient | Não disponível |
C# | IntentsClient | Não disponível |
Go | IntentsClient | Não disponível |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | Não disponível | Não disponível |
Python | IntentsClient | IntentsClient |
Ruby | Não disponível | Não disponível |
Entidades implícitas criadas por expressões de treino
A maioria das entidades personalizadas é definida explicitamente através da criação de tipos de entidades e da adição de entradas de entidades. No entanto, as entidades personalizadas também podem conter valores implícitos. Isto acontece quando anota texto de uma expressão de preparação, em que o texto anotado não é um valor definido pelo tipo de entidade selecionado. O texto anotado torna-se um valor de referência de entidade para a entrada de entidade adicionada implicitamente. Se o tipo de entidade for uma entidade de mapa, o texto também se torna um sinónimo da entrada da entidade.
Intenção de boas-vindas predefinida
Quando cria um agente, é criado um objetivo de boas-vindas predefinido. Para alguns idiomas, a intenção tem expressões de preparação simples, como "Olá" ou "Olá", que se destinam a corresponder à entrada inicial do utilizador final. Pode editar esta intenção como quiser.
Quando usar a API, pode fazer referência a este objetivo com o seguinte ID do objetivo:
00000000-0000-0000-0000-000000000000
Se o seu agente iniciar a conversa, pode acionar esta intenção através da API.
Use o valor
projects/<PROJECT_ID>/locations/<LOCATION_ID>/agents/<AGENT_ID>/intents/00000000-0000-0000-0000-000000000000
no campo QueryInput.intent.intent
quando chamar o método detectIntent
ou streamingDetectIntent
.
Intenção negativa predefinida
Quando cria um agente, é criada uma intenção negativa predefinida para si. Pode adicionar expressões de treino a esta intenção que atuam como exemplos negativos. Pode haver casos em que a entrada do utilizador final tem uma ligeira semelhança com as expressões de preparação em intenções normais, mas não quer que estas entradas correspondam a intenções normais.
Por exemplo, um agente de reservas de quartos pode ter uma expressão de preparação como "Quero reservar um quarto". Se o utilizador final quiser comprar um livro sobre quartos, pode dizer "Quero comprar um livro sobre quartos". Para garantir que a entrada do utilizador final não corresponde à sua intenção, pode adicionar essa expressão como um exemplo negativo.
Além disso, deve adicionar possíveis expressões que estejam fora do âmbito do agente, para que não correspondam a nenhuma intenção. No entanto, evite adicionar uma quantidade muito grande destas expressões. Por exemplo, se definir 10 000 expressões de intenção negativas predefinidas, isto afeta negativamente a correspondência de intenção normal.
Deve rever regularmente estas expressões, uma vez que algumas destas expressões podem ter estado originalmente fora do âmbito do agente, mas foram posteriormente adicionadas a intenções.
A intenção negativa predefinida tem impacto em toda a correspondência de intenções. As expressões que adicionar podem melhorar a correspondência para uma intenção, mas prejudicar a correspondência para outra. Por exemplo, pode adicionar "chamadas internacionais" à intenção negativa predefinida para evitar a correspondência com uma intenção de viagem internacional. No entanto, esta ação também impede que a expressão corresponda a uma intenção de chamadas internacionais.
Quando usar a API, pode fazer referência a este objetivo com o seguinte ID do objetivo:
00000000-0000-0000-0000-000000000001
Intenções de cancelamento
Durante uma conversa, o utilizador final pode querer cancelar o tópico de conversa atual. Por exemplo, a página atualmente ativa pode estar a pedir uma data para um novo compromisso, mas o utilizador final decidiu não criar um novo compromisso. O utilizador final pode dizer algo como "cancelar" ou "não quero uma nova reunião". Para resolver esta situação, pode criar uma ou mais intenções de cancelamento para o seu agente. Pode atribuir qualquer nome a estas intenções de cancelamento, mas é habitual incluir "cancelar" no nome. Deve associar estas intenções de cancelamento a trajetos de intenção que estejam no âmbito em pontos relevantes da conversa. Estas rotas de intenção devem fazer a transição para uma página adequada para processar o cancelamento.
As expressões de treino para intenções de cancelamento devem processar tentativas de cancelamento genéricas e específicas de tópicos. Por exemplo:
- Cancelar
- Parar
- Mudei de ideias
- Ignorar
- Voltar atrás
- Voltar
- Não quero uma nova reunião
- Cancele uma nova reunião
- Eliminar nova reunião
Crie uma intenção
Para criar uma intenção:
Consola
- Abra a consola do Dialogflow CX.
- Escolha o seu projeto do Google Cloud.
- Selecione o seu agente.
- Selecione o separador Gerir.
- Clique em Intenções.
- Clique em +Criar.
- Introduza dados de intenção.
- Clique em Guardar.
API
Consulte o método create
para o tipo Intent
.
Selecione um protocolo e uma versão para a referência de intenção:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de intenção | Recurso de intenção |
RPC | Interface de intenção | Interface de intenção |
C++ | IntentsClient | Não disponível |
C# | IntentsClient | Não disponível |
Go | IntentsClient | Não disponível |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | Não disponível | Não disponível |
Python | IntentsClient | IntentsClient |
Ruby | Não disponível | Não disponível |
Elimine uma intenção
Para eliminar uma intenção:
Consola
- Abra a consola do Dialogflow CX.
- Escolha o seu projeto do Google Cloud.
- Selecione o seu agente.
- Selecione o separador Gerir.
- Clique em Intenções.
- Passe o cursor do rato sobre a intenção que quer eliminar.
- Clique no botão delete eliminar.
API
Consulte o método delete
para o tipo Intent
.
Selecione um protocolo e uma versão para a referência de intenção:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de intenção | Recurso de intenção |
RPC | Interface de intenção | Interface de intenção |
C++ | IntentsClient | Não disponível |
C# | IntentsClient | Não disponível |
Go | IntentsClient | Não disponível |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | Não disponível | Não disponível |
Python | IntentsClient | IntentsClient |
Ruby | Não disponível | Não disponível |
Aceda aos dados de intenção
Para aceder aos dados de intenção:
Consola
- Abra a consola do Dialogflow CX.
- Escolha o seu projeto do Google Cloud.
- Selecione o seu agente.
- Selecione o separador Gerir.
- Clique em Intenções.
- Clique na intenção à qual quer aceder.
- Veja ou atualize os dados de intenção.
- Clique em Guardar para guardar as alterações.
API
Consulte os métodos get
e patch/update
para o tipo Intent
.
Selecione um protocolo e uma versão para a referência de intenção:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de intenção | Recurso de intenção |
RPC | Interface de intenção | Interface de intenção |
C++ | IntentsClient | Não disponível |
C# | IntentsClient | Não disponível |
Go | IntentsClient | Não disponível |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | Não disponível | Não disponível |
Python | IntentsClient | IntentsClient |
Ruby | Não disponível | Não disponível |
Sugestões de intenções
O Dialogflow analisa automaticamente as ocorrências de não correspondência durante as conversas e pode sugerir novas intenções ou recomendar expressões de treino adicionais para intenções existentes. Aceitar estas sugestões pode ajudar a evitar ocorrências de não correspondência futuras.
Quando usa sugestões, pode ajustar o tamanho do cluster. Valores mais pequenos do tamanho do cluster sugerem mais intenções com menos expressões de preparação por intenção. Valores maiores do tamanho do cluster sugerem menos intenções com mais expressões de preparação por intenção.
Para aceitar sugestões de intenções:
Consola
- Abra a consola do Dialogflow CX.
- Escolha o seu projeto do Google Cloud.
- Selecione o seu agente.
- Selecione o separador Gerir.
- Clique em Intenções.
- Clique no separador Sugestões.
- Ajuste o Tamanho do cluster conforme pretendido.
- Selecione uma sugestão.
- Selecione as frases de treino que quer.
- Para o objetivo, adicione as expressões de treino a um objetivo existente ou a um novo.
- Clique em Guardar ou Criar novo para guardar as alterações. Quando aceita sugestões de intenções, a intenção permanece na lista de sugestões.
Dividir intenções
Pode dividir uma intenção em duas intenções através da consola. A interface permite-lhe selecionar expressões de treino de um objetivo de origem e movê-las para um novo objetivo:
Consola
- Abra a consola do Dialogflow CX.
- Escolha o seu projeto.
- Selecione o seu agente.
- Selecione o separador Gerir.
- Clique em Intenções.
- Selecione a intenção que quer dividir.
- Clique em Dividir.
- Selecione intenções da intenção de origem.
- Clique em Mover para a direita.
- Indique outros detalhes para a intenção de destino.
- Clique em Dividir.
Compare e una intenções
Pode comparar ou unir duas intenções numa única intenção através da consola:
Consola
- Abra a consola do Dialogflow CX.
- Escolha o seu projeto.
- Selecione o seu agente.
- Selecione o separador Gerir.
- Clique em Intenções.
- Selecione os dois objetivos que quer comparar ou unir.
- Clique em Comparar.
- As expressões de treino são apresentadas lado a lado para comparação.
- Para unir os dois intenções, clique em Unir.
Exporte e importe intenções
Pode exportar e importar intenções para partilhar entre agentes.
Uma das opções de formato de exportação é CSV, que tem as seguintes colunas:
- Nome a apresentar da intenção
- Idioma
- Expressão
Cada entrada contém o nome a apresentar, o idioma e a primeira expressão de treino; ou apenas uma expressão de treino para a intenção declarada anteriormente. O Dialogflow codifica as anotações em expressões de preparação exportadas, para que as anotações sejam restauradas quando são importadas. O formato desta codificação é:
(annotated part)[entity, parameter]
Por exemplo:
Intent Display Name,Language,Phrase
Shirt Selection,en,I want a (green)[@sys.color, color] shirt
,,I would like a (yellow)[@sys.color, color] shirt
Store Hours,en,When are you open?
,,What are your hours?
Quando importa intenções, podem ocorrer conflitos de união se o nome a apresentar de uma intenção no seu agente existente corresponder ao de uma intenção importada. Pode controlar o comportamento de união quando os nomes a apresentar das intenções correspondem selecionando uma das seguintes opções:
- Substituir intenções existentes: uma intenção importada substitui qualquer intenção com o mesmo nome no seu agente existente.
- Mudar o nome e importar como novas intenções: O nome da intenção importada é alterado adicionando "_1" ao nome a apresentar.
- Unir com intenções existentes: As expressões de treino de uma intenção importada são adicionadas à intenção existente. Se existirem as mesmas expressões de treino, estas não são duplicadas.
- Manter intenções originais: A intenção existente permanece inalterada e a intenção em conflito é ignorada. As intenções não conflitantes são importadas.
Para exportar intenções:
Consola
- Abra a consola do Dialogflow CX.
- Escolha o seu projeto do Google Cloud.
- Selecione o seu agente.
- Selecione o separador Gerir.
- Clique em Intenções.
- Selecione cada intenção que quer exportar.
- Clique em Exportar intenções selecionadas.
- Selecione o formato e o destino pretendidos.
- Clique em Enviar.
Para importar intenções:
Consola
- Abra a consola do Dialogflow CX.
- Escolha o seu projeto do Google Cloud.
- Selecione o seu agente.
- Selecione o separador Gerir.
- Clique em Intenções.
- Clique em Importar.
- Selecione a fonte.
- Se existirem conflitos, é apresentada uma janela de diálogo que permite selecionar o comportamento de união.
- Clique em Enviar.
Exporte e importe expressões de treino
Pode exportar e importar frases de treino para um objetivo existente.
O formato de ficheiro para importação é CSV sem cabeçalho de coluna e com uma única coluna. Por exemplo:
"I want a pony"
"I need a pony"
"I must have a pony"
Quando importa expressões de treino, pode escolher um dos seguintes modos de importação:
- Importar como novas expressões de preparação: as expressões nos ficheiros são adicionadas à lista de expressões existentes.
- Substituir expressões de preparação existentes: as expressões de preparação existentes são eliminadas e as expressões de preparação dos ficheiros são adicionadas.
Por predefinição, as expressões de treino importadas são anotadas automaticamente. Pode desativar este comportamento selecionando Ignorar anotação automática.
Para exportar expressões de preparação para uma intenção:
Consola
- Abra a consola do Dialogflow CX.
- Escolha o seu projeto do Google Cloud.
- Selecione o seu agente.
- Selecione o separador Gerir.
- Clique em Intenções.
- Selecione uma intenção.
- Desloque a página para baixo até à secção Frases de preparação.
- Selecione as expressões de treino que quer exportar.
- Clique em Exportar.
Para importar expressões de preparação para uma intenção:
Consola
- Abra a consola do Dialogflow CX.
- Escolha o seu projeto do Google Cloud.
- Selecione o seu agente.
- Selecione o separador Gerir.
- Clique em Intenções.
- Selecione uma intenção.
- Desloque a página para baixo até à secção Frases de preparação.
- Se quiser, selecione Ignorar anotação automática.
- Clique no botão de importação acima da lista de expressões de treino.
- Selecione um ficheiro e um modo de importação.
- Clique em Enviar.
Intenções principais e suplementares
Ao criar agentes, por vezes, é útil pensar nas intenções como intenções principais ou intenções suplementares.
Uma intenção principal identifica o objetivo principal do utilizador final ao interagir com um agente. Uma intenção suplementar identifica as perguntas subsequentes de um utilizador final que estão relacionadas com a intenção principal. Estas perguntas subsequentes podem fornecer contexto adicional para as necessidades do utilizador final ou podem ser perguntas de seguimento que ajudam o utilizador final a esclarecer ou compreender melhor algo.
Uma intenção principal é normalmente uma das primeiras intenções que correspondem numa conversa, e as perguntas adicionais do utilizador final correspondem a intenções suplementares. Por exemplo:
Diálogo | Explicação |
---|---|
Utilizador final: ativar novo telemóvel Agente: claro que posso ajudar. Quais são os últimos 4 dígitos do número de telefone que quer ativar? |
A intenção principal corresponde |
Utilizador final: 1234 Agente: quer ativar o telemóvel agora? |
Um parâmetro está definido |
Utilizador final: todas as minhas mensagens vão ser transferidas para o meu novo telemóvel? Agente: ... |
A intenção suplementar corresponde |