Intents

Un intent clasifica la intención de un usuario final para un turno de conversación.

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 los intents. Por ejemplo, intent principal.
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, los agentes conversacionales (Dialogflow CX) hacen una coincidencia con el intent. No es necesario que definas todos los ejemplos posibles, ya que el aprendizaje automático integrado de los agentes conversacionales (Dialogflow CX) expande tu 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 DTMF Consulta DTMF para integraciones de telefonía.

Coincidencia de intents

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

La entrada de teclas se corresponde según los patrones DTMF. Sin embargo, cuando se busca un intent que coincida con el texto, los agentes conversacionales (Dialogflow CX) puntúan las posibles coincidencias con una confianza de detección de intent, 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 puntúan 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.

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, los agentes conversacionales (Dialogflow CX) hacen 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 es necesario que definas todos los ejemplos posibles, ya que el aprendizaje automático integrado de los agentes conversacionales (Dialogflow CX) 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, los agentes conversacionales (Dialogflow CX) reconocen que estas partes 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?”, Los agentes conversacionales (Dialogflow CX) extraerían el parámetro date de “Viernes” y el parámetro location de “Sídney”.

Debes anotar todas las partes de la frase de entrenamiento que se deban 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
Ruby 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 la adición 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, en la que 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 la entidad para la entrada de entidad agregada de forma implícita. Si el tipo de entidad es una entidad de asignación, el texto también se convierte en un sinónimo de la entrada de la 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 con 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 al método 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 posibles frases que estén fuera del alcance del agente para que no coincidan con ningún intent. Sin embargo, evita agregar una cantidad muy grande de estas frases. Por ejemplo, si defines 10,000 frases de intents negativos predeterminados, esto afectará negativamente la coincidencia de intents normal.

Debes revisar estas frases con regularidad, ya que es posible que algunas de ellas no estén dentro del alcance del agente, pero se hayan agregado posteriormente a los intents.

El intent negativo predeterminado tiene un impacto en todas las coincidencias de intents. Las frases que 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, esto 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. Haga clic en Save.

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
Ruby 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
Ruby 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
Ruby No disponible No disponible

Sugerencias de intents

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

Cuando uses las sugerencias, podrás 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 altos del tamaño del clúster sugieren menos intents con más frases de entrenamiento por intent.

Para aceptar sugerencias de intents, 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 la pestaña Sugerencias.
  7. Ajusta el tamaño del clúster como desees.
  8. Selecciona una sugerencia.
  9. Selecciona las frases de entrenamiento que quieras.
  10. Para el intent de destino, 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 divididos

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 deseas dividir.
  7. Haz clic en Dividir.
  8. Selecciona intents del intent de origen.
  9. Haz clic en Mover a la derecha.
  10. Proporciona otros detalles para el intent de destino.
  11. Haz clic en Dividir.

Compara y combina 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 Combinar.

Cómo exportar e importar intents

Puedes exportar e importar intents para compartirlos entre agentes.

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

  • Nombre visible del intent
  • Idioma
  • 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 anteriormente. Dialogflow codifica las anotaciones en las frases de entrenamiento exportadas para que se restablezcan cuando se importen. El formato de 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, puede haber conflictos de combinación cuando el nombre visible de un intent en tu agente existente coincide con el de un intent importado. Puedes controlar el comportamiento de combinación cuando los nombres visibles de los intents 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 el nombre y la importación como intents nuevos: Para cambiar el nombre del intent importado, agrega "_1" al nombre visible.
  • Combinar 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.
  • Keep original intents: El intent existente no se modifica y se ignora el intent en conflicto. Se importan los intents que no generan conflictos.

Para exportar intents, 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. 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, 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. Haga clic en Import.
  7. Selecciona la fuente.
  8. Si hay algún conflicto, aparecerá una ventana de diálogo que te permitirá seleccionar el comportamiento de combinación.
  9. Haz clic en Enviar.

Exporta e importa frases de entrenamiento

Puedes exportar e importar 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 existentes.
  • Reemplaza 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 la anotación automática.

Para exportar frases de entrenamiento para 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 quieres exportar.
  9. Haz clic en Exportar.

Para importar frases de entrenamiento para 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 la anotación automática.
  9. Haz clic en el botón de importación que se encuentra justo 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 objetivo principal del usuario final para interactuar con un agente. Un intent complementario identifica las preguntas posteriores del 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 lo ayuden 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 preguntas adicionales del usuario final coinciden con intents complementarios. Por ejemplo:

Diálogos Explicación
Usuario final: Activar un teléfono nuevo
Agente: Por supuesto, puedo ayudarte con eso. ¿Cuáles son los últimos 4 dígitos del número de teléfono que quieres activar?
Se detectó la coincidencia con el intent principal
Usuario final: 1234
Agente: ¿Está todo listo para activar el teléfono ahora?
Se establece un parámetro
Usuario final: ¿Se transferirán todos mis mensajes al teléfono nuevo?
Agente: …
Se detecta la coincidencia con el intent complementario