Os tipos permitem configurar o processamento de linguagem natural (PLN) do Google Assistente para extrair dados estruturados da entrada do usuário. Você podem usar tipos nas seguintes situações:
Nas intents, é possível anotar frases de treinamento com tipos para criar slots. Quando os usuários dizem algo que corresponde a um slot, o mecanismo PLN o extrai como um parâmetro tipado para que você possa processá-lo em uma cena.
No estágio de preenchimento de slot de uma cena, é possível especificar vários espaços que você quer que o usuário forneça antes de poder sair da cena.
Dentro do estágio de conditions de uma cena, você pode basear lógica sobre se um parâmetro tem ou não um valor específico definido em um tipo.
Tipos personalizados
Com os tipos personalizados, você pode criar sua própria especificação de tipo para notificar o PLN para atribuir um conjunto de valores a uma única chave. É possível especificar tipos em vários maneiras:
- 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: esse recurso permite entradas com mais de uma palavra correspondente, mesmo quando as palavras são faladas em uma ordem diferente.
- Aceitar valores desconhecidos: quando não é possível especificar todos os valores possíveis, o o processador de linguagem aceita palavras ou frases desconhecidas com base no dados de treinamento de entrada e intent, como itens que podem ser adicionados a um supermercado lista.
- Expressões regulares permitem que o tipo corresponda valores usando expressões regulares padrões de expressão baseados em Padrão RE2 do Google.
- Texto em formato livre permite que o tipo corresponda do que o usuário diz. Anotações uma intent com esse tipo permite consumir todas as entradas como um parâmetro que pode fazer o pipe para seu próprio PLN.
Tipos de sistema
Os tipos de sistema permitem fazer anotações e extrair dados conhecidos da entrada do usuário usando dados e valores de treinamento fornecidos pelo sistema. Os tipos de sistema a seguir são suportado:
Tipo | Descrição |
---|---|
actions.type.DateTime |
Contém data, hora e fuso horário com base nas configurações do dispositivo do usuário. Disponível para preenchimento de slot e anotação de frase de treinamento. |
actions.type.Date |
Contém apenas data. Disponível apenas para preenchimento de slot. |
actions.type.Time |
Inclui somente tempo. Disponível apenas para preenchimento de slot. |
actions.type.Number |
O tipo Number corresponde a ordinal e cardinal
números grandes. |
Uso de DateTime
, Date
e Time
Esses tipos se comportam de maneira diferente dependendo de onde você usa o tipo e o entrada do usuário que corresponda ao tipo.
Como usar com intents
A anotação de frases de treinamento em intents oferece suporte apenas ao tipo DateTime
. Usuário
a entrada não precisa corresponder a um valor DateTime
inteiro. Por exemplo, se um usuário
fornecer apenas o ano, o parâmetro session poderá ter esta aparência:
"date_time": {
"year": 2019
}
Como usar com preenchimento de slot
O preenchimento de slot oferece suporte a DateTime
, Date
e Time
.
- Se o tipo de slot for
DateTime
, o Google Assistente vai mostrar um aviso até a conclusão é fornecido. - Se o tipo de slot for
Date
, o Google Assistente vai mostrar ao usuário até uma data é fornecido. Quando coletado, o parâmetro recebido é um conjuntoDateTime
com o horário definido como 00:00. - Se o tipo de slot for
Time
, o Google Assistente vai mostrar ao usuário até um horário é fornecido. Quando coletado, o parâmetro recebido é um valor ObjetoDateTime
com a data definida como a atual.
Por exemplo, suponha que um usuário em Los Angeles tenha dito: "Ok Google, crie um lembrete
para 15 de janeiro de 2024, às 20h". Quando DateTime
é extraído como parte de um slot
de preenchimento, o parâmetro completo terá esta aparência:
"date_time": {
"day": 15,
"hours": 20,
"minutes": 0,
"month": 1,
"nanos": 0,
"seconds": 0,
"time_zone": {
"id": "America/Los_Angeles"
},
"year": 2024
}
Como usar com condições
As condições só permitem o uso de números e strings. Portanto, usar o valor-chave
O parâmetro DateTime
resulta em um resultado False para a condição. Por
exemplo:
$session.params.my_dateTime.day > 5
é uma condição válida, porque a O valorday
é um número compatível.$session.params.my_dateTime > "01-01-2010"
é uma condição inválida, porque o 'DateTime' de nível superior não é um número ou uma string.
Substituições do tipo de ambiente de execução
As substituições do tipo de ambiente de execução permitem criar ou modificar tipos dinamicamente em o atendimento do pedido. Esse recurso permite adicionar ou substituir uma especificação de tipo no ambiente de execução. Por exemplo, você pode verificar uma fonte de dados de back-end para carregar o menu diário em um tipo no processamento do pedido.
Consulte o guia de webhooks para ver mais informações sobre como criar substituições de tipo.