Intents

Un intent clasifica la intención de un usuario final para un turno de conversación. En comparación con los intents de ES, los intents de CX se simplificaron para que sean un recurso más reutilizable.

Un intent contiene los siguientes datos:

Término Definición
Nombre visible Es el nombre que se muestra en la consola para el intent.
Etiquetas Etiquetas que ayudan a categorizar intents. Por ejemplo: head intent.
Frases de entrenamiento Las frases de entrenamiento son frases de ejemplo de algo que podrían decir o escribir los usuarios finales, conocidas como entradas del usuario final. Cuando la entrada del usuario final se parece a una de estas frases, Dialogflow hace una coincidencia con el intent. No es necesario que definas todos los ejemplos posibles, ya que el aprendizaje automático integrado de Dialogflow expande la lista con otras frases similares.
Parámetros Define las frases de entrenamiento a fin de usar parámetros para extraer valores de partes específicas de la entrada del usuario final.
Patrones de DTMF Consulta DTMF para integraciones de telefonía.

Coincidencia de intents

Cuando un usuario final ingresa una entrada (pulsaciones de teclas de texto, voz o teléfono), Dialogflow compara la entrada con las frases de entrenamiento del intent para encontrar la mejor coincidencia. Este proceso se llama coincidencia de intent. La coincidencia de intents solo puede ocurrir para intents asociados con una ruta de intents (un controlador de estado con un requisito de intent) dentro del alcance.

La entrada al presionar teclas se correlaciona según los patrones de DTMF. Sin embargo, cuando se busca un intent que coincide con el texto, Dialogflow asigna las posibles coincidencias con una confianza de detección de intents, también conocida como puntuación de confianza. Estos valores van desde 0.0 (completamente incierto) hasta 1.0 (completamente cierto). Una vez que se califican los intents, hay dos resultados posibles:

  • Si el intent con la puntuación más alta tiene una puntuación de confianza mayor o igual que la configuración del umbral de clasificación, se muestra como una coincidencia.
  • Si ningún intent alcanza el umbral, se invocará un evento de no coincidencia.

Los modelos del AA de Dialogflow tienen algún nivel de distinción entre mayúsculas y minúsculas, lo que puede dar como resultado puntuaciones de coincidencia ligeramente diferentes para las entradas del usuario final que solo difieren en el uso de mayúsculas. Obtén más información en la guía de prácticas recomendadas para el diseño de agentes.

Frases de entrenamiento

Las frases de entrenamiento son frases de ejemplo de algo que los usuarios finales podrían escribir o decir, lo que se denomina entrada del usuario final. Debes crear muchas frases de entrenamiento por cada intent. Cuando una entrada del usuario final se parece a una de estas frases, Dialogflow hace una coincidencia con el intent.

Por ejemplo, la frase de entrenamiento “Quiero pizza” entrena a tu agente para que reconozca las entradas del usuario final que son similares a esa frase, como “Obtener una pizza” o “Pedir pizza”.

No tienes que definir todos los ejemplos posibles, porque el aprendizaje automático integrado de Dialogflow expande tu lista con otras frases similares. Debes crear al menos de 10 a 20 frases de entrenamiento (según la complejidad del intent) para que el agente pueda reconocer una variedad de entradas del usuario final. Por ejemplo, si deseas que tu intent reconozca una entrada de un usuario final acerca de su color favorito, puedes definir las siguientes frases de entrenamiento:

  • “Me gusta el rojo”
  • "Mi color favorito es el amarillo"
  • "negro"
  • “El azul es mi color favorito”
  • ...

Anota las frases de entrenamiento

Para controlar cómo se extraen los datos del usuario final, mediante la anotación de las partes de tus frases de entrenamiento y la configuración de los parámetros asociados.

Por ejemplo, considera una frase de entrenamiento como “¿Cuál es el pronóstico para mañana en Tokio?” Debes anotar “mañana” con un parámetro date y “Tokio” con un parámetro location. Cuando anotas fragmentos de una frase de entrenamiento, Dialogflow reconoce que estos fragmentos son solo ejemplos de valores reales que proporcionarán los usuarios finales en el entorno de ejecución. En una entrada del usuario final como “¿Cuál es el pronóstico para el viernes en Sídney?”, Dialogflow extraería el parámetro date de “Viernes” y el parámetro location de “Sídney”.

Debes anotar todas las partes de las frases de entrenamiento que se deben extraer como parámetros. De lo contrario, Dialogflow no extraerá los valores.

Si compilas un agente con la consola, la mayoría de las anotaciones se crean de forma automática cuando agregas frases de entrenamiento que contienen fragmentos que pueden coincidir con un tipo de entidad existente. Estos fragmentos están resaltados en la consola. Puedes editar estas anotaciones y parámetros si lo necesitas.

Para anotar una frase de entrenamiento con la consola de forma manual, haz lo siguiente:

  1. Selecciona el fragmento de la frase de entrenamiento que deseas anotar.
  2. Selecciona el tipo de entidad deseado de la lista.
  3. Se crea un parámetro para ti en la tabla de parámetros a continuación.

Cuando compilas un agente con la API, debes anotar las partes de la frase de entrenamiento de forma manual. Consulta el tipo TrainingPhrase que usa el tipo Intent.

Selecciona un protocolo y una versión para la Referencia de intent:

Protocolo V3 V3beta1
REST Recurso de intent Recurso de intent
RPC Interfaz de intents Interfaz de intents
C++ IntentsClient No disponible
C# IntentsClient No disponible
Go IntentsClient No disponible
Java IntentsClient IntentsClient
Node.js IntentsClient IntentsClient
PHP No disponible No disponible
Python IntentsClient IntentsClient
Rita No disponible No disponible

Entidades implícitas creadas por frases de entrenamiento

La mayoría de las entidades personalizadas se definen de forma explícita mediante la creación de tipos de entidades y el agregado de entradas de entidades. Sin embargo, las entidades personalizadas también pueden contener valores implícitos. Esto sucede cuando anotas el texto de una frase de entrenamiento, cuando el texto anotado no es un valor definido por el tipo de entidad seleccionado. El texto anotado se convierte en un valor de referencia de entidad para la entrada de entidad agregada de manera implícita. Si el tipo de entidad es una entidad de asignación, el texto también se convierte en sinónimo de la entrada de entidad.

Intent de bienvenida predeterminado

Cuando creas un agente, se crea un intent de bienvenida predeterminado. En algunos idiomas, el intent tiene frases de entrenamiento simples, como “Hola” o “Qué tal”, que coinciden con la entrada inicial del usuario final. Puedes editar este intent como desees.

Cuando usas la API, puedes hacer referencia a este intent con el siguiente ID de intent:

00000000-0000-0000-0000-000000000000

Si tu agente inicia la conversación, puedes activar este intent mediante la API. Usa el valor projects/<PROJECT_ID>/locations/<LOCATION_ID>/agents/<AGENT_ID>/intents/00000000-0000-0000-0000-000000000000 en el campo QueryInput.intent.intent cuando llames a los métodos detectIntent o streamingDetectIntent.

Intent negativo predeterminado

Cuando creas un agente, se crea un intent negativo predeterminado. Puedes agregar frases de entrenamiento a este intent que actúen como ejemplos negativos. Puede haber casos en los que la entrada del usuario final tenga una leve similitud con las frases de entrenamiento en intents normales, pero no deseas que coincidan con ningún intent normal.

Por ejemplo, un agente de reserva de habitaciones puede tener una frase de entrenamiento como “Me gustaría reservar una habitación”. Si el usuario final quisiera alquilar una habitación en una reserva natural, podría decir “Me gustaría alquilar una habitación en una reserva”. Para asegurarte de que la entrada del usuario final no coincida con tu intent, puedes agregar esa frase como ejemplo negativo.

Además, debes agregar frases posibles que estén fuera del alcance del agente, para que no coincidan con ningún intent. Sin embargo, evita agregar una gran cantidad de estas frases. Por ejemplo, si defines 10,000 frases de intents negativos predeterminadas, esto afectará de forma negativa la coincidencia normal de intents.

Debes revisar estas frases con regularidad, ya que es posible que algunas hayan estado fuera del alcance del agente en un principio, pero que luego se agregaron a los intents.

El intent negativo predeterminado afecta todas las coincidencias de intents. Las frases que le agregues podrían beneficiar la coincidencia para un intent, pero perjudicar la coincidencia para otro. Por ejemplo, puedes agregar "llamadas internacionales" al intent negativo predeterminado para evitar que coincida con un intent de viaje internacional. Sin embargo, eso también evitará que esa frase coincida con un intent de llamada internacional.

Cuando usas la API, puedes hacer referencia a este intent con el siguiente ID de intent:

00000000-0000-0000-0000-000000000001

Cancela intents

Durante una conversación, es posible que el usuario final desee cancelar el tema de la conversación actual. Por ejemplo, la página activa actual puede solicitar una fecha para una cita nueva, pero el usuario final decidió no crear una cita nueva. El usuario final puede decir algo como “cancelar” o “no quiero una cita nueva”. A fin de manejar esta situación, puedes crear uno o más intents de cancelación para tu agente. Puedes nombrar a estos intents de cancelación como quieras, pero es habitual incluir “cancelar” en el nombre. Debes asociar estos intents de cancelación con rutas de intents que estén dentro del permiso en puntos relevantes de la conversación. Estas rutas de intents deben realizar la transición a una página adecuada para controlar la cancelación.

Las frases de entrenamiento de los intents de cancelación deben manejar los intentos genéricos y específicos de un tema para cancelarlos. Por ejemplo:

  • Cancelar
  • Detener
  • Cambié de opinión
  • Mejor no
  • Volver
  • Atrás
  • No quiero una cita nueva
  • Cancelar cita nueva
  • Borrar cita nueva

Crea un intent

Para crear un intent, sigue estos pasos:

Console

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Intents.
  6. Haz clic en +Crear.
  7. Ingresa los datos del intent.
  8. Haz clic en Guardar.

API

Consulta el método create para el tipo Intent.

Selecciona un protocolo y una versión para la Referencia de intent:

Protocolo V3 V3beta1
REST Recurso de intent Recurso de intent
RPC Interfaz de intents Interfaz de intents
C++ IntentsClient No disponible
C# IntentsClient No disponible
Go IntentsClient No disponible
Java IntentsClient IntentsClient
Node.js IntentsClient IntentsClient
PHP No disponible No disponible
Python IntentsClient IntentsClient
Rita No disponible No disponible

Borra un intent

Para borrar un intent, sigue estos pasos:

Console

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Intents.
  6. Coloca el cursor sobre el intent que deseas borrar.
  7. Haz clic en el botón Borrar .

API

Consulta el método delete para el tipo Intent.

Selecciona un protocolo y una versión para la Referencia de intent:

Protocolo V3 V3beta1
REST Recurso de intent Recurso de intent
RPC Interfaz de intents Interfaz de intents
C++ IntentsClient No disponible
C# IntentsClient No disponible
Go IntentsClient No disponible
Java IntentsClient IntentsClient
Node.js IntentsClient IntentsClient
PHP No disponible No disponible
Python IntentsClient IntentsClient
Rita No disponible No disponible

Accede a los datos del intent

Para acceder a los datos del intent, haz lo siguiente:

Console

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Intents.
  6. Haz clic en el intent al que deseas acceder.
  7. Visualiza o actualiza los datos del intent
  8. Haz clic en Guardar a fin de guardar los cambios.

API

Consulta los métodos get y patch/update para el tipo Intent.

Selecciona un protocolo y una versión para la Referencia de intent:

Protocolo V3 V3beta1
REST Recurso de intent Recurso de intent
RPC Interfaz de intents Interfaz de intents
C++ IntentsClient No disponible
C# IntentsClient No disponible
Go IntentsClient No disponible
Java IntentsClient IntentsClient
Node.js IntentsClient IntentsClient
PHP No disponible No disponible
Python IntentsClient IntentsClient
Rita No disponible No disponible

Sugerencias de intents

Dialogflow analiza automáticamente los casos que no coinciden durante las conversaciones y puede sugerir nuevos intents o recomendar frases de entrenamiento adicionales para los intents existentes. Aceptar estas sugerencias puede ayudar a evitar que vuelva a ocurrir una falta de coincidencia en el futuro.

Cuando usas sugerencias, puedes ajustar el Tamaño del clúster. Los valores más pequeños del tamaño del clúster sugieren más intents con menos frases de entrenamiento por intent. Los valores más grandes del tamaño del clúster sugieren menos intents con más frases de entrenamiento por intent.

Para aceptar sugerencias de intents, haz lo siguiente:

Console

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Intents.
  6. Haz clic en la pestaña Suggestions.
  7. Ajusta el Tamaño del clúster como desees.
  8. Selecciona una sugerencia.
  9. Selecciona las frases de entrenamiento que desees.
  10. Para el intent objetivo, agrega las frases de entrenamiento a un intent existente o a uno nuevo.
  11. Haz clic en Guardar o Crear nuevo para guardar los cambios. Cuando aceptas sugerencias de intents, el intent permanece en la lista de sugerencias.

Intents de división

Puedes dividir un intent en dos con la consola. La interfaz te permite seleccionar frases de entrenamiento de un intent de origen y moverlas a un intent nuevo:

Console

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Intents.
  6. Selecciona el intent que quieres dividir.
  7. Haz clic en Dividir.
  8. Seleccionar intents del intent de origen
  9. Haz clic en Mover hacia la derecha.
  10. Proporciona otros detalles del intent de destino.
  11. Haz clic en Dividir.

Cómo comparar y combinar intents

Puedes comparar o combinar dos intents en uno solo con la consola:

Console

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Intents.
  6. Selecciona los dos intents que deseas comparar o combinar.
  7. Haz clic en Comparar.
  8. Las frases de entrenamiento se muestran una al lado de la otra para compararlas.
  9. Para combinar los dos intents, haz clic en Merge.

Importa y exporta intents

Puedes importar y exportar intents para compartir entre agentes.

Una de las opciones de formato de exportación es CSV, que tiene las siguientes columnas:

  • Nombre visible de la intención
  • lenguaje
  • Frase

Cada entrada contiene el nombre visible, el idioma y la primera frase de entrenamiento, o solo una frase de entrenamiento para el intent declarado con anterioridad. Dialogflow codifica anotaciones en frases de entrenamiento exportadas para que las anotaciones se restablezcan cuando se importen. El formato para esta codificación es el siguiente:

(annotated part)[entity, parameter]

Por ejemplo:

Intent Display Name,Language,Phrase
Shirt Selection,en,I want a (green)[@sys.color, color] shirt
,,I would like a (yellow)[@sys.color, color] shirt
Store Hours,en,When are you open?
,,What are your hours?

Cuando importas intents, es posible que haya conflictos de combinación si el nombre visible de un intent del agente existente coincide con el de un intent importado. Puedes controlar el comportamiento de combinación cuando los nombres visibles del intent coinciden. Para ello, selecciona una de las siguientes opciones:

  • Reemplazar intents existentes: Un intent importado reemplaza cualquier intent con el mismo nombre en tu agente existente.
  • Cambiar nombre e importar como intents nuevos: Se agrega "_1" al nombre visible para el intent importado.
  • Fusionar con intents existentes: Las frases de entrenamiento de un intent importado se agregan al intent existente. Si existen las mismas frases de entrenamiento, no se duplicarán.
  • Mantener los intents originales: El intent existente no se modifica y se ignora el intent en conflicto. Se importan los intents que no generan conflictos.

Para exportar intents, haz lo siguiente:

Console

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Intents.
  6. Selecciona cada intent que quieras exportar.
  7. Haz clic en Exportar intents seleccionados.
  8. Selecciona el formato y el destino deseados.
  9. Haz clic en Enviar.

Para importar intents, haz lo siguiente:

Console

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Intents.
  6. Haz clic en Importar.
  7. Selecciona la fuente.
  8. Si hay algún conflicto, se mostrará una ventana de diálogo que permite seleccionar el comportamiento de combinación.
  9. Haz clic en Enviar.

Importa y exporta frases de entrenamiento

Puedes importar y exportar frases de entrenamiento para un intent existente.

El formato de archivo para la importación es CSV sin encabezado de columna y una sola columna. Por ejemplo:

"I want a pony"
"I need a pony"
"I must have a pony"

Cuando importes frases de entrenamiento, puedes elegir uno de los siguientes modos de importación:

  • Importar como frases de entrenamiento nuevas: Las frases de los archivos se agregan a la lista de frases de entrenamiento existentes.
  • Reemplazar las frases de entrenamiento existentes: Se borran las frases de entrenamiento existentes y se agregan las frases de entrenamiento de los archivos.

De forma predeterminada, las frases de entrenamiento importadas se anotan automáticamente. Para inhabilitar este comportamiento, selecciona Omitir anotación automática.

Para exportar frases de entrenamiento de un intent, haz lo siguiente:

Console

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Intents.
  6. Selecciona un intent.
  7. Desplázate hasta la sección Frases de entrenamiento.
  8. Selecciona las frases de entrenamiento que deseas exportar.
  9. Haz clic en Exportar.

Para importar frases de entrenamiento de un intent, haz lo siguiente:

Console

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Intents.
  6. Selecciona un intent.
  7. Desplázate hasta la sección Frases de entrenamiento.
  8. Si lo deseas, selecciona omitir anotación automática.
  9. Haz clic en el botón de importación que se encuentra sobre la lista de frases de entrenamiento.
  10. Selecciona un archivo y el modo de importación.
  11. Haz clic en Enviar.

Cuando diseñas agentes, a veces es útil pensar en los intents como intents principales o intents complementarios.

Un intent principal identifica el propósito principal del usuario final para interactuar con un agente. Un intent complementario identifica las preguntas posteriores de un usuario final que se relacionan con el intent principal. Estas preguntas posteriores pueden proporcionar contexto adicional para las necesidades del usuario final, o pueden ser preguntas de seguimiento que ayuden al usuario final a aclarar o comprender mejor algo.

Por lo general, un intent principal es uno de los primeros intents que coinciden en una conversación, y las demás preguntas del usuario final coinciden con los intents complementarios. Por ejemplo:

Diálogos Explicación
Usuario final: Activa un teléfono nuevo.
Agente: Puedo ayudarte con eso. ¿Cuáles son los últimos 4 dígitos del número de teléfono que quieres activar?
Coincidencia con el intent de cabeza
Usuario final: 1234
Agente: ¿Todo listo para activar tu teléfono ahora?
Cuando se establece un parámetro
Usuario final: ¿Todos mis mensajes se trasladarán a mi teléfono nuevo?
Agente: ...
Se detecta una coincidencia con el intent complementario