Intenciones
Importante
LUIS se retirará el 1 de octubre de 2025. Además, a partir del 1 de abril de 2023, ya no se podrán crear recursos de este servicio. Se recomienda migrar las aplicaciones de LUIS al reconocimiento del lenguaje conversacional para aprovechar el soporte continuo del producto y las capacidades multilingües.
Una intención representa una tarea o acción que el usuario quiere realizar. Es una finalidad o un objetivo que se expresa en la expresión de un usuario.
Defina un conjunto de intenciones que se correspondan con las acciones que los usuarios quieren realizar en la aplicación. Por ejemplo, una aplicación de viajes tendría varias intenciones:
Intenciones de la aplicación de viajes | Expresiones de ejemplo |
---|---|
BookFlight | "Resérvame un vuelto a Río la próxima semana" "Llévame a Río en avión el 24" "Necesito un billete de avión para el próximo domingo a Río de Janeiro" |
Saludo | "Buenas" "Hola" "Buenos días" |
CheckWeather | "¿Qué tiempo hace en Boston?" "Muéstrame la previsión de este fin de semana" |
None | "Dame una receta de galletas" "¿Ganaron los Lakers?" |
Todas las aplicaciones vienen con la intención predefinida "None", que es la intención de reserva.
Intenciones creadas previamente
LUIS proporciona intenciones pregeneradas y sus expresiones para cada uno de sus dominios pregenerados. Las intenciones pueden agregarse sin tener que agregar todo el dominio. Agregar una intención es el proceso de agregar una intención y sus expresiones a la aplicación. Asimismo, puede modificar tanto el nombre de la intención como la lista de expresiones.
Devolver las puntuaciones de todas las intenciones
Asigne una expresión a una única intención. Cuando LUIS recibe una expresión, de manera predeterminada, devuelve la intención superior para esa expresión.
Si quiere puntuaciones para todas las intenciones de la expresión, puede proporcionar una marca en la cadena de consulta de la API de predicción.
API Prediction | Marca |
---|---|
V2 | verbose=true |
V3 | show-all-intents=true |
Comparación de intención con entidad
La intención representa la acción que la aplicación debe realizar para el usuario, y se basa en la expresión completa. Una expresión solo puede tener una intención de puntuación superior, pero puede tener muchas entidades.
Cree una intención cuando el propósito del usuario desencadenaría una acción en la aplicación cliente, como una llamada a la función checkweather() de la tabla anterior. Después, cree entidades para representar los parámetros necesarios para ejecutar la acción.
Intención | Entidad | Expresión de ejemplo |
---|---|---|
CheckWeather | { "type": "location", "entity": "Seattle" } { "type": "builtin.datetimeV2.date","entity": "tomorrow","resolution":"2018-05-23" } |
What's the weather like in Seattle tomorrow ? |
CheckWeather | { "type": "date_range", "entity": "this weekend" } | Show me the forecast for this weekend (Muéstrame la previsión de este fin de semana) |
Intención None
La intención None se ha creado y dejado en blanco de forma intencionada. La intención None es obligatoria y no se puede eliminar ni se puede cambiar su nombre. Rellénela con expresiones que se encuentren fuera de su dominio.
La intención None es la intención de reserva, y debe tener un 10 % del total de expresiones. Es importante en todas las aplicaciones, ya que se usa para enseñar a LUIS expresiones que no son importantes en el dominio de la aplicación (área de asunto). Si no agrega ninguna expresión a la intención None, LUIS fuerza una expresión que está fuera del dominio en una de las intenciones del dominio. Esto sesgará las puntuaciones de la predicción al enseñar a LUIS la intención incorrecta para la expresión.
Cuando una expresión se ha predicho como la intención None, la aplicación cliente puede hacer más preguntas o proporcionar un menú para dirigir al usuario a opciones válidas.
Intenciones negativas
Si quiere determinar intenciones positivas y negativas, como "Quiero un coche" y "No quiero un coche", puede crear dos intenciones (una positiva y otra negativa) y agregar expresiones adecuadas para cada una. O bien, puede crear una única intención y marcar los dos términos positivos y negativos diferentes como una entidad.
Intenciones y patrones
Si tiene expresiones de ejemplo, que se pueden definir parcial o totalmente como una expresión regular, considere el uso de la entidad de expresión regular emparejada con un patrón.
El uso de una entidad de expresión regular garantiza la extracción de datos para buscar la coincidencia con el patrón. La coincidencia de patrones garantiza que se devuelve una intención exacta.
Equilibrio entre las intenciones
Las intenciones del dominio de la aplicación deben tener un equilibrio entre las expresiones de cada intención. Por ejemplo, no tenga la mayoría de las intenciones con 10 expresiones y otra intención con 500 expresiones. ya que no están equilibradas. En esta situación, querría revisar la intención con 500 expresiones para ver si muchas de ellas se pueden reorganizar en un patrón.
La intención None no se incluye en este equilibrio. Esa intención debe contener un 10 % de las expresiones totales de la aplicación.
Límites de las intenciones
Revise los límites para comprender cuántas intenciones puede agregar a un modelo.
Sugerencia
Si necesita más del número máximo de intenciones, considere si el sistema usa demasiadas intenciones, y decida si va a combinar varias intenciones en una sola intención con entidades. Si hay intenciones muy similares, esto puede dificultar que LUIS las distinga. Las intenciones deben ser lo suficientemente diferentes como para capturar las tareas principales que pregunta el usuario, pero no tienen que capturar cada ruta que realice el código. Por ejemplo, es posible que dos intenciones, "BookFlight()" y "FlightCustomerService()", tengan que ser intenciones diferentes en una aplicación de viajes, pero "BookInternationalFlight()" y "BookDomesticFlight()" son muy parecidas. Si el sistema necesita distinguirlas, use entidades u otra lógica en lugar de intenciones.
Solicitar ayuda para las aplicaciones con un número considerable de intenciones
Si reducir el número de intenciones o dividir las intenciones en varias aplicaciones no funciona, póngase en contacto con el soporte técnico. Si la suscripción a Azure incluye servicios de soporte técnico, póngase en contacto con el soporte técnico de Azure.
Procedimientos recomendados para intenciones:
Definir diferentes intenciones
Asegúrese de que el vocabulario de cada intención sea solo para esa intención y no se superponga con otra intención. Por ejemplo, si quiere que una aplicación controle preparativos de viaje como vuelos y hoteles, puede elegir que estas áreas de asuntos sean intenciones independientes o que tengan una misma intención con entidades de datos específicos dentro de la expresión.
Si el vocabulario entre dos intenciones es el mismo, combine la intención y use entidades.
Considere las siguientes expresiones de ejemplo:
- Reservar un vuelo
- Reservar un hotel
"Reservar un vuelo" y "Reservar un hotel" usan el mismo vocabulario: "reservar un <sustantivo>". Este formato es el mismo, por lo que debería tratarse de la misma intención con las diferentes palabras extraídas de las entidades "flight" (“vuelo”) y "hotel".
Agregar características a intenciones
Las características describen los conceptos de una intención. Una característica puede ser una lista de frases de palabras que son significativas para esa intención o una entidad que es significativa para dicha intención.
Buscar un punto óptimo para las intenciones
Use datos de predicción de LUIS para determinar si las intenciones se superponen. Las intenciones que se superponen confunden a LUIS. El resultado es que la intención con mayor puntuación es demasiado cercana a otra intención. Dado que LUIS no usa exactamente la misma ruta a través de los datos para el aprendizaje todas las veces, una intención que se superpone tiene una posibilidad de ser la primera o segunda en el aprendizaje. Quiere que la puntuación de la expresión de cada intención esté más alejada, de modo que esta variación no suceda. Una buena distinción de las intenciones debería dar como resultado cada vez la intención superior que se esperaba.
Equilibrio de expresiones entre intenciones
Para que las predicciones de LUIS sean precisas, la cantidad de expresiones de ejemplo en cada intención (excepto para la intención None) debe ser relativamente la misma.
Si tiene una intención con 500 expresiones de ejemplo y todas las demás intenciones con 10 expresiones de ejemplo, la intención con 500 expresiones tendrá una mayor tasa de predicción.
Adición de expresiones de ejemplo a la intención None
Esta es la intención de reserva, que indica todo lo que está fuera de la aplicación. Agregue una expresión de ejemplo en la intención None por cada 10 expresiones de ejemplo del resto de la aplicación de LUIS.
Agregar varias expresiones de ejemplo a las intenciones
Una vez publicada la aplicación, agregue solo expresiones de aprendizaje activo en el proceso de ciclo de vida del desarrollo. Si las expresiones son demasiado similares, agregue un patrón.
No combinar la definición de intenciones y entidades
Cree una intención para cualquier acción que llevará a cabo el bot. Use entidades como parámetros que hacen posible esa acción.
Por ejemplo, para un bot que reservará vuelos, cree una intención BookFlight. No cree una intención para cada compañía aérea o destino. Use esos datos como entidades y márquelos en las expresiones de ejemplo.