Um modelo de conversa define o que os usuários podem dizer para suas ações e como As ações respondem aos usuários. Os principais elementos básicos do seu modelo de conversa são intents, tipos, cenas e solicitações. Depois que uma das ações é invocada, o Google Assistente passa o usuário para essa ação, que inicia uma conversa com o com base no modelo de conversa, que consiste em:
Solicitações de usuários válidas: para definir o que os usuários podem dizer para suas ações, criar uma coleção de intents que aumentam o PLN do Google Assistente, para que ele possa entender as solicitações específicas das suas ações. Cada intent define frases de treinamento que descrevem o que os usuários podem dizer para corresponder a essa intent. A O PLN do Google Assistente expande essas frases de treinamento para incluir frases semelhantes. A agregação dessas frases resulta no modelo de linguagem da intent.
Lógica e respostas de ação: as cenas processam intents, executam a lógica necessária e geram comandos para retornar ao usuário.
Definir solicitações de usuário válidas
Use uma combinação de intents para definir o que os usuários podem dizer às ações e tipos. As intents e tipos de usuários permitem aumentar o PLN do Google Assistente com suas próprios modelos de linguagem. As intents e os tipos do sistema permitem aproveitar de linguagem grandes e detecção de eventos, como usuários que querem sair de uma ação ou O Google Assistente não está detectando nenhuma entrada.
Criar intents de usuário
As intents de usuários permitem que você defina suas próprias frases de treinamento para definir pode dizer às suas Ações. O PLN do Google Assistente usa essas frases para treinar a si mesmo para entender o que os usuários dizem. Quando os usuários dizem algo que corresponde modelo de idioma da intent do usuário, o Google Assistente faz a correspondência com a intent e notifica sua ação, para que possa executar a lógica e responder aos usuários.
![](https://developers.google.cn/static/assistant/console/images/builder/new-intent.png?authuser=9&hl=pt-br)
Para criar uma intent de usuário:
- Na guia Desenvolver, clique em Intents do usuário > ⊕ (Nova intent), especifique um nome e pressione Enter para criar a intent.
- Clique na intent recém-criada no menu à esquerda. O editor de intents. aparece.
- Adicione frases de treinamento à intent. Adicione o máximo possível de frases de treinamento possível para treinar o PLN do Google Assistente.
- Opcional: anote as frases de treinamento para instruir o PLN do Google Assistente a analisar
e extrair os parâmetros digitados da entrada do usuário que corresponda a um tipo especificado:
- Digite um nome para o parâmetro no campo Adicionar novo parâmetro.
- Selecione um tipo de sistema no menu suspenso ou crie um tipo personalizado.
- Especifique se o parâmetro é uma lista. Isso permite que o parâmetro colete diversos valores do mesmo tipo.
- Na seção Adicionar frases de treinamento, destaque o texto que você quer ao qual aplicar o tipo. Isso instrui o PLN do Google Assistente a tratar o como parâmetro. Se os usuários disserem algo que corresponda ao tipo, o PLN extrai esse valor como um parâmetro.
Criar intents do sistema
Intents do sistema permitem que você aproveite intents com linguagem predefinida para eventos comuns, como o desejo de sair da sua ação ou quando o usuário tempo limite atingido. Para criar intents do sistema:
- Na guia Desenvolver, clique em Intents do sistema. Um conjunto de intents do sistema é disponíveis, como NO_MATCH, NO_INPUT e CANCEL.
- Cada intent do sistema contém os próprios gerenciadores, que podem ser personalizados para para cada tipo de intent do sistema. Por exemplo, as intents do sistema permitem acionar eventos de webhook e enviar solicitações estáticas quando o evento ocorrer.
Criar tipos personalizados
Com os tipos personalizados, você pode criar sua própria especificação de tipo e treinar o PLN para: entender um conjunto de valores que devem ser mapeados para uma única chave.
![](https://developers.google.cn/static/assistant/console/images/builder/type-options.png?authuser=9&hl=pt-br)
Para criar um tipo personalizado:
- Na guia Desenvolver, clique em Tipos > ⊕ (Novo tipo).
Selecione como fornecer valores de tipo na seção Quais tipos de valores com este tipo de suporte?:
- Palavras e sinônimos permitem mapear vários valores para uma única chave,
que são chamados de entrada. Seu tipo pode conter uma ou mais entradas. Se você
escolher essa opção, também poderá ativar as seguintes configurações de PLN:
- Ativar correspondência parcial: permite entradas com mais de uma palavra. seja correspondente, mesmo quando as palavras forem faladas em uma ordem diferente.
- Aceitar valores desconhecidos: quando não é possível especificar todos os valores possíveis, ele vai aceitar palavras ou frases desconhecidas com base na entrada e dados de treinamento de intent, como itens que podem ser adicionados a um supermercado lista.
- Expressões regulares permitem que o tipo corresponda a padrões de expressão regular. com base no padrão RE2 do Google.
- Texto em formato livre: permite que o tipo corresponda a tudo o que o usuário diz.
- Palavras e sinônimos permitem mapear vários valores para uma única chave,
que são chamados de entrada. Seu tipo pode conter uma ou mais entradas. Se você
escolher essa opção, também poderá ativar as seguintes configurações de PLN:
Especifique valores de tipo na seção Adicionar entradas. Se você escolheu Formato livre text, seu tipo corresponde a qualquer texto e você não precisa fornecer nenhuma entrada.
Criar uma lógica de ação e respostas
O PLN do Google Assistente faz a correspondência entre solicitações de usuários e intents para que sua ação possa processá-los em cenas. As cenas são poderosos executores lógicos que permitem processar eventos durante uma conversa.
![](https://developers.google.cn/static/assistant/conversational/images/scene.png?authuser=9&hl=pt-br)
Criar uma cena
As seções a seguir descrevem como criar cenas e definir funcionalidade para cada estágio do ciclo de vida de cada cena.
Para criar uma cena:
- Na guia Develop, clique em Scenes > ⊕ (Nova cena), especifique um nome e pressione Enter para criar uma cena.
- Clique na cena recém-criada no menu à esquerda. O Editor de cena aparece.
Definir a configuração única
Quando uma cena fica ativa pela primeira vez, você pode realizar tarefas únicas na Na fase de entrada. A entrada é executada apenas uma vez e é a única que não é executado dentro do loop de execução de uma cena.
Dentro de uma cena, clique no cenário Ao entrar para especificar a funcionalidade. É possível especificar as seguintes funcionalidades nesta etapa:
- Chamar o webhook: aciona um webhook. Consulte os webhooks documentação para mais informações sobre webhooks.
- Enviar solicitações: especifique prompts estáticos para o usuário saber como continue a conversa. Consulte a documentação de comandos para mais informações sobre como especificar comandos.
Figura 4. exemplo de uma cena entrando no palco
Verificar condições
As condições permitem que você verifique o preenchimento de slots, o armazenamento de sessões, o armazenamento do usuário e parâmetros de armazenamento do Google Home para controlar o fluxo de execução da cena.
Dentro de uma cena, clique no ícone + para o cenário Condition. A O editor de condições aparece à direita. É possível especificar as seguintes nesta etapa:
- Condição: especifica a instrução condicional real para basear a lógica. Consulte a sintaxe na documentação de condições informações imprecisas ou inadequadas.
- Chamar o webhook: aciona um webhook. Consulte os webhooks documentação para mais informações sobre webhooks.
- Enviar solicitações: especifica solicitações estáticas para enviar ao usuário, para que ele saber como continuar a conversa. Conferir as solicitações documentação para saber mais sobre como especificar comandos.
- Transition: especifica o cenário para a qual a transição será feita quando a condição é verdadeira.
![](https://developers.google.cn/static/assistant/conversational/images/scene-condition.png?authuser=9&hl=pt-br)
Definir o preenchimento de slot
Os slots permitem extrair parâmetros digitados da entrada do usuário.
No editor de cena, clique no ícone + para o estágio Preenchimento de slot. A para o espaço aparece à direita. É possível especificar as seguintes propriedades de um slot:
- Nome do slot: especifica o nome do slot. Se você quiser aproveitar de mapeamento de valor de slot, use o mesmo nome do parâmetro de intent correspondente.
- Tipo de slot: especifica o tipo do slot com um sistema personalizado.
- Este slot é obrigatório:marca o slot como obrigatório. Se ativado, o slot o preenchimento não será concluído até que este espaço seja preenchido.
- Atribuir valor padrão a este slot:especifica um valor padrão para o slot. que é lido no parâmetro de sessão especificado.
- Personalizar o writeback do valor do slot:especifica um parâmetro de sessão a ser mantido. o valor do slot após a conclusão do preenchimento.
- Validação de slot: aciona um webhook quando um slot é preenchido. Esta configuração se aplica a todos os slots.
- Chamar o webhook (ativado quando o slot for necessário): aciona um webhook. Consulte a documentação de webhooks para mais informações sobre os webhooks.
- Enviar solicitações (ativado quando o slot é obrigatório): especifica solicitações estáticas para enviar ao usuário, para que ele saiba como continuar a conversa. Consulte a documentação de prompts para mais informações sobre como especificar comandos
Para determinados tipos de slots (como aqueles relacionados a transações ou engajamento do usuário), outra seção aparece para você configurar o slot. Slot podem mudar a experiência de conversa dos usuários com base que você fornecer.
Para configurar um slot, forneça as propriedades em um objeto JSON na
fulfillment (referido como um parâmetro de sessão) ou no editor JSON in-line.
É possível encontrar as propriedades disponíveis para cada tipo de espaço no
Referência JSON do Actions Builder. Por exemplo, o actions.type.DeliveryAddressValue
do anúncio corresponde ao conteúdo de referência do
DeliveryAddressValue
espaço.
![](https://developers.google.cn/static/assistant/conversational/images/scene-slot.png?authuser=9&hl=pt-br)
Mapeamento de valor de slot
Em muitos casos, uma correspondência de intent anterior pode incluir parâmetros que parcialmente ou preencher completamente os valores de slot de uma cena correspondente. Nesses casos, todos os slots preenchido pelos parâmetros de intent serão mapeados para o preenchimento do slot da cena se o nome do slot corresponde ao nome do parâmetro da intent.
Por exemplo, se um usuário corresponder a uma intenção de pedir uma bebida dizendo "Quero para pedir um café grande de baunilha", os espaços disponíveis para tamanho, sabor e bebida serão considerados preenchidos na cena correspondente se essa cena definir o mesmo slots.
Processar entrada
Durante essa etapa, você pode fazer com que o PLN do Google Assistente associe a entrada do usuário às intents. Você pode definir o escopo da correspondência de intent para uma cena específica adicionando as intents desejadas à cena. Isso permite controlar o fluxo da conversa dizendo ao Google Assistente para corresponder a intents específicas quando cenas específicas estão ativas.
Em uma cena, clique no ícone + para a opção Processamento da intent do usuário ou Fase de processamento da intent do sistema. O editor do gerenciador de intents é exibido à direita. É possível especificar as seguintes funcionalidades da intent gerenciador:
- Intent: especifica a intent que você quer combinar nessa cena.
- Chamar o webhook: aciona um webhook. Consulte os webhooks para mais informações sobre como processar uma solicitação de webhook.
- Enviar solicitações: especifique comandos estáticos para o usuário saber como responder. Consulte a documentação de comandos para mais informações sobre e especificar comandos.
- Transição (se aplicável): especifica o cenário de transição. a intent especificada corresponde.
![](https://developers.google.cn/static/assistant/conversational/images/scene-customintent.png?authuser=9&hl=pt-br)
![](https://developers.google.cn/static/assistant/conversational/images/scene-systemintent.png?authuser=9&hl=pt-br)