Uma intent categoriza a intenção do usuário final em cada conversa.
Uma intent contém os seguintes dados:
| Termo | Definição |
|---|---|
| Nome de exibição | Nome exibido no console para a intent. |
| Rótulos | Rótulos que ajudam a categorizar intents. Por exemplo: head intent. |
| Frases de treinamento | As frases de treinamento são exemplos de frases que o usuário final pode digitar ou dizer, conhecidas como entradas do usuário final. Quando a entrada do usuário final se assemelha a uma dessas frases, o Dialogflow CX faz a correspondência com a intent. Não é necessário definir todos os exemplos possíveis, porque o machine learning integrado do Dialogflow CX amplia sua lista com outras frases semelhantes. |
| Parâmetros | Você define as frases de treinamento para usar parâmetros que extraem valores de partes específicas da entrada do usuário final. |
| Padrões de DTMF | Consulte DTMF para integrações de telefonia. |
Correspondência com intents
Quando um usuário final insere uma entrada (texto, fala ou teclas de telefone), o Dialogflow CX compara a entrada com as frases de treinamento de intent para encontrar a melhor correspondência. Esse processo é chamado de correspondência de intent. A correspondência de intents só pode ocorrer para intents associadas a uma rota de intent (um gerenciador de estado com um requisito de intent) no escopo.
A entrada de pressionamento de tecla é correspondida de acordo com os padrões DTMF. No entanto, ao pesquisar uma intent correspondente ao texto, o Dialogflow CX pontua as possíveis correspondências com uma confiança de detecção de intent, também conhecida como pontuação de confiança. Esses valores variam de 0,0 (completamente incerto) a 1,0 (completamente certo).
Depois que as intents são pontuadas, há dois resultados possíveis:
- Se a intent de maior pontuação tiver uma pontuação de confiança maior ou igual à configuração do limite de classificação, ela será retornada como uma correspondência.
- Se nenhuma intent atingir o limite, um evento sem correspondência será invocado.
Frases de treinamento
Frases de treinamento são frases de exemplo que os usuários finais podem digitar ou dizer, conhecidas como entrada do usuário final. Para cada intent, você cria muitas frases de treinamento. Quando uma entrada de usuário final for parecida com uma dessas frases, o Dialogflow CX fará a correspondência com a intent.
Por exemplo, a frase de treinamento "Quero pizza" treina o agente para reconhecer entradas do usuário final semelhantes a essa frase, como "Pegar uma pizza" ou "Pedir pizza".
Você não precisa definir todos os exemplos possíveis, porque o machine learning integrado do Dialogflow CX amplia sua lista com outras frases semelhantes. Crie pelo menos 10 a 20 frases de treinamento (dependendo da complexidade da intent) para que o agente possa reconhecer uma variedade de entradas do usuário final. Por exemplo, se você quiser que sua intent reconheça a entrada de um usuário final sobre a cor favorita dele, defina as seguintes frases de treinamento:
- “Gosto de vermelho”
- “Minha cor favorita é amarelo”
- “preto”
- "Azul é a minha favorita"
- …
Gerar e traduzir automaticamente frases de treinamento
Você tem a opção de usar a geração de IA para gerar frases de treinamento automaticamente, em vez de inseri-las manualmente. Para usar esse recurso:
- Acesse a guia Gerenciar e clique em Intents. Escolha uma intent atual ou clique em + Criar para criar uma nova.
- Insira uma finalidade para a intent no campo Descrição, por exemplo, "Essa intent é acionada quando um usuário pergunta sobre o status do pedido". O gerador de IA usa esse campo para gerar frases de treinamento mais precisas.
- Clique no botão de opção __ frases recém-geradas com IA. O valor padrão é 3. Gerar mais de 15 frases de treinamento por vez pode causar erros.
- Clique em + Adicionar. A IA vai gerar o número especificado de frases de treinamento e preencher a tabela com elas. Revise todas as frases de treinamento geradas para garantir a precisão.
Para saber como usar esse recurso para gerar e traduzir automaticamente dados de idiomas não padrão, consulte a documentação de agentes multilíngues.
Anotar frases de treinamento
Você controla como os dados do usuário final são extraídos anotando partes das frases de treinamento e configurando os parâmetros associados.
Por exemplo, considere uma frase de treinamento como "Qual é a previsão do tempo para amanhã em
Tóquio?" Anote "amanhã" com um parâmetro date e "Tóquio" com um parâmetro location. Quando você anota partes de uma frase de treinamento,
o Dialogflow CX reconhece que essas partes são apenas exemplos de valores reais que
serão fornecidos pelos usuários finais no tempo de execução.
Para uma entrada do usuário final como "Qual é a previsão do tempo para sexta-feira em Sydney?",
O Dialogflow CX extrairia o parâmetro date de "sexta-feira" e o parâmetro location de "Sydney".
É necessário anotar todas as partes da frase de treinamento que serão extraídas como parâmetros. Caso contrário, o Dialogflow não vai extrair os valores.
Ao criar um agente com o console, a maioria das anotações é criada automaticamente quando você adiciona frases de treinamento que contêm partes que correspondem a um tipo de entidade atual. Essas partes são destacadas no console, e você pode editar as anotações e os parâmetros conforme necessário.
Para anotar manualmente uma frase de treinamento com o Console, faça o seguinte:
- Selecione a parte da frase de treinamento que você quer anotar.
- Selecione o tipo de entidade desejado na lista.
- Um parâmetro é criado para você na tabela de parâmetros a seguir.
Ao criar um agente com a API, é preciso anotar as partes da frase de treinamento
manualmente. Veja o tipo TrainingPhrase usado pelo tipo Intent.
Selecione um protocolo e uma versão para a referência de intent:
| Protocolo | V3 | V3beta1 |
|---|---|---|
| REST | Recurso de intent | Recurso de intent |
| RPC | Interface de intent | Interface de intent |
| C++ | IntentsClient | Indisponível |
| C# | IntentsClient | Indisponível |
| Go | IntentsClient | Indisponível |
| Java | IntentsClient | IntentsClient |
| Node.js | IntentsClient | IntentsClient |
| PHP | Indisponível | Indisponível |
| Python | IntentsClient | IntentsClient |
| Ruby | Indisponível | Indisponível |
Entidades implícitas criadas por frases de treinamento
A maioria das entidades personalizadas é definida explicitamente pela criação de tipos de entidade e pela adição de entradas de entidade. No entanto, as entidades personalizadas também podem conter valores implícitos. Isso acontece quando você anota o texto de uma frase de treinamento, em que o texto anotado não é um valor definido pelo tipo de entidade selecionado. O texto anotado se torna 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 tornará um sinônimo para a entrada da entidade.
Intent de boas-vindas padrão
Quando você cria um agente, uma intent de boas-vindas padrão é criada para você. Para alguns idiomas, a intent tem frases de treinamento como "Oi" ou "Olá", que devem corresponder à entrada inicial do usuário final. Você pode editar essa intent conforme necessário.
Ao usar a API, é possível referir-se a esse intent com o seguinte código de intent:
00000000-0000-0000-0000-000000000000
Se o agente iniciar a conversa, será possível acionar essa intent usando a
API. Use o valor
projects/<PROJECT_ID>/locations/<LOCATION_ID>/agents/<AGENT_ID>/intents/00000000-0000-0000-0000-000000000000
no campo QueryInput.intent.intent ao chamar o método detectIntent ou
streamingDetectIntent.
Intent negativa padrão
Quando você cria um agente, uma intent de negativa padrão é criada para você. É possível adicionar frases de treinamento a essa intent que funcionam como exemplos negativos. Pode haver casos em que a entrada do usuário final tenha uma leve semelhança com as frases de treinamento em intents normais, mas você não quer que essas entradas correspondam a nenhuma intent normal.
Por exemplo, um agente de reserva de sala pode ter uma frase de treinamento como "Eu gostaria de reservar um quarto". Se o usuário final quiser comprar um livro sobre o assunto, ele poderá dizer "Eu gostaria de comprar um livro sobre salas". Para garantir que a entrada do usuário final não corresponda à sua intent, adicione essa frase como um exemplo negativo.
Além disso, adicione frases possíveis que estão fora do escopo do agente para que elas não correspondam a nenhuma intent. No entanto, evite adicionar uma quantidade muito grande dessas frases. Por exemplo, se você definir 10.000 frases de intent negativas padrão, isso vai afetar negativamente a correspondência de intent normal.
É recomendável revisar essas frases regularmente, já que algumas delas podem ter sido originalmente fora do escopo do agente, mas foram adicionadas posteriormente às intents.
A intent negativa padrão tem impacto em todas as correspondências de intent. As frases adicionadas podem beneficiar a correspondência de uma intent, mas prejudicar a correspondência de outra. Por exemplo, é possível adicionar "chamada internacional" à intent negativa padrão para evitar a correspondência com uma intent de viagem internacional. No entanto, isso também impedirá que essa frase corresponda a uma intent de chamada internacional.
Ao usar a API, é possível referir-se a esse intent com o seguinte código de intent:
00000000-0000-0000-0000-000000000001
Cancelar intents
Durante uma conversa, o usuário final pode querer cancelar o tópico atual. Por exemplo, a página ativa pode estar solicitando uma data para um novo compromisso, mas o usuário final decidiu não criar um novo compromisso. O usuário final pode dizer algo como "cancelar" ou "não quero um novo horário". Para lidar com essa situação, crie uma ou mais intents de cancelamento para o agente. Você pode dar o nome que quiser a essas intents de cancelamento, mas é comum incluir "cancel" no nome. Associe essas intents de cancelamento a rotas de intent que estão no escopo em pontos relevantes da conversa. Essas rotas de intent precisam fazer a transição para uma página apropriada para processar o cancelamento.
As frases de treinamento para intents de cancelamento precisam lidar com tentativas de cancelamento genéricas e específicas do tópico. Exemplo:
- Cancelar
- Parar
- Mudei de ideia
- Cancelar
- Voltar
- Voltar
- Não quero um novo horário
- Cancelar novo compromisso
- Excluir novo compromisso
Como criar uma intent
Para criar um intent:
Console
- Abra o console do Dialogflow CX.
- Escolha seu projeto.
- Selecione seu agente.
- Selecione a guia Gerenciar.
- Clique em Intents.
- Clique em Criar.
- Digite os dados da intent.
- Clique em Save.
API
Veja o método create para o tipo Intent.
Selecione um protocolo e uma versão para a referência de intent:
| Protocolo | V3 | V3beta1 |
|---|---|---|
| REST | Recurso de intent | Recurso de intent |
| RPC | Interface de intent | Interface de intent |
| C++ | IntentsClient | Indisponível |
| C# | IntentsClient | Indisponível |
| Go | IntentsClient | Indisponível |
| Java | IntentsClient | IntentsClient |
| Node.js | IntentsClient | IntentsClient |
| PHP | Indisponível | Indisponível |
| Python | IntentsClient | IntentsClient |
| Ruby | Indisponível | Indisponível |
Excluir uma intent
Para excluir um intent:
Console
- Abra o console do Dialogflow CX.
- Escolha seu projeto.
- Selecione seu agente.
- Selecione a guia Gerenciar.
- Clique em Intents.
- Mantenha o cursor sobre a intent que você quer excluir.
- Clique no botão de exclusão delete.
API
Veja o método delete para o tipo Intent.
Selecione um protocolo e uma versão para a referência de intent:
| Protocolo | V3 | V3beta1 |
|---|---|---|
| REST | Recurso de intent | Recurso de intent |
| RPC | Interface de intent | Interface de intent |
| C++ | IntentsClient | Indisponível |
| C# | IntentsClient | Indisponível |
| Go | IntentsClient | Indisponível |
| Java | IntentsClient | IntentsClient |
| Node.js | IntentsClient | IntentsClient |
| PHP | Indisponível | Indisponível |
| Python | IntentsClient | IntentsClient |
| Ruby | Indisponível | Indisponível |
Acessar dados da intent
Para acessar os dados do intent:
Console
- Abra o console do Dialogflow CX.
- Escolha seu projeto.
- Selecione seu agente.
- Selecione a guia Gerenciar.
- Clique em Intents.
- Clique na intent que você quer acessar.
- Visualizar ou atualizar dados de intent.
- Clique em Salvar para salvar as alterações.
API
Veja os métodos get e patch/update para o tipo Intent.
Selecione um protocolo e uma versão para a referência de intent:
| Protocolo | V3 | V3beta1 |
|---|---|---|
| REST | Recurso de intent | Recurso de intent |
| RPC | Interface de intent | Interface de intent |
| C++ | IntentsClient | Indisponível |
| C# | IntentsClient | Indisponível |
| Go | IntentsClient | Indisponível |
| Java | IntentsClient | IntentsClient |
| Node.js | IntentsClient | IntentsClient |
| PHP | Indisponível | Indisponível |
| Python | IntentsClient | IntentsClient |
| Ruby | Indisponível | Indisponível |
Sugestões de intent
O Dialogflow analisa automaticamente as ocorrências sem correspondência durante as conversas e pode sugerir novas intents ou recomendar outras frases de treinamento para as intents atuais. Aceitar essas sugestões pode ajudar a evitar ocorrências futuras de não correspondência.
Ao usar sugestões, é possível ajustar o Tamanho do cluster. Valores menores de tamanho de cluster sugerem mais intents com menos frases de treinamento por intent. Valores maiores de tamanho de cluster sugerem menos intents com mais frases de treinamento por intent.
Para aceitar sugestões de intent:
Console
- Abra o console do Dialogflow CX.
- Escolha seu projeto.
- Selecione seu agente.
- Selecione a guia Gerenciar.
- Clique em Intents.
- Clique na guia Sugestões.
- Ajuste o Tamanho do cluster conforme necessário.
- Selecione uma sugestão.
- Selecione as frases de treinamento que você quer.
- Para a intent de destino, adicione as frases de treinamento a uma intent nova ou existente.
- Clique em Salvar ou Criar novo para salvar as mudanças. Quando você aceita sugestões de intent, elas permanecem na lista de sugestões.
Dividir intents
É possível dividir um intent em dois usando o console. A interface permite selecionar frases de treinamento de uma intent de origem e movê-las para uma nova intent:
Console
- Abra o console do Dialogflow CX.
- Escolha seu projeto.
- Selecione seu agente.
- Selecione a guia Gerenciar.
- Clique em Intents.
- Selecione a intent que você quer dividir.
- Clique em Dividir.
- Selecione intents da intent de origem.
- Clique em Mover para a direita.
- Forneça outros detalhes para a intent de destino.
- Clique em Dividir.
Comparar e mesclar intents
É possível comparar ou mesclar duas intents em uma única usando o console:
Console
- Abra o console do Dialogflow CX.
- Escolha seu projeto.
- Selecione seu agente.
- Selecione a guia Gerenciar.
- Clique em Intents.
- Selecione as duas intents que você quer comparar ou mesclar.
- Clique em Comparar.
- As frases de treinamento são mostradas lado a lado para comparação.
- Para mesclar as duas intents, clique em Mesclar.
Exportar e importar intents
É possível exportar e importar intents para compartilhar entre agentes.
Uma das opções de formato de exportação é CSV, que tem as seguintes colunas:
- Nome de exibição da intent
- Idioma
- Frase
Cada entrada contém o nome de exibição, o idioma e a primeira frase de treinamento ou apenas uma frase de treinamento para a intent declarada anteriormente. O Dialogflow codifica as anotações em frases de treinamento exportadas para que elas sejam restauradas durante a importação. O formato dessa codificação é:
(annotated part)[entity, parameter]
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?
Ao importar intents, pode haver conflitos de mesclagem quando o nome de exibição de uma intent no agente atual corresponde ao de uma intent importada. É possível controlar o comportamento de mesclagem quando os nomes de exibição de intent correspondem selecionando uma das seguintes opções:
- Substituir intents atuais:uma intent importada substitui qualquer intent com o mesmo nome no agente atual. Substituir intents atuais durante a importação também substituirá as entidades atuais.
- Renomear e importar como novas intents:a intent importada é renomeada adicionando "_1" ao nome de exibição.
- Mesclar com intents atuais:as frases de treinamento de uma intent importada são adicionadas à intent atual. Se as mesmas frases de treinamento existirem, elas não serão duplicadas.
- Manter intents originais:a intent atual permanece inalterada, e a intent conflitante é ignorada. As intents não conflitantes são importadas.
Para exportar intents:
Console
- Abra o console do Dialogflow CX.
- Escolha seu projeto.
- Selecione seu agente.
- Selecione a guia Gerenciar.
- Clique em Intents.
- Selecione cada intent que você quer exportar.
- Clique em Exportar intents selecionadas.
- Selecione o formato e o destino necessários.
- Clique em Enviar.
Para importar intents:
Console
- Abra o console do Dialogflow CX.
- Escolha seu projeto.
- Selecione seu agente.
- Selecione a guia Gerenciar.
- Clique em Intents.
- Clique em Importar.
- Selecione a fonte.
- Se houver conflitos, uma janela de diálogo será mostrada para que você selecione o comportamento de mesclagem.
- Clique em Enviar.
Exportar e importar frases de treinamento
É possível exportar e importar frases de treinamento para uma intent atual.
O formato do arquivo para importação é CSV sem cabeçalho de coluna, em uma única coluna. Exemplo:
"I want a pony"
"I need a pony"
"I must have a pony"
Ao importar frases de treinamento, é possível escolher um dos seguintes modos de importação:
- Importar como novas frases de treinamento:as frases nos arquivos são adicionadas à lista de frases atuais.
- Substituir as frases de treinamento atuais:as frases de treinamento atuais são excluídas, e as frases de treinamento dos arquivos são adicionadas.
Por padrão, as frases de treinamento importadas são anotadas automaticamente. Para desativar esse comportamento, selecione Pular anotação automática.
Para exportar frases de treinamento de uma intent:
Console
- Abra o console do Dialogflow CX.
- Escolha seu projeto.
- Selecione seu agente.
- Selecione a guia Gerenciar.
- Clique em Intents.
- Selecione uma intent.
- Acesse a seção Frases de treinamento.
- Selecione as frases de treinamento que você quer exportar.
- Clique em Exportar.
Para importar frases de treinamento para uma intent:
Console
- Abra o console do Dialogflow CX.
- Escolha seu projeto.
- Selecione seu agente.
- Selecione a guia Gerenciar.
- Clique em Intents.
- Selecione uma intent.
- Acesse a seção Frases de treinamento.
- Se necessário, selecione Pular anotação automática.
- Clique no botão de importação acima da lista de frases de treinamento.
- Selecione um arquivo e um modo de importação.
- Clique em Enviar.
Intents principais e complementares
Ao projetar agentes, às vezes é útil pensar em intents como intents principais ou intents complementares.
Uma intent principal identifica o objetivo principal do usuário final ao interagir com um agente. Uma intent complementar identifica as perguntas subsequentes do usuário final que estão relacionadas à intent principal. Essas perguntas subsequentes podem fornecer contexto adicional para as necessidades do usuário final ou podem ser perguntas de acompanhamento que ajudam o usuário final a esclarecer ou entender melhor algo.
Uma intent principal geralmente é uma das primeiras intents correspondidas em uma conversa, e outras perguntas do usuário final correspondem a intents complementares. Exemplo:
| Diálogo | Explicação |
|---|---|
| Usuário final:Ativar novo smartphone Agente:Claro, posso ajudar você com isso. Quais são os últimos 4 dígitos do número de telefone que você quer ativar? |
A intent principal é correspondida. |
| Usuário final:1234 Agente:Você quer ativar o celular agora? |
Um parâmetro é definido. |
| Usuário final:Todas as minhas mensagens vão ser transferidas para o novo celular? Agente: ... |
A intent suplementar é correspondida. |