Tipos

Los tipos te permiten configurar la CLN (comprensión del lenguaje natural) de Asistente para extraer datos estructurados de las entradas del usuario. Tú puedes usar tipos en las siguientes situaciones:

  • En los intents, puedes anotar frases de entrenamiento con tipos para crear ranuras. Cuando los usuarios dicen algo que coincide con una ranura, el motor de CLN lo extrae como un parámetro escrito para que puedas procesarlo en una escena.

  • Dentro de la etapa de llenado de ranuras de una escena, puedes especificar en varios espacios que se recomienda que proporcione el usuario hacer una transición o salir de escena.

  • Dentro de la etapa conditions de una escena, puedes basar lógica sobre si un parámetro tiene un valor específico definido en un tipo.

Tipos personalizados

Los tipos personalizados te permiten crear tu propia especificación de tipo para notificar a la CLN asignar un conjunto de valores a una sola clave. Puedes especificar tipos en una variedad de maneras:

  • Las palabras y los sinónimos permiten asignar múltiples valores a una sola clave, que se denominan entrada. Tu tipo puede contener una o varias entradas. Si Si eliges esta opción, también puedes habilitar la siguiente configuración de CLN:
    • Habilitar coincidencia parcial: Esta función permite entradas con más de un elemento. palabra con la que debe coincidir, aun cuando las palabras se pronuncien en un orden diferente.
    • Aceptar valores desconocidos: Si no puedes especificar todos los valores posibles, el El procesador de idiomas puede aceptar palabras o frases desconocidas según el entorno datos de entrenamiento de entradas e intents, como artículos que se podrían agregar a una tienda de comestibles lista.
  • Las expresiones regulares permiten que el tipo coincida con los valores mediante las expresiones regulares patrones de expresión basados en Estándar RE2 de Google.
  • El texto en formato libre permite que el tipo coincida. todo lo que diga un usuario. Anotación un intent de este tipo te permite consumir todas las entradas como un parámetro que puede canalizarse a tu propia CLN.

Tipos de sistemas

Los tipos de sistema te permiten anotar y extraer datos conocidos de las entradas del usuario con valores y datos de entrenamiento proporcionados por el sistema. Los siguientes tipos de sistemas son compatibles:

Tipo Descripción
actions.type.DateTime Contiene la fecha, la hora y la zona horaria en función de la configuración del dispositivo del usuario. Está disponible para el relleno de ranuras y la anotación de frases de entrenamiento.
actions.type.Date Contiene solo la fecha. Disponible solo para llenar ranuras.
actions.type.Time Contiene solo la hora. Disponible solo para llenar ranuras.
actions.type.Number El tipo Number coincide con el ordinal y el cardinal y números de serie.

Uso de DateTime, Date y Time

Estos tipos se comportan de manera diferente según dónde los uses y la la entrada del usuario que coincida con el tipo.

Uso con intents

La anotación de frases de entrenamiento en intents solo admite el tipo DateTime. Usuario no es necesario que la entrada coincida con un valor DateTime completo. Por ejemplo, si un usuario proporciona solo el año, el parámetro de sesión podría verse de la siguiente manera:

"date_time": {
  "year": 2019
}

Usa el relleno de ranuras

El relleno de ranuras admite DateTime, Date y Time.

  • Si el tipo de ranura es DateTime, el Asistente le pide al usuario que se active se proporciona un valor predeterminado.
  • Si el tipo de horario es Date, Asistente le solicita al usuario una fecha hasta esa fecha. se proporciona un valor predeterminado. Cuando se recopila, el parámetro que recibes es un valor DateTime con la hora establecida en 00:00
  • Si el tipo de horario es Time, Asistente le solicita al usuario una hora se proporciona un valor predeterminado. Cuando se recopila, el parámetro que recibes es un valor Un objeto DateTime con la fecha establecida en la fecha actual.

Por ejemplo, supongamos que un usuario de Los Ángeles dice: "Hey Google, crea un recordatorio para el 15 de enero de 2024 a las 8 p.m.". Cuando se extrae DateTime como parte de una ranura de relleno, el parámetro completo podría verse de la siguiente manera:

"date_time": {
  "day": 15,
  "hours": 20,
  "minutes": 0,
  "month": 1,
  "nanos": 0,
  "seconds": 0,
  "time_zone": {
    "id": "America/Los_Angeles"
  },
  "year": 2024
}

Usa con condiciones

Las condiciones solo permiten el uso de números y cadenas, por lo que usar el nivel superior El parámetro DateTime da como resultado un resultado False para la condición. Por ejemplo:

  • $session.params.my_dateTime.day > 5 es una condición válida, porque la El valor day es un número y se admite.
  • $session.params.my_dateTime > "01-01-2010" es una condición no válida porque el nivel superior "DateTime" no es un número o una cadena.

Anulaciones del tipo de entorno de ejecución

Las anulaciones de tipos de entorno de ejecución te permiten crear o modificar tipos de forma dinámica la entrega de datos. Esta función te permite agregar o reemplazar la especificación de un tipo en tiempo de ejecución. Por ejemplo, puedes verificar una fuente de datos de backend para cargar el menú diario en un tipo de tu entrega.

Consulta la guía de webhooks para obtener más información. sobre cómo crear anulaciones de tipo.