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 | Son etiquetas que ayudan a categorizar los intents. Por ejemplo: intención 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, Dialogflow CX hace coincidir el intent. No es necesario que definas todos los ejemplos posibles, ya que el aprendizaje automático integrado de Dialogflow CX 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 (texto, voz o pulsaciones de teclas del teléfono), Dialogflow CX compara la entrada con las frases de entrenamiento de intents para encontrar la mejor coincidencia. Este proceso se llama coincidencia de intent. La coincidencia de intents solo puede ocurrir para los intents asociados con una ruta de intent (un controlador de estado con un requisito de intent) en el alcance.
La entrada de presión de teclas se hace coincidir según los patrones de DTMF. Sin embargo, cuando se busca un intent que coincida con el texto, Dialogflow CX califica las coincidencias potenciales 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 el parámetro de configuración del umbral de clasificación, se devuelve como una coincidencia.
- Si ningún intent cumple con 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. Para cada intent, creas muchas frases de entrenamiento. Cuando una entrada de usuario final se parece a una de estas frases, Dialogflow CX hace la coincidencia con el intent.
Por ejemplo, la frase de entrenamiento "Quiero pizza" entrena a tu agente para que reconozca la entrada del usuario final que es similar 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 Dialogflow CX expande la lista con otras frases similares. Debes crear al menos entre 10 y 20 frases de entrenamiento (según la complejidad del intent) para que el agente pueda reconocer una variedad de entradas de usuario final. Por ejemplo, si deseas que tu intent reconozca la entrada de un usuario final sobre 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”
- …
Genera y traduce automáticamente frases de entrenamiento
Tienes la opción de usar la generación de IA para generar frases de entrenamiento de forma automática en lugar de ingresarlas de forma manual. Sigue estos pasos para usar esta función:
- Navega a la pestaña Manage y haz clic en Intents. Elige un intent existente o, para crear uno nuevo, haz clic en + Crear.
- Asegúrate de ingresar un propósito para el intent en el campo Descripción, por ejemplo, "Este intent se activa cuando un usuario pregunta sobre el estado de su pedido". El generador de IA usa este campo para generar frases de entrenamiento más precisas.
- Haz clic en el botón de selección __ frases nuevas generadas por IA. El valor predeterminado es 3. Generar más de 15 frases de entrenamiento a la vez puede provocar errores.
- Haz clic en + Agregar. La IA generará la cantidad especificada de frases de entrenamiento y las propagará en la tabla. Asegúrate de revisar todas las frases de entrenamiento generadas para verificar su exactitud.
Para obtener información sobre cómo usar esta función para generar y traducir automáticamente datos de idiomas no predeterminados, consulta la documentación de agentes multilingües
Anota las frases de entrenamiento
Para controlar cómo se extraen los datos del usuario final, anota partes de tus frases de entrenamiento y configura los parámetros asociados.
Por ejemplo, considera una frase de entrenamiento como "¿Cuál es el pronóstico de mañana para
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 CX reconoce que estos fragmentos son solo ejemplos de valores reales que
proporcionarán los usuarios finales en el entorno de ejecución.
Para una entrada de usuario final como "¿Cuál es el pronóstico del viernes para Sídney?",
Dialogflow CX 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 extraerán como parámetros. De lo contrario, Dialogflow no extraerá los valores.
Cuando creas un agente con la consola, la mayoría de las anotaciones se crean de forma automática cuando agregas frases de entrenamiento que contienen partes que coinciden con un tipo de entidad existente. Estas partes se destacan en la consola, y puedes editar las anotaciones y los parámetros según sea necesario.
Para anotar una frase de entrenamiento con la consola de forma manual, haz lo siguiente:
- Selecciona el fragmento de la frase de entrenamiento que deseas anotar.
- Selecciona el tipo de entidad que deseas de la lista.
- Se creará un parámetro para ti en la siguiente tabla de parámetros.
Cuando creas 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 creando tipos de entidad y agregando entradas de entidad. 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 entidad para la entrada de entidad agregada de forma implícita. Si el tipo de entidad es una entidad de mapa, 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. Para algunos idiomas, el intent tiene frases de entrenamiento como "Hola" o "Hola" que están diseñadas para coincidir con la entrada inicial del usuario final. Puedes editar este intent según sea necesario.
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 un ligero parecido con las frases de entrenamiento en los intents normales, pero no quieras que estas entradas coincidan con ningún intent normal.
Por ejemplo, un agente de reserva de salas de reuniones puede tener una frase de entrenamiento como "Me gustaría reservar una sala de reuniones". 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 un 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 intent negativas predeterminadas, esto afecta de forma negativa la coincidencia de intents normal.
Debes revisar estas frases con regularidad, ya que algunas de ellas pueden haber estado fuera del alcance del agente en un principio, pero se agregaron a los intents posteriormente.
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 perjudicarla 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 una intención 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 quiera cancelar el tema de conversación actual. Por ejemplo, la página activa 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". Para controlar esta situación, puedes crear uno o más intents de cancelación para tu agente. Puedes asignarles el nombre que desees a estos intents de cancelación, pero se suele incluir la palabra "cancelar" en el nombre. Debes asociar estos intents de cancelación con rutas de intents que estén dentro del alcance en los puntos pertinentes 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 para los intents de cancelación deben controlar los intentos de cancelación genéricos y específicos del tema. 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
- Abre la consola de Dialogflow CX.
- Elige tu proyecto.
- Selecciona el agente.
- Selecciona la pestaña Administrar.
- Haz clic en Intents.
- Haz clic en +Crear.
- Ingresa los datos del intent.
- 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
- Abre la consola de Dialogflow CX.
- Elige tu proyecto.
- Selecciona el agente.
- Selecciona la pestaña Administrar.
- Haz clic en Intents.
- Mantén el puntero sobre el intent que quieres borrar.
- Haz clic en el botón Borrar delete.
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
- Abre la consola de Dialogflow CX.
- Elige tu proyecto.
- Selecciona el agente.
- Selecciona la pestaña Administrar.
- Haz clic en Intents.
- Haz clic en el intent al que deseas acceder.
- Visualiza o actualiza los datos del intent
- 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 los intents existentes. Aceptar estas sugerencias puede ayudar a evitar futuras discrepancias.
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 las sugerencias de intents, sigue estos pasos:
Console
- Abre la consola de Dialogflow CX.
- Elige tu proyecto.
- Selecciona el agente.
- Selecciona la pestaña Administrar.
- Haz clic en Intents.
- Haz clic en la pestaña Sugerencias.
- Ajusta el tamaño del clúster según sea necesario.
- Selecciona una sugerencia.
- Selecciona las frases de entrenamiento que quieras.
- Para el intent de destino, agrega las frases de entrenamiento a un intent nuevo o existente.
- 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
- Abre la consola de Dialogflow CX.
- Elige tu proyecto.
- Selecciona el agente.
- Selecciona la pestaña Administrar.
- Haz clic en Intents.
- Selecciona el intent que quieres dividir.
- Haz clic en Dividir.
- Selecciona intents del intent de origen.
- Haz clic en Mover a la derecha.
- Proporciona otros detalles para el intent de destino.
- Haz clic en Dividir.
Cómo comparar y combinar intents
Puedes comparar o combinar dos intents en uno solo con la consola:
Console
- Abre la consola de Dialogflow CX.
- Elige tu proyecto.
- Selecciona el agente.
- Selecciona la pestaña Administrar.
- Haz clic en Intents.
- Selecciona los dos intents que quieres comparar o combinar.
- Haz clic en Comparar.
- Las frases de entrenamiento se muestran una al lado de la otra para compararlas.
- Para combinar los dos intents, haz clic en Combinar.
Importa y exporta 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 si 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 seleccionando una de las siguientes opciones:
- Reemplazar intents existentes: Un intent importado reemplaza cualquier intent con el mismo nombre en tu agente existente. Reemplazar los intents existentes durante la importación también reemplazará las entidades existentes.
- Cambiar el nombre y, luego, importar como intents nuevos: Se cambia el nombre del intent importado agregando "_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.
- Conservar intents originales: El intent existente no se modifica y se ignora el intent en conflicto. Se importan los intents que no entran en conflicto.
Para exportar intents, sigue estos pasos:
Console
- Abre la consola de Dialogflow CX.
- Elige tu proyecto.
- Selecciona el agente.
- Selecciona la pestaña Administrar.
- Haz clic en Intents.
- Selecciona cada intent que quieras exportar.
- Haz clic en Exportar intents seleccionados.
- Selecciona el formato y el destino que necesites.
- Haz clic en Enviar.
Para importar intents, sigue estos pasos:
Console
- Abre la consola de Dialogflow CX.
- Elige tu proyecto.
- Selecciona el agente.
- Selecciona la pestaña Administrar.
- Haz clic en Intents.
- Haz clic en Importar.
- Selecciona la fuente.
- Si hay algún conflicto, se mostrará una ventana de diálogo que te permitirá seleccionar el comportamiento de combinación.
- Haz clic en Enviar.
Cómo exportar e importar 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, en una sola columna. Por ejemplo:
"I want a pony"
"I need a pony"
"I must have a pony"
Cuando importas 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.
- 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. Puedes inhabilitar este comportamiento seleccionando Omitir anotación automática.
Para exportar frases de entrenamiento de un intent, sigue estos pasos:
Console
- Abre la consola de Dialogflow CX.
- Elige tu proyecto.
- Selecciona el agente.
- Selecciona la pestaña Administrar.
- Haz clic en Intents.
- Selecciona un intent.
- Ve a la sección Frases de entrenamiento.
- Selecciona las frases de entrenamiento que quieres exportar.
- Haz clic en Exportar.
Para importar frases de entrenamiento para un intent, sigue estos pasos:
Console
- Abre la consola de Dialogflow CX.
- Elige tu proyecto.
- Selecciona el agente.
- Selecciona la pestaña Administrar.
- Haz clic en Intents.
- Selecciona un intent.
- Ve a la sección Frases de entrenamiento.
- Si es necesario, selecciona Omitir anotación automática.
- Haz clic en el botón de importación que se encuentra sobre la lista de frases de entrenamiento.
- Selecciona un archivo y un modo de importación.
- Haz clic en Enviar.
Intents principales y complementarios
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 están relacionadas con el intent principal. Estas preguntas posteriores pueden proporcionar contexto adicional para las necesidades del usuario final, o bien pueden ser preguntas de seguimiento que ayuden al usuario final a aclarar o comprender mejor algo.
Un intent principal suele ser uno de los primeros intents para los que se detecta una coincidencia en una conversación, y las preguntas adicionales del usuario final coinciden con intents complementarios. Por ejemplo:
| Diálogos | Explicación |
|---|---|
| Usuario final: Activar teléfono nuevo Agente: Claro, puedo ayudarte con eso. ¿Cuáles son los últimos 4 dígitos del número de teléfono que quieres activar? |
Se detecta una coincidencia para el intent principal. |
| Usuario final: 1234 Agente: ¿Quieres activar tu teléfono ahora? |
Se establece un parámetro. |
| Usuario final: ¿Se transferirán todos mis mensajes a mi teléfono nuevo? Agente: … |
Se produce una coincidencia con el intent complementario. |