Compartir vía


Opciones de reconocimiento de intenciones y extracción de entidades para las cargas de trabajo de aplicaciones inteligentes

El reconocimiento de intenciones y la extracción de entidades son componentes clave de la 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 agente a comprender qué acción debe realizarse en función de la solicitud del usuario.

La extracción de entidades implica identificar y extraer información específica 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 "Reserve un vuelo a Nueva York el 15 de septiembre", "Nueva York" y "15 de septiembre" son entidades.

Un agente usa la intención para comprender el objetivo del usuario y las entidades para identificar los detalles específicos necesarios para completar la tarea. Por lo tanto, el reconocimiento de intenciones y la extracción de entidades permiten que el agente proporcione respuestas precisas y eficientes a las consultas de los usuarios.

Al diseñar la carga de trabajo de la aplicación inteligente, debe elegir la mejor opción para el reconocimiento de intenciones y la extracción de entidades a fin de garantizar que la carga de trabajo de la aplicación inteligente proporcione una experiencia de usuario positiva.

Definiciones

Término Definición
NLU La comprensión del lenguaje natural es un subconjunto del procesamiento del lenguaje natural en la IA que se centra en la comprensión lectora por parte de la máquina.
CLU La comprensión del lenguaje conversacional es una característica de la IA Azure que permite la creación de modelos de NLU personalizados.
LLM Un modelo de lenguaje grande es un tipo de modelo de IA diseñado para comprender y generar lenguaje humano.
GPT El transformador preentrenado generativo se refiere a una familia de modelos de lenguaje grandes que utilizan la arquitectura del transformador para comprender y generar texto similar al humano.
Encadenamiento dinámico El encadenamiento dinámico es un método de automatización de desencadenadores para acciones generativas. En lugar de definir manualmente todos los temas o frases desencadenantes posibles, el encadenamiento dinámico permite a la IA determinar qué temas o acciones de complementos deben llamarse en función del contexto de la conversación.

Elegir la opción adecuada para el reconocimiento de intenciones y la extracción de entidades en la carga de trabajo de aplicaciones inteligentes implica varias consideraciones clave:

  • Entidades precompiladas frente a entidades personalizadas: evalúe si las entidades precompiladas proporcionadas por Microsoft Copilot Studio satisfacen sus necesidades. Las entidades precompiladas cubren tipos de información comunes como fechas, números y nombres. Si la aplicación requiere conocimientos específicos del dominio, es posible que tenga que crear entidades personalizadas.

  • Complejidad de las entradas de usuario: tenga en cuenta la complejidad y variabilidad de las entradas de 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).

  • Llenado de espacios: determine si su aplicación requiere un relleno proactivo de espacios, donde el agente busca y completa activamente la información que falta de 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: tenga en cuenta la facilidad de mantenimiento y actualización de las entidades. Las entidades precompiladas son más fáciles de administrar, mientras que las entidades personalizadas requieren ajustes continuos a medida que evoluciona la aplicación.

Elija entre el estándar NLU, Azure CLU o el encadenamiento dinámico

En Copilot Studio, el desencadenamiento de temas o acciones se puede lograr utilizando el modelo estándar NLU, combinándolo o anulándolo con un modelo Azure CLU 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 Azure CLU personalizado Encadenamiento dinámico
Pro Modelo predeterminado y listo para usar que viene preentrenado, con muchos tipos de entidad predefinidos.

La configuración se realiza agregando frases desencadenadoras 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 del sector.

Permite la extracción de entidades complejas (por ejemplo, del mismo tipo).

La extracción de entidades también puede utilizar NLU estándar de Copilot Studio.
Utiliza un modelo de lenguaje GPT de gran tamaño y viene preentrenado 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 se realiza mediante la descripción de temas, acciones de complementos, entradas y salidas.
Con Reconocimiento de intención única por consulta.

No se puede ampliar. No se puede modificar el comportamiento del modelo ni ajustarlo. Se proporciona tal cual.

Al rellenar varios espacios de entidades del mismo tipo, la misma consulta requiere desambiguación para cada una (por ejemplo, desde y hacia ciudades).
Reconocimiento de intención única por consulta.

La configuración se realiza en Azure con costo adicional.

Tiene sus propios límites de servicio que deben evaluarse.

Los intentos de Azure CLU y los temas de Copilot Studio deben mantenerse cuidadosamente sincronizados.
Al tratarse de una función de IA generativa, la tasa de quema de licencias de los mensajes es mayor que la de la activación de temas normal.

Frases desencadenantes y llenado de espacios

Al desarrollar cargas de trabajo de aplicaciones inteligentes, utilice capacidades nativas para mejorar el reconocimiento de intenciones y agilizar las conversaciones. Comience por identificar las frases desencadenantes del tema de las bases de datos de preguntas frecuentes existentes y las transcripciones de chat para asegurarse de que las frases anticipadas sean relevantes y precisas. Piense en cómo usará las entidades; Por ejemplo, si usará expresiones regulares para buscar id. de pedido, entidades precompiladas para correos electrónicos o listas cerradas para tipos de operaciones con sinónimos. Planifique también cómo probará los desencadenadores de temas con frases de muestra para validar y perfeccionar la precisión de los procesos de reconocimiento de intenciones y extracción de entidades. Más información en Consideraciones sobre la implantación y las pruebas.

Frases desencadenadoras

Las frases desencadenadoras entrenan el modelo NLU del agente. Ayudan al agente a reconocer y responder con precisión a las expresiones de los usuarios mediante la definición de frases específicas que desencadenan temas particulares. La configuración adecuada de estas frases desencadenantes garantiza que el agente pueda identificar correctamente la intención del usuario y responder adecuadamente. Cuando el agente no está seguro de qué tema desencadenar, puede sugerir hasta tres posibles candidatos a temas (tema del sistema con varios temas coincidentes) o recurrir a una respuesta predeterminada si no se identifica ningún tema. Este mecanismo ayuda a mantener el flujo de la conversación y garantiza que el agente pueda manejar una amplia gama de entradas de usuario de manera efectiva.

Extracción de entidades y llenado de ranuras

La extracción de entidades y el llenado de ranuras son componentes importantes en el desarrollo de agentes efectivos. Estos procesos permiten al agente adquirir y utilizar información de manera eficiente mediante la identificación y extracción de detalles relevantes de las consultas de los usuarios.

La extracción de entidades implica analizar la entrada del usuario para identificar información específica. Por ejemplo, en la consulta «Me gustaría pedir tres camisetas azules grandes», el modelo NLU del agente debe extraer las siguientes entidades:

  • Cantidad: 3
  • Color: azul
  • Tamaño: grande
  • Tipo de artículo: camiseta

El llenado de huecos es el proceso de usar estas entidades extraídas para completar la información necesaria para una tarea determinada. En este ejemplo, el agente reconoce el tema como un pedido y rellena los espacios requeridos con las entidades extraídas. El agente es capaz de entender 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 agentes manejar consultas complejas de manera más efectiva, proporcionando respuestas precisas y contextualmente relevantes y mejorando la experiencia del usuario.

Más información:

Integración de Microsoft Copilot Studio con Azure CLU

La integración de un modelo CLU con un agente de Copilot Studio puede mejorar significativamente las capacidades del agente. Esta integración implica asignar las intenciones de CLU Azure a temas de Copilot Studio, lo que permite que el agente comprenda y responda a las intenciones del usuario con mayor precisión. Además, las entidades precompiladas de Copilot Studio se pueden usar junto con entidades CLU Azure, lo que proporciona un marco sólido para la extracción de entidades.

Al considerar esta integración, es importante evaluar si la carga de trabajo de su 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 puede ser esencial para su aplicación. Las extracciones de entidades personalizadas con Azure CLU también pueden habilitar el llenado de espacios silenciosos o "afortunados", lo que permite al agente manejar escenarios como identificar ciudades de origen y destino en una sola frase sin hacer preguntas de seguimiento.

Otro aspecto importante es asegurarse de que las cuotas y los límites del servicio Azure CLU se alineen con el uso de su agente. Por ejemplo, si prevé menos de 1000 llamadas que requieren reconocimiento de intención por minuto, puede configurar Azure CLU con el nivel S. Esta configuración garantiza que su agente pueda manejar la carga de trabajo esperada sin exceder los límites de servicio ni incurrir en costos inesperados.

Más información:

Consideraciones sobre las estructuras de temas

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 agente sin problemas. Estas son algunas consideraciones clave para diseñar estructuras temáticas:

  • Temas basados en desencadenadores: estos temas se activan en función de las expresiones del usuario y sirven como puntos de entrada. Defina frases desencadenantes claras para estos temas. Si las frases desencadenantes se superponen en varios temas, considere la posibilidad de implementar un tema general que pueda redirigir al tema adecuado después de hacer preguntas aclaratorias. Con la extracción de entidades y el llenado de ranuras, estas preguntas aclaratorias se pueden omitir si ya se proporciona la información necesaria.

  • Temas basados en redireccionamientos: 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 varias rutas de conversación.

  • Temas de doble desencadenamiento: algunos temas pueden activarse mediante el reconocimiento de intenciones o mediante una redirección explícita. Esta flexibilidad permite conversaciones más dinámicas y receptivas.

  • Refuerzo y reserva conversacional: cree temas alternativos para situaciones en las que la consulta del usuario no desencadene 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 desencadenadoras y redireccionamientos relevantes. Utilice una estructura de temas primarios y secundarios para administrar interacciones complejas. Para intenciones no reconocidas, implemente respuestas generativas y mecanismos alternativos.

  • Temas de desambiguación: planifique el uso de temas de desambiguación para operaciones que requieran preguntas aclaratorias. Por ejemplo, las operaciones de cuentas de usuario pueden necesitar aclaraciones 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 deben repetirse. Estos temas reutilizables pueden ser llamados por un tema principal y, una vez completados estos, la conversación puede reanudar la lógica del tema principal.

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 se producen cuando el agente no entiende una expresión del usuario y carece de la confianza suficiente para activar un tema existente. Estas son algunas sugerencias para controlar estos escenarios:

  • Administración de intenciones no reconocidas: en primer lugar, dirija las intenciones no reconocidas al tema del sistema de potenciación conversacional, que busca respuestas en sitios web públicos y recursos corporativos como sitios SharePoint. Si no se encuentra información relevante, el sistema puede recurrir a una experiencia similar a ChatGPT utilizando un mensaje personalizado del sistema con el modelo OpenAI GPT-4 de Azure. Este enfoque garantiza que los usuarios reciban respuestas útiles incluso cuando las consultas no están planeadas.

  • Integración con sistemas externos: considere si está integrando con sistemas externos como parte de su estrategia de reserva. Por ejemplo, la integración con el modelo Azure OpenAI GPT-4 mediante solicitudes HTTP para proporcionar una experiencia similar a ChatGPT compatible.

  • Monitoreo del uso de alternativas: revisa periódicamente el porcentaje de conversaciones que utilizan el sistema alternativo. Utilice esta información para enriquecer los temas existentes o crear otros nuevos, asegurándose de que el agente mejore continuamente sus capacidades de comprensión y respuesta.

  • Tema alternativo y respuestas generativas: El tema del sistema alternativo se activa cuando no se identifica ningún tema coincidente. Si las respuestas generativas están habilitadas, el tema de potenciación conversacional se activa primero en eventos de intención desconocidos, seguido del tema alternativo según sea necesario. Este enfoque por capas ayuda a administrar eficazmente las intenciones no reconocidas.

  • Usar refuerzo conversacional y alternativas: utilice respuestas generativas para buscar varios orígenes de datos o integrarlas con otros sistemas como Azure Cognitive Service for Language. Este servicio puede manejar grandes volúmenes de pares de preguntas y respuestas e incluye un modelo de charla para preguntas aleatorias.

  • Escenarios principales y temas personalizados: asegúrese de que los escenarios y temas principales estén bien definidos y se controlen a través de temas personalizados. Defina claramente los resultados de estos temas para mantener un flujo de conversación estructurado y eficiente.

Localización e idiomas

Al crear un agente, tenga en cuenta los lenguajes y mercados que debe admitir la carga de trabajo de su aplicación inteligente. La localización y la compatibilidad con idiomas son factores críticos para garantizar que la carga de trabajo de sus aplicaciones inteligentes satisfaga las necesidades de diversas bases de usuarios. Estos son algunos enfoques sugeridos:

  • Un agente por idioma: este enfoque implica la creación de un agente independiente para cada idioma. Garantiza que cada agente esté totalmente optimizado para su idioma específico; Sin embargo, mantener varios agentes puede requerir una gran cantidad de recursos.

  • Un agente para varios idiomas (traducciones configuradas): con este enfoque, un único agente admite varios idiomas, con traducciones proporcionadas como parte de la configuración de agente. Este enfoque requiere actualizar las traducciones cada vez que se actualiza el agente o se agrega contenido nuevo. Ofrece un equilibrio entre la eficiencia de los recursos y la compatibilidad con el idioma, pero requiere una gestión cuidadosa de las actualizaciones de la traducción.

  • Un agente para varios idiomas (traducciones en tiempo real): este método utiliza un agente de relé para proporcionar traducciones en tiempo real en tiempo de ejecución. Permite la implementación rápida de más idiomas y reduce la necesidad de actualizaciones frecuentes de la traducción. Sin embargo, introduce una dependencia en el agente de retransmisión y en una capa de traducción en tiempo real, como Azure Service Copilot y Azure Cognitive Services Translator.

Consideraciones clave:

  • Idiomas y mercados: los idiomas y mercados que debe admitir su agente influyen en su estrategia de localización.

  • Agente único vs. plurilingüe: decida si desea desarrollar un único agente que admita varios idiomas o agentes independientes para cada idioma. Esta decisión depende de factores como la disponibilidad de recursos, las capacidades de mantenimiento y la complejidad de los idiomas involucrados.

  • Tiempo de traducción: tenga en cuenta si las traducciones deben definirse durante la fase de configuración o proporcionarse en tiempo real en tiempo de ejecución. Las traducciones configuradas ofrecen estabilidad y control, mientras que las traducciones en tiempo real proporcionan flexibilidad y una rápida implementación.

Más información: