As ações de conversa serão descontinuadas em 13 de junho de 2023. Para mais informações, consulte Desativação do Ações de conversa.

Tipos

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Os tipos permitem configurar o mecanismo de processamento de linguagem natural (PLN, na sigla em inglês) do Google Assistente para extrair dados estruturados da entrada do usuário. É possível usar tipos nas seguintes situações:

  • Em 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 de NLU a extrai como um parâmetro digitado para que você possa processá-la em uma cena.

  • No cenário de preenchimento de slots de uma cena, é possível especificar vários slots que você quer que o usuário forneça antes de fazer a transição ou sair dela.

  • No cenário de condições de uma cena, é possível basear a lógica em um parâmetro que tem um valor específico definido em um tipo.

Tipos personalizados

Com os tipos personalizados, você cria sua própria especificação de tipo para notificar a NLU de atribuir um conjunto de valores a uma única chave. É possível especificar tipos de várias maneiras:

  • Palavras e sinônimos permitem mapear vários valores para uma única chave, que são chamadas 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 difusa: este recurso permite correspondência de entradas com mais de uma palavra, 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 processador de idioma pode aceitar palavras ou frases desconhecidas com base nos dados de treinamento de intent e entrada ao redor, como itens que podem ser adicionados a uma lista de compras.
  • As expressões regulares permitem que o tipo corresponda a valores usando 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 um usuário diz. A anotação de uma intent com esse tipo permite que você consuma todas as entradas como um parâmetro que pode ser canalizado para sua própria NLU.

Tipos de sistema

Os tipos de sistema permitem anotar e extrair dados conhecidos da entrada do usuário usando dados de treinamento e valores fornecidos pelo sistema. Os seguintes tipos de sistema são compatíveis:

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 somente data. Disponível apenas para preenchimento de slot.
actions.type.Time Contém tempo. Disponível apenas para preenchimento de slot.
actions.type.Number O tipo Number corresponde a números ordinais e cardinais.

Uso de DateTime, Date e Time

Esses tipos se comportam de maneira diferente dependendo de onde você usa o tipo e da entrada do usuário correspondente.

Como usar com intents

A anotação de frases de treinamento em intents é compatível apenas com o tipo DateTime. A entrada do usuário não precisa corresponder a um valor DateTime inteiro. Por exemplo, se um usuário fornecer apenas o ano, o parâmetro da sessão será semelhante a este:

"date_time": {
  "year": 2019
}

Como usar com o preenchimento de slot

O preenchimento de slot é compatível com DateTime, Date e Time.

  • Se o tipo de slot for DateTime, o Google Assistente vai pedir ao usuário até que um valor total seja fornecido.
  • Se o tipo de slot for Date, o Google Assistente vai pedir ao usuário até que um valor de data seja fornecido. Quando coletado, o parâmetro que você recebe é um DateTime completo com o horário definido como 00:00.
  • Se o tipo de slot for Time, o Google Assistente vai pedir ao usuário até que um valor de tempo seja fornecido. Quando coletado, o parâmetro recebido é um objeto DateTime completo com a data definida como a data atual.

Por exemplo, suponha que um usuário em Los Angeles tenha dito: "Ok Google, criar um lembrete para 15 de janeiro de 2024 às 20h". Quando DateTime é extraído como parte de um processo de preenchimento de slot, o parâmetro completo pode ficar assim:

"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 parâmetro DateTime de nível superior resulta em um resultado False para a condição. Por exemplo:

  • $session.params.my_dateTime.day > 5 é uma condição válida, porque o valor day é um número e é compatível.
  • $session.params.my_dateTime > "01-01-2010" é uma condição inválida, porque o objeto "DateTime" de nível superior não é um número ou uma string.

Modificações do tipo de ambiente de execução

As substituições de tipo de ambiente de execução permitem criar ou modificar tipos dinamicamente no fulfillment. Esse recurso permite adicionar ou substituir a especificação de um tipo no tempo de execução. Por exemplo, é possível verificar uma fonte de dados de back-end para carregar itens de menu diariamente em um tipo no fulfillment.

Consulte o guia de webhooks para ver mais informações sobre como criar substituições de tipo.