Tipos

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 conjunto DateTime 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 Objeto DateTime 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 valor day é 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.