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 valorDateTime
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 objetoDateTime
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 valorday
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.