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 de conversación (Dialogflow CX) coinciden 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 de usuario final se parece a una de estas frases, Los agentes de conversación (Dialogflow CX) coinciden 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 de conversación (Dialogflow CX) amplía tu lista con otros, 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:
- Selecciona el fragmento de la frase de entrenamiento que deseas anotar.
- Selecciona el tipo de entidad deseado de la lista.
- 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 anotar el texto de una frase de entrenamiento en el 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 implícitamente. 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 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 frases posibles que estén fuera del alcance del agente por lo que no coincidirán con ninguna intención. Sin embargo, evita agregar una gran cantidad de estas frases. Por ejemplo, si defines 10,000 frases de intenciones negativas predeterminadas esto afecta de forma negativa la coincidencia de intents normal.
Revisa regularmente estas frases, ya que algunas de estas frases podrían haberse fuera del alcance del agente pero que posteriormente se agregaron a intents.
El intent negativo predeterminado tiene 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
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud.
- 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 intent |
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 de Google Cloud.
- Selecciona el agente.
- Selecciona la pestaña Administrar.
- Haz clic en Intents.
- Coloca el cursor sobre el intent que deseas 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 intent | 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 de Google Cloud.
- 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 intent | Interfaz de intent |
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 los casos sin coincidencias durante las conversaciones. y puede sugerir nuevos intents o recomendar frases de entrenamiento adicionales 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, haz lo siguiente:
Console
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud.
- 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 como desees.
- Selecciona una sugerencia.
- Selecciona las frases de entrenamiento que desees.
- Para el intent de destino, agrega las frases de entrenamiento a un intent existente o a uno nuevo.
- Haz clic en Guardar o Crear nuevo para guardar los cambios. Cuando aceptas las sugerencias de intents, el intent permanece en la lista de sugerencias.
Intents divididos
Puedes dividir un intent en dos usando 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 quieras 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.
Compara y combina intents
Puedes comparar o combinar dos intents con uno solo mediante 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 deseas 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 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 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 con anterioridad. 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 coinciden los nombres visibles de los intents. seleccionando 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 sin conflictos.
Para exportar intents, sigue estos pasos:
Console
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud.
- 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 deseados.
- Haz clic en Enviar.
Para importar intents, haz lo siguiente:
Console
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud.
- Selecciona el agente.
- Selecciona la pestaña Administrar.
- Haz clic en Intents.
- Haga clic en Import.
- Selecciona la fuente.
- Si hay algún conflicto, se muestra una ventana de diálogo que permite seleccionar el comportamiento de combinación.
- 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 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 anotación automática.
Para exportar frases de entrenamiento para un intent, haz lo siguiente:
Console
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud.
- Selecciona el agente.
- Selecciona la pestaña Administrar.
- Haz clic en Intents.
- Selecciona un intent.
- Desplázate hasta la sección Frases de entrenamiento.
- Selecciona las frases de entrenamiento que quieres exportar.
- Haz clic en Exportar.
A fin de importar frases de entrenamiento para un intent, sigue estos pasos:
Console
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud.
- Selecciona el agente.
- Selecciona la pestaña Administrar.
- Haz clic en Intents.
- Selecciona un intent.
- Desplázate hasta la sección Frases de entrenamiento.
- Si lo deseas, selecciona Omitir anotación automática.
- Haz clic en el botón de importación que se encuentra justo sobre la lista de frases de entrenamiento.
- Selecciona un archivo y el modo de importación.
- Haz clic en Enviar.
Intents principales y complementarios
Cuando diseñes 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 del usuario final que se relacionan con el intent principal. Las preguntas posteriores pueden proporcionar contexto adicional para las necesidades del usuario final, o pueden ser preguntas de seguimiento que ayudan al usuario final a aclarar o comprender mejor algo.
Un intent principal suele ser uno de los primeros intents que coinciden en una conversación. y más preguntas del usuario final coinciden con los 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ó una coincidencia con el intent de la cabeza |
Usuario final: 1234 Agente: ¿Está todo listo para activar tu teléfono ahora? |
Cuando 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 |