Un modelo de conversación define lo que los usuarios pueden decir a tus Acciones y cómo tu Las acciones responden a los usuarios. Los componentes básicos de tu modelo de conversación son los intents, los tipos, las escenas y mensajes. Después de invocar una de tus Acciones, Asistente de Google entrega al usuario esa acción, y esta inicia una conversación con el usuario, en función de tu modelo de conversación, que consiste en lo siguiente:
Solicitudes de usuario válidas: Para definir lo que los usuarios pueden decir a tus Acciones, debes crear una colección de intents que amplíe la CLN del Asistente para que pueda comprender las solicitudes específicas de tus Acciones. Cada intent define frases de entrenamiento que describen lo que los usuarios pueden decir para coincidir con ese intent. El La CLN de Asistente expande estas frases de entrenamiento para incluir frases similares. la agregación de esas frases da como resultado el modelo de lenguaje del intent.
Lógica de acción y respuestas: Las escenas procesan intents, llevan a cabo la lógica requerida y generan mensajes para regresar al usuario.
Define solicitudes de usuario válidas
Para definir lo que los usuarios pueden decir a tus acciones, usas una combinación de intents y tipos de datos. Los intents y tipos de usuarios te permiten aumentar la CLN del Asistente con tus modelos de lenguaje propios. Los intents y tipos del sistema te permiten aprovechar de lenguaje extensos y detección de eventos, como usuarios que quieren abandonar tu acción o Asistente no detecta ninguna entrada.
Crea intents de usuario
Los intents de usuario permiten definir sus propias frases de entrenamiento podría decir a tus Actions. La CLN de Asistente usa estas frases para entrenarse para comprender lo que dicen los usuarios. Cuando los usuarios dicen algo que coincide con un según el modelo de idioma de la intención del usuario, Asistente establece la coincidencia con el intent y notifica tu Action, para que puedas llevar a cabo la lógica y responder a los usuarios.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/assistant/console/images/builder/new-intent.png?authuser=19&hl=es)
Para crear un intent de usuario, haz lo siguiente:
- En la pestaña Desarrollar, haz clic en Intents de usuario > ⊕ (intent nuevo), especifica un nombre y presiona Intro para crear el intent.
- Haz clic en el intent recién creado, en el menú de la izquierda. El editor de intents .
- Agregar frases de entrenamiento al intent Debes agregar tantas frases de entrenamiento para entrenar la CLN del Asistente.
- Opcional: Anota las frases de entrenamiento para indicarle al CLN del Asistente que analice
y extraer los parámetros escritos de la entrada del usuario que coincidan con un tipo especificado:
- Ingresa un nombre para el parámetro en el campo Agregar parámetro nuevo.
- Selecciona un tipo de sistema del menú desplegable o crea un tipo personalizado.
- Especifica si el parámetro es una lista. Esto permite que el parámetro recopile varios valores del mismo tipo.
- En la sección Agregar frases de entrenamiento, destaca el texto que deseas agregar. aplicar el tipo. Esto le indica a la CLN del Asistente que trate el contenido destacado el texto como parámetro. Si los usuarios dicen algo que coincide con el tipo, la CLN extrae ese valor como parámetro.
Crea intents del sistema
Los intents del sistema te permiten aprovechar los intents con lenguaje predefinido modelos para eventos comunes, como usuarios que desean salir de tu acción o cuando se agota el tiempo de espera de la entrada. Para crear intents del sistema, haz lo siguiente:
- En la pestaña Desarrollar, haz clic en Intents del sistema. Un conjunto de intents del sistema disponibles, como NO_MATCH, NO_INPUT y CANCEL.
- Cada intent del sistema contiene sus propios controladores, que puedes personalizar para cada tipo de intent del sistema. Por ejemplo, los intents del sistema permiten activar webhook y enviar mensajes estáticos cuando ocurre el evento.
Crea tipos personalizados
Los tipos personalizados te permiten crear tu propia especificación de tipo para entrenar el CLN de la siguiente manera: comprender un conjunto de valores que deben asignarse a una sola clave.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/assistant/console/images/builder/type-options.png?authuser=19&hl=es)
Para crear un tipo personalizado, sigue estos pasos:
- En la pestaña Desarrollar, haz clic en Tipos > ⊕ (Tipo nuevo).
Selecciona cómo proporcionar valores de tipo en la sección What kind of values with this tipo support?:
- 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: Permite entradas con más de una palabra. coincidan, aun cuando las palabras se pronuncien en un orden diferente.
- Aceptar valores desconocidos: Si no puedes especificar todos los valores posibles, Aceptará palabras o frases desconocidas según las entradas circundantes y datos de entrenamiento de intents, como los elementos que se podrían agregar a una tienda de comestibles. lista.
- Las expresiones regulares permiten que el tipo coincida con los patrones de expresiones regulares. basado en el estándar RE2 de Google.
- El texto en formato libre permite que el tipo coincida con lo que dice un usuario.
- 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:
Especifica valores de tipo en la sección Agregar entradas. Si elegiste Formato libre text, el tipo coincide con cualquier texto, por lo que no es necesario que proporciones ninguna entrada.
Lógica de acción y respuestas de compilación
La CLN de Asistente hace coincidir las solicitudes del usuario con los intents para que tu acción pueda y procesarlos en escena. Las escenas son ejecutores lógicos poderosos que te permiten procesar eventos durante una conversación.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/assistant/conversational/images/scene.png?authuser=19&hl=es)
Crea una escena
En las siguientes secciones, se describe cómo crear escenas y definir la funcionalidad para la etapa del ciclo de vida de cada escena.
Para crear una escena, haz lo siguiente:
- En la pestaña Develop, haz clic en Scenes > ⊕ (Nueva escena), especifica un nombre y presiona Intro para crear una escena.
- En el menú de la izquierda, haz clic en la escena recién creada. El editor de Scene .
Cómo definir la configuración única
Cuando se activa una escena por primera vez, puedes realizar tareas únicas Al entrar a la etapa. La etapa de entrada se ejecuta solo una vez y es la única que no se ejecuta en el bucle de ejecución de una escena.
Dentro de una escena, haz clic en la etapa On enter para especificar su funcionalidad. Puedes especificar la siguiente funcionalidad en esta etapa:
- Llamar a tu webhook: Activa un webhook. Consulta los webhooks. para obtener más información sobre webhooks.
- Enviar mensajes: Especifica mensajes estáticos para el usuario, de modo que sepa cómo continuar con la conversación. Consulta la documentación sobre mensajes. para obtener más información sobre cómo especificar mensajes.
Figura 4. Ejemplo de una escena que está en entrar al escenario
Verifica las condiciones
Las condiciones te permiten verificar el llenado de ranuras, el almacenamiento de la sesión, el almacenamiento del usuario y parámetros de almacenamiento en la casa para controlar el flujo de ejecución de escena.
En una escena, haz clic en el ícono + para la etapa Condición (Condition). El El editor de condiciones aparece a la derecha. Puedes especificar lo siguiente funcionalidad en esta etapa:
- Condición: Especifica la sentencia condicional real para desactivar la lógica base. . Consulta la documentación sobre las condiciones para conocer la sintaxis. información.
- Llamar a tu webhook: Activa un webhook. Consulta los webhooks. para obtener más información sobre webhooks.
- Enviar mensajes: Especifica mensajes estáticos que se enviarán al usuario. cómo continuar con la conversación. Consulta las mensajes. documentación para obtener más información sobre cómo especificar instrucciones.
- Transición: especifica la escena a la que se hará la transición cuando se crea sea verdadera.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/assistant/conversational/images/scene-condition.png?authuser=19&hl=es)
Cómo definir el relleno de ranuras
Las ranuras te permiten extraer parámetros escritos de la entrada del usuario.
En el editor de escenas, haz clic en el ícono + para la etapa Slot fill (Llenado de ranuras). El editor del espacio se muestra a la derecha. Puedes especificar lo siguiente Propiedades de una ranura:
- Nombre de la ranura:especifica el nombre de la ranura. Si deseas aprovechar de la asignación de valor de ranura, usa el mismo nombre que parámetro de intent correspondiente.
- Tipo de ranura: Especifica el tipo de ranura con un sistema. o el tipo personalizado.
- Esta ranura es obligatoria: Marca esta ranura como obligatoria. Si se habilita, ranura no se completará este espacio hasta que lo haga.
- Asignar un valor predeterminado a este horario disponible: Especifica un valor predeterminado para el espacio. que se lee desde el parámetro de sesión especificado.
- Personaliza la reescritura del valor de ranura: Especifica el parámetro de sesión que se conservará. el valor del espacio una vez que se completa el llenado.
- Validación de ranuras: Activa un webhook cuando se llena una ranura. Este parámetro de configuración se aplica a todas las ranuras.
- Call your webhook (Habilitado cuando se requiere la ranura): Activa un webhook. Consulta la documentación sobre webhooks para obtener más información al respecto. webhooks.
- Enviar mensajes (habilitado cuando se requiere la ranura): Especifica mensajes estáticos para enviar al usuario, de modo que sepa cómo continuar con la conversación. Consulta la documentación sobre mensajes para obtener más información sobre cómo especificar mensajes.
En el caso de ciertos tipos de ranuras (como los relacionados con transacciones o participación de los usuarios), aparecerá una sección adicional en la que podrás configurar la ranura. Ranura de conversaciones puede cambiar la experiencia de conversación de los usuarios según el propiedades que proporcionas.
Para configurar una ranura, proporciona propiedades en un objeto JSON en tu
entregables (al que se hace referencia como un parámetro de sesión) o en el editor de JSON intercalado.
Puedes encontrar las propiedades disponibles para cada tipo de ranura en
Referencia de JSON de Actions Builder. Por ejemplo, actions.type.DeliveryAddressValue
.
tipo de espacio corresponde al contenido de referencia de la
DeliveryAddressValue
ranura.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/assistant/conversational/images/scene-slot.png?authuser=19&hl=es)
Asignación del valor del espacio
En muchos casos, una coincidencia de intent anterior puede incluir parámetros que rellenar por completo los valores de ranura de una escena correspondiente. En estos casos, todas las ranuras completados por los parámetros de intent se asignan al relleno del espacio de la escena si el nombre del espacio coincide con el nombre del parámetro del intent.
Por ejemplo, si un usuario coincide con la intención de pedir una bebida, diciendo "Quiero para pedir un café de vainilla grande”, las ranuras existentes para el tamaño, el sabor y la bebida tipo se consideran rellenas en la escena correspondiente si esa escena define la misma las ranuras restantes.
Entrada del proceso
Durante esta etapa, puedes hacer que la CLN de Asistente haga coincidir la entrada del usuario con los intents. Puedes definir el alcance de la coincidencia de intents con una escena específica agregando los intents deseados. a la escena. Esto te permite controlar el flujo de la conversación indicándole a Asistente para que coincida con intents específicos cuando hay escenas específicas activas.
Dentro de una escena, haz clic en el ícono + para User intent handling. Control de intents del sistema. Aparecerá el editor del controlador de intents a la derecha. Puedes especificar la siguiente funcionalidad del intent controlador:
- Intent: Especifica el intent con el que quieres establecer una coincidencia dentro de esta escena.
- Llamar a tu webhook: Activa un webhook. Consulta los webhooks. para obtener más información sobre cómo controlar una solicitud de webhook.
- Enviar mensajes: Especifica mensajes estáticos al usuario, para que sepa cómo responder. Consulta la documentación sobre mensajes para obtener más información la especificación de mensajes.
- Transición (si corresponde): Especifica la escena a la que se realizará la transición. coincida el intent especificado.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/assistant/conversational/images/scene-customintent.png?authuser=19&hl=es)
![](https://developers-dot-devsite-v2-prod.appspot.com/static/assistant/conversational/images/scene-systemintent.png?authuser=19&hl=es)