Opciones de reconocimiento de intenciones y extracción de entidades para las cargas de trabajo de sus aplicaciones inteligentes
El reconocimiento de intenciones y la extracción de entidades son componentes clave de comprensión del lenguaje natural.
El reconocimiento de intenciones implica identificar el objetivo o propósito del usuario detrás de su entrada. Por ejemplo, si un usuario dice: "Quiero reservar un vuelo", la intención es reservar un vuelo. El reconocimiento de intenciones ayuda al copiloto a comprender qué acción debe realizarse en función de la solicitud del usuario.
La extracción de entidades implica identificar y extraer piezas específicas de información de la entrada del usuario. Las entidades pueden ser cosas como fechas, nombres, ubicaciones o cualquier otro dato relevante. Por ejemplo, en la oración "Reservar un vuelo a Nueva York el 15 de septiembre", "Nueva York" y "15 de septiembre" son entidades.
Un copiloto utiliza la intención de comprender el objetivo del usuario y las entidades para identificar los detalles específicos necesarios para completar el tarea. Por lo tanto, el reconocimiento de intenciones y la extracción de entidades permiten al copiloto proporcionar respuestas precisas y eficientes a las consultas de los usuarios.
Al diseñar la carga de trabajo de su aplicación inteligente, debe elegir la mejor opción para el reconocimiento de intenciones y la extracción de entidades para garantizar que su carga de trabajo de aplicación inteligente brinde una experiencia de usuario positiva.
Definiciones
Término | Definición |
---|---|
NLU | Comprensión del lenguaje natural es un subconjunto del procesamiento del lenguaje natural en IA que se centra en la comprensión lectora de las máquinas. |
CLU | La comprensión del lenguaje conversacional es una característica de Azure AI que permite la creación de modelos NLU personalizados. |
Máster en Derecho | Un gran modelo de lenguaje es un tipo de modelo de IA diseñado para comprender y generar lenguaje humano. |
GPT | El transformador generativo preentrenado se refiere a una familia de grandes modelos de lenguaje que utilizan la arquitectura del transformador para comprender y generar texto similar al humano. |
Encadenamiento dinámico | Encadenamiento dinámico es un método para automatizar activadores para acciones generativas. En lugar de definir manualmente cada posible tema o frase desencadenadora, Gatillo, permite que la IA determine qué temas o acciones de complementos deben llamarse en función del contexto de la conversación. |
Elegir la opción correcta para el reconocimiento de intenciones y la extracción de entidades en su carga de trabajo de aplicaciones inteligentes implica varias consideraciones clave:
Entidades prediseñadas vs. personalizadas: evalúa si las entidades prediseñadas proporcionadas por Copilot Studio satisfacen tus necesidades. Las entidades prediseñadas cubren tipos de información comunes como fechas, números y nombres. Si su aplicación requiere conocimiento específico del dominio, es posible que necesite crear entidades personalizadas.
Complejidad de las entradas del usuario: considere la complejidad y variabilidad de las entradas del usuario. Para escenarios sencillos, las entidades preconstruidas pueden ser suficientes. Para interacciones más complejas, pueden ser necesarias entidades personalizadas y configuraciones avanzadas como expresiones regulares (regex).
Relleno de espacios: Determine si su aplicación requiere el llenado proactivo de espacios, donde el copiloto busca y completa activamente la información faltante en las entradas del usuario. El llenado de espacios puede mejorar la experiencia del usuario al reducir la necesidad de preguntas de seguimiento.
Rendimiento y escalabilidad: evalúe el rendimiento y la escalabilidad del método elegido. Las entidades personalizadas y las configuraciones complejas a menudo requieren más potencia de procesamiento y podrían afectar los tiempos de respuesta.
Facilidad de mantenimiento: considere la facilidad de mantenimiento y actualización de sus entidades. Las entidades prediseñadas son más fáciles de administrar, mientras que las entidades personalizadas requieren ajustes constantes a medida que su aplicación evoluciona.
Elija entre el estándar NLU, Azure CLU o encadenamiento dinámico
En Copilot Studio, tema o la activación de acciones se pueden lograr utilizando el modelo NLU estándar, combinándolo o anulándolo con un modelo CLU de Azure personalizado, o reemplazando completamente el modelo NLU con encadenamiento dinámico, un modelo basado en el modelo de lenguaje grande GPT.
Modelo estándar NLU | Modelo de CLU de Azure personalizado | Encadenamiento dinámico | |
---|---|---|---|
Pro | Modelo predeterminado, listo para usar, que viene entrenado previamente, con muchos tipos de entidades predefinidos. La configuración es Listo agregando frases Gatillo y entidades personalizadas (ya sean listas cerradas con valores y sinónimos, o expresiones regulares). |
Admite más idiomas, con modelos nativos. Admite la personalización del modelo de activación de intenciones para un mejor reconocimiento de intenciones o para abordar requisitos específicos de la industria. Permite la extracción de entidades complejas (por ejemplo, del mismo tipo). La extracción de entidades también puede utilizar el Copilot Studio estándar NLU. |
Utiliza un GPT grande modelo de lenguaje y viene entrenado previamente en un espectro más amplio de datos. Puede manejar múltiples intenciones y encadenar temas y/o complementos. Genera automáticamente preguntas para entradas faltantes y responde entidades y preguntas complejas del contexto de la conversación. La configuración es Listo describiendo temas, acciones del complemento, entradas y salidas. |
Estafa | Reconocimiento de intención única por consulta. No se puede extender. No se puede modificar el comportamiento del modelo ni ajustarlo. Se proporciona tal cual. Para llenar varias entidades del mismo tipo en la misma consulta es necesario desambiguar cada una (por ejemplo, ciudades de origen y destino). |
Reconocimiento de intención única por consulta. La configuración es Listo en Azure con un costo adicional. Tiene sus propios límites de servicio que deben evaluarse. Intenciones de CLU de Azure y Copilot Studio Los temas deben mantenerse cuidadosamente sincronizados. |
Como es una función de IA generativa, la tasa de consumo de mensajes de licencias es mayor que la de la activación normal de tema. |
Frases y espacios para rellenar Gatillo
Al desarrollar cargas de trabajo de aplicaciones inteligentes, utilice capacidades nativas para mejorar el reconocimiento de intenciones y agilizar las conversaciones. Comience por identificar frases tema Gatillo en bases de datos de preguntas frecuentes y transcripciones de chat existentes para asegurarse de que las frases anticipadas sean relevantes y precisas. Piense en cómo utilizará las entidades; por ejemplo, si utilizará expresiones regulares para buscar identificadores de pedidos, entidades prediseñadas para correos electrónicos o listas cerradas para tipos de operaciones con sinónimos. Planifique también cómo probará los activadores tema con frases de muestra para validar y refinar la precisión de sus procesos de reconocimiento de intenciones y extracción de entidades. Obtenga más información en Consideraciones sobre implementación y pruebas.
Frases desencadenadoras
Las frases Gatillo entrenan el modelo NLU de tu copiloto. Ayudan al copiloto a reconocer y responder con precisión a las expresiones del usuario definiendo frases específicas que tratan temas particulares. La configuración adecuada de estas frases Gatillo garantiza que el copiloto pueda identificar correctamente la intención del usuario y responder adecuadamente. Cuando el copiloto no está seguro de cuál tema usar Gatillo, puede sugerir hasta tres candidatos potenciales tema (múltiples temas coincidentes tema del sistema) o volver a un respuesta predeterminado si no se identifica ningún tema. Este mecanismo ayuda a mantener el flujo de la conversación y garantiza que el copiloto pueda manejar una amplia gama de entradas del usuario de manera efectiva.
Extracción de entidades y llenado de espacios
La extracción de entidades y el llenado de espacios son componentes importantes en el desarrollo de copilotos efectivos. Estos procesos permiten al copiloto adquirir y utilizar información de manera eficiente identificando y extrayendo detalles relevantes de las consultas de los usuarios.
Extracción de entidades implica analizar la entrada del usuario para identificar piezas específicas de información. Por ejemplo, en la consulta "Me gustaría pedir tres camisetas azules grandes", el modelo NLU del copiloto debería extraer las siguientes entidades:
- Cantidad: 3
- Color: Azul
- Tamaño: Grande
- Tipo de artículo: Camiseta
El llenado de ranuras es el proceso de utilizar estas entidades extraídas para completar la información necesaria para un tarea determinado. En este ejemplo, el copiloto reconoce tema como una orden y completa los espacios requeridos con las entidades extraídas. El copiloto es capaz de comprender la solicitud del usuario sin hacer más preguntas, agilizando la interacción.
La extracción de entidades y el llenado de espacios permiten a los copilotos gestionar consultas complejas de forma más eficaz, proporcionando respuestas precisas y contextualmente relevantes y mejorando la experiencia del usuario.
Más información:
Integración con Azure CLU Microsoft Copilot Studio
La integración de un modelo CLU con un copiloto puede mejorar significativamente las capacidades del copiloto. Copilot Studio Esta integración involucra las intenciones de Azure CLU en Copilot Studio temas, lo que permite al copiloto comprender y responder a las intenciones del usuario con mayor precisión. Además, las entidades preconstruidas se pueden usar junto con las entidades de Azure CLU, lo que proporciona un marco sólido para la extracción de entidades. Copilot Studio
Al considerar esta integración, es importante evaluar si su carga de trabajo de aplicación inteligente requiere Azure CLU. Por ejemplo, Azure CLU admite más idiomas, diccionarios específicos de la industria y extracción de entidades complejas, lo que podría ser esencial para su aplicación. Las extracciones de entidades personalizadas con Azure CLU también pueden habilitar el llenado de espacios silencioso o "afortunado", lo que permite al copiloto manejar escenarios como la identificación de ciudades de origen y destino en una sola frase sin hacer preguntas de seguimiento.
Otro aspecto importante es garantizar que las cuotas y límites del servicio CLU de Azure alinear coincidan con el uso de su copiloto. Por ejemplo, si anticipa menos de 1000 llamadas que requieren reconocimiento de intención por minuto, puede configurar Azure CLU usando el nivel S. Esta configuración garantiza que su copiloto pueda manejar la carga de trabajo esperada sin exceder los límites de servicio ni incurrir en costos inesperados.
Más información:
- Descripción general de la integración de Azure CLU
- Idiomas compatibles con Azure CLU
- Límites de la CLU de Azure
- Precios de Azure CLU
Consideraciones para las estructuras tema
Estructurar los temas de manera efectiva es importante para crear conversaciones naturales y fluidas. Los temas son rutas de conversación discretas que, cuando se combinan, permiten a los usuarios interactuar con el copiloto sin problemas. A continuación se presentan algunas consideraciones clave para diseñar estructuras tema:
Temas basados en activadores: estos temas se activan en función de las expresiones del usuario y sirven como puntos de entrada. Define frases Gatillo claras para estos temas. Si las frases Gatillo se superponen en varios temas, considere implementar un tema general que pueda redirigir al tema apropiado después de hacer preguntas aclaratorias. Con la extracción de entidades y el llenado de espacios, estas preguntas aclaratorias se pueden omitir si ya se proporcionó la información necesaria.
Temas basados en redireccionamiento: estos temas se activan mediante acciones, actividades o eventos de redireccionamiento y pueden ser llamados por muchos otros temas. Deben diseñarse para ser reutilizables y modulares, con variables de entrada y salida para facilitar una integración perfecta en diversas rutas de conversación.
Temas de doble activación: algunos temas pueden activarse mediante el reconocimiento de intención o mediante una redirección explícita. Esta flexibilidad permite conversaciones más dinámicas y receptivas.
Refuerzo y respaldo conversacional: cree temas de respaldo para situaciones en las que la consulta del usuario no active ningún tema coincidente. Estos temas pueden ofrecer respuestas genéricas o sugerir temas relevantes para mantener el flujo de la conversación.
Enfoque de diseño:
Temas personalizados para escenarios clave: Desarrolle algunos temas personalizados para escenarios clave con frases Gatillo y redirecciones relevantes. Utilice una estructura padre-hijo tema para gestionar interacciones complejas. Para las intenciones no reconocidas, implementar respuestas generativas y mecanismos de respaldo.
Temas de desambiguación: planifique utilizar temas de desambiguación para operaciones que requieran preguntas aclaratorias. Por ejemplo, las operaciones de la cuenta de usuario podrían necesitar una aclaración sobre el tipo de operación (por ejemplo, crear, desbloquear, suspender) y el sistema involucrado (por ejemplo, SAP, ServiceNow, Microsoft).
Evitar la duplicación: para evitar la duplicación de contenido, cree temas reutilizables para las rutas de diálogo que necesiten repetirse. Estos temas reutilizables pueden ser llamados por un elemento primario tema y, una vez completado, la conversación puede reanudar la lógica elemento primario tema's.
Más información:
Manejo de intenciones no reconocidas
La gestión eficaz de intenciones no reconocidas garantiza una experiencia de usuario fluida. Las intenciones no reconocidas ocurren cuando el copiloto no comprende un enunciado del usuario y no tiene la confianza suficiente para Gatillo un tema existente. A continuación se ofrecen algunas sugerencias para gestionar estas situaciones:
Gestión de intenciones no reconocidas: inicialmente, dirija las intenciones no reconocidas al potenciador conversacional tema del sistema, que busca respuestas en sitios web públicos y recursos corporativos como SharePoint sitios. Si no se encuentra información relevante, el sistema puede volver a una experiencia similar a ChatGPT mediante un mensaje de sistema personalizado con el modelo Azure OpenAI GPT-4. Este enfoque garantiza que los usuarios reciban respuestas útiles incluso cuando las consultas no son planificadas.
Integración con sistemas externos: considere si está integrando con sistemas externos como parte de su estrategia de respaldo. Por ejemplo, la integración con el modelo GPT-4 de Azure mediante solicitudes HTTP para proporcionar una experiencia compatible similar a ChatGPT. OpenAI
Monitoreo del uso del recurso de respaldo: revise periódicamente el porcentaje de conversaciones que llegan al recurso de respaldo. Utilice estos conocimientos para enriquecer temas existentes o crear otros nuevos, garantizando que el copiloto mejore continuamente su comprensión y sus capacidades respuesta.
tema alternativo y respuestas generativas: El recurso alternativo tema del sistema se activa cuando no se identifica ningún tema coincidente. Si las Respuestas generativas están habilitadas, el refuerzo conversacional tema se activa primero en eventos de intención desconocidos, seguido por tema alternativo según sea necesario. Este enfoque en capas ayuda a gestionar de forma eficaz las intenciones no reconocidas.
Utilice el refuerzo y la reserva conversacionales: utilice Respuestas generativas para buscar en varias fuentes de datos o integrarlas con otros sistemas como Azure Cognitive Service for Language. Este servicio puede gestionar grandes volúmenes de pares de preguntas y respuestas e incluye un modelo de chat para preguntas aleatorias.
Escenarios principales y temas personalizados: asegúrese de que los escenarios y temas principales estén bien definidos y se manejen a través de temas personalizados. Definir claramente los resultados de estos temas para mantener un flujo de conversación estructurado y eficiente.
Localización e idiomas
Al crear un copiloto, tenga en cuenta los idiomas y mercados que su carga de trabajo de aplicación inteligente debe soportar. La localización y el soporte de idiomas son factores críticos para garantizar que la carga de trabajo de su aplicación inteligente satisfaga las necesidades de diversas bases de usuarios. A continuación se sugieren algunos enfoques:
Un copiloto por idioma: este enfoque implica crear un copiloto independiente para cada idioma. Asegura que cada copiloto esté completamente optimizado para su lenguaje específico; sin embargo, mantener varios copilotos puede requerir muchos recursos.
Un copiloto para varios idiomas (traducciones configuradas): con este enfoque, un solo copiloto admite varios idiomas y las traducciones se proporcionan como parte de la configuración del copiloto. Este enfoque requiere actualizar las traducciones cada vez que se actualiza el copiloto o se agrega contenido nuevo. Ofrece un equilibrio entre la eficiencia de los recursos y el soporte lingüístico, pero requiere una gestión cuidadosa de las actualizaciones de traducción.
Un copiloto para varios idiomas (traducciones en tiempo real): este método utiliza un copiloto de retransmisión para proporcionar traducciones en tiempo real en tiempo de ejecución. Permite una implementación rápida de más idiomas y reduce la necesidad de actualizaciones de traducción frecuentes. Sin embargo, introduce una dependencia del copiloto de retransmisión y una traducción en tiempo real capa, como Azure Service Copilot y Azure Cognitive Services Translator.
Consideraciones clave:
Idiomas y mercados: Los idiomas y mercados que su copiloto debe soportar influyen en su estrategia de localización.
Copiloto único o multilingüe: decida si desarrollará un único copiloto que admita varios idiomas o copilotos separados para cada idioma. Esta decisión depende de factores como la disponibilidad de recursos, las capacidades de mantenimiento y la complejidad de los lenguajes involucrados.
Tiempo de traducción: considere si las traducciones deben establecerse durante la fase de configuración o proporcionarse en tiempo real en el tiempo de ejecución. Las traducciones configuradas ofrecen estabilidad y control, mientras que las traducciones en tiempo real brindan flexibilidad y una implementación rápida.
Más información: