Diseñar reconocimiento del lenguaje eficaz

La comprensión del lenguaje natural (NLU) es fundamental para que los agentes de Copilot Studio comprendan las consultas de los usuarios y proporcionen respuestas relevantes y contextuales. Un enfoque bien definido para el reconocimiento de intenciones, la extracción de entidades y la gestión de casos de respaldo garantiza que los agentes ofrezcan conversaciones eficientes y naturales que se alineen con las necesidades empresariales.

Cuando un usuario introduce algo a un agente, se conoce como un enunciado. El agente necesita descomponer ese enunciado en intención y entidades, para que la respuesta del agente resulte natural y eficiente.

¿Qué es Language Understanding?

La comprensión del lenguaje (LU) es un subcampo del Procesamiento del Lenguaje Natural (PLN) enfocado en habilitar a las máquinas para comprender el significado, la intención y el contexto del lenguaje humano.

Diagrama que ilustra el proceso de comprensión de lenguaje.

Diagrama que muestra cómo se desglosa el mensaje del usuario en intención y entidades. Una persona escribe: "Quiero reservar un vuelo a París la semana que viene." El mensaje se etiqueta como un enunciado. La frase "quiero reservar un vuelo" se identifica como la intención, y "París" y "la próxima semana" se identifican como entidades. Luego, el sistema solicita más detalles como la ciudad de origen y la clase de viaje. El diagrama ilustra cómo el agente utiliza la intención, las entidades y el contexto para determinar la mejor respuesta.

La comprensión del lenguaje conlleva:

  • Reconocimiento de intención: Identificar lo que el usuario quiere lograr (por ejemplo, "Reservar un vuelo a París la próxima semana" corresponde a la intención de reservar un vuelo).
  • Extracción de entidades: Extraer detalles clave como fechas, ubicaciones o nombres (por ejemplo, "París" como destino, "la próxima semana" como fecha de viaje).
  • Sensibilidad al contexto: Mantener la continuidad y resolver ambigüedades en la conversación (por ejemplo, entender pronombres o referencias).
  • Resolución de ambigüedades: Utilizar el contexto para resolver palabras con múltiples significados (por ejemplo, "banco" como institución financiera u orilla de río).

Comprensión del lenguaje en Copilot Studio

Copilot Studio tiene un modelo flexible para la comprensión del lenguaje, con múltiples opciones de configuración.

Orquestación generativa

La orquestación generativa utiliza modelos de lenguaje para encadenar inteligentemente temas, acciones y conocimientos. Esta capacidad permite el reconocimiento de varias intenciones, la extracción avanzada de entidades y la generación dinámica de planes para consultas complejas.

Este método es el predeterminado para Copilot Studio. Este enfoque reconoce múltiples intenciones o temas en una sola frase, encadena automáticamente acciones y fuentes de conocimientos, y genera respuestas unificadas. Es especialmente útil para gestionar conversaciones complejas que abarcan varias áreas de negocio. La orquestación generativa tiene límites, como cinco mensajes por tema o cadena de acciones, y 128 temas o acciones por orquestación, pero ofrece una forma poderosa de ampliar la cobertura conversacional.

Más información en Aplicar capacidades de orquestación generativa.

Orquestación clásica

La orquestación clásica utiliza frases desencadenadoras y enrutamiento determinista de temas. Si el enunciado de un usuario coincide con una frase desencadenadora, se ejecuta el tema correspondiente. Si no hay coincidencia, los mecanismos de respaldo consultan fuentes de conocimientos o solicitan al usuario que aclare.

NLU integrada

Este enfoque era el predeterminado, pero ahora es el enfoque de respaldo. Copilot Studio ofrece un modelo NLU listo para usar que admite frases desencadenadoras, entidades predefinidas y entidades personalizadas. Este modelo permite que los agentes identifiquen la intención del usuario y extraigan detalles clave como fechas, destinos o cantidades directamente de una consulta.

NLU+

Para mayor precisión, utiliza la opción NLU+. La opción NLU+ es ideal para aplicaciones grandes de nivel empresarial. Este tipo de aplicaciones suelen consistir en un gran número de temas y entidades, y utilizan un gran número de muestras de entrenamiento. Además, si tiene un agente habilitado para voz, sus datos de entrenamiento NLU+ también se utilizan para optimizar sus capacidades de reconocimiento de voz.

Integración de la CLU de Azure

Para escenarios más avanzados donde no puede usar la orquestación generativa predeterminada, puede integrar Azure Conversational Language Understanding (CLU). CLU ofrece una mayor personalización, soporte multilingüe y extracción de entidades complejas (por ejemplo, múltiples entidades "de"). Debes asignar las intenciones de CLU a los temas de Copilot Studio para mantenerlos sincronizados. Esta opción es especialmente valiosa para vocabularios específicos del sector, idiomas no ingleses o situaciones que requieren mayor precisión.

Características y limitaciones clave

Esta tabla compara los tres enfoques de comprensión del lenguaje en Copilot Studio. Destaca sus características clave y limitaciones para ayudarte a elegir el modelo adecuado según la complejidad, escala y precisión que requiera tu agente.

Características y limitaciones Orquestación generativa Modelo NLU integrado Modelo Azure CLU personalizado
Características clave
  • Usa un modelo de lenguaje de gran tamaño
  • Maneja enunciados complejos con múltiples intenciones, temas/acciones y conocimientos
  • Genera automáticamente preguntas para entradas faltantes
  • Permite correcciones mientras se ejecuta
  • Produce una respuesta unificada basada en las salidas de los temas, acciones y conocimiento
  • Modelo preentrenado predeterminado con tipos de entidad predefinidos
  • Configurado mediante frases desencadenadoras y entidades personalizadas (listas cerradas o expresiones regulares)
  • Admite más idiomas con modelos nativos
  • Modelo personalizable de activación de intención para precisión o necesidades específicas de la industria
  • Extracción avanzada de entidades (p. ej., del mismo tipo, extracción silenciosa)
  • La extracción de entidades puede utilizar el NLU estándar de Copilot Studio
Límites
  • Cinco mensajes por cadena de temas/acciones
  • Límite de 128 temas y acciones para desencadenar
  • Reconocimiento de intención única por consulta
  • No se puede ampliar
  • El llenado de espacios de varias entidades del mismo tipo requiere desambiguación
  • Reconocimiento de intención única por consulta
  • Configuración basada en Azure y costes adicionales
  • Tiene límites de servicio de Azure
  • Las intenciones de Azure CLU y los temas de Copilot Studio deben mantenerse cuidadosamente sincronizados.

Más información en Descripción general de la comprensión del lenguaje natural (NLU).

Estructura de temas y alternativa

Los temas han pasado de un camino rígido basado en intenciones a un enfoque más flexible centrado en la orquestación. En lugar de depender únicamente de desencadenadores y rutas predefinidos, los temas ahora funcionan como instrucciones modulares a las que el agente puede recurrir para orquestar una conversación. La orquestación generativa gestiona la mayor parte del enrutamiento interpretando dinámicamente la entrada del usuario, y los temas proporcionan un respaldo estructurado cuando se necesita precisión.

El diseño de temas estructurados más tradicional permite que las conversaciones se sientan naturales y eficientes. Los temas pueden ser puntos de entrada activados por enunciados del usuario o subtemas reutilizables invocados por redirecciones o eventos del sistema. Los temas de desambiguación ayudan a evitar confusiones cuando se pueden desencadenar varios temas, mientras que los temas de alternativa y acelerador de conversación proporcionan redes de seguridad cuando el agente no puede hacer coincidir la intención con confianza. También puedes añadir respuestas generativas para obtener información de fuentes de conocimientos externas, asegurando que los usuarios rara vez se queden sin una respuesta.

Más información en Seguir los procedimientos recomendados de creación de temas.

Localización e idiomas

El idioma utilizado por un agente de Copilot Studio está determinado por el valor de la variable del sistema: System.User.Language.

Esta variable actúa como el control central para todo el comportamiento relacionado con el idioma en el agente. Puedes establecer su valor manualmente, de forma programática o detectarlo automáticamente.

¿Cómo funciona?

  • Buscar fuentes de conocimientos en el idioma del usuario: Copilot Studio utiliza el valor de System.User.Language para buscar fuentes de conocimientos en el idioma especificado. Este enfoque significa que, incluso si un usuario hace una pregunta en un idioma, el agente traduce la consulta de búsqueda al idioma configurado en System.User.Language (traducción automática de la consulta de búsqueda).

  • Responde en el idioma del usuario: El agente genera respuestas en el idioma especificado por System.User.Language, independientemente del idioma usado en la pregunta o de los documentos originales (traducción automática para la generación de respuestas).

  • Anulación manual: Puede establecer manualmente el valor de System.User.Language para forzar al agente a operar en un idioma específico. Esta característica es útil para pruebas o para escenarios en los que se debe controlar explícitamente el idioma. Más información en Configurar y crear agentes plurilingües.

Detección automática de idioma hablado

Puedes configurar Copilot Studio para detectar automáticamente el idioma hablado o escrito del usuario y establecer la variable System.User.Language según corresponda. Esta característica permite experiencias multilingües fluidas sin que los usuarios tengan que especificar su idioma preferido.

Cómo funciona la autodetección

  • Detección basada en disparadores: Cuando el bot recibe un mensaje, un disparador inicia un flujo de detección de idioma.
  • Establecer la variable del sistema: El bot asigna el idioma detectado a System.User.Language.
  • Respuesta dinámica: El agente continúa la conversación en el idioma detectado, buscando información y generando respuestas en ese idioma.

Prestaciones

  • Experiencia personalizada: Los usuarios interactúan en su idioma preferido sin necesidad de configuración manual.
  • Experiencia consistente: Todas las respuestas y búsquedas de conocimiento se alinean con el idioma detectado o configurado.
  • Solución escalable: Admite despliegues globales con configuración mínima.

Sugerencia

Revisa la solución de ejemplo que demuestra cómo habilitar a los agentes de Copilot Studio para detectar automáticamente el idioma hablado por el usuario y cambiar a uno de los idiomas aprobados por el creador del agente en Auto Detect Language for Generative Responses.

Procedimientos recomendados para localización

  • Configura los idiomas compatibles: Define los idiomas principales y secundarios para tu agente. Utiliza archivos de localización (JSON o ResX) para proporcionar traducciones de indicaciones, mensajes y temas.
  • Prueba escenarios multilingües: Simula interacciones de usuario en diferentes idiomas para asegurar transiciones suaves y respuestas precisas.
  • Utiliza la traducción automática: Confía en la traducción integrada de Copilot Studio para la búsqueda de artículos de conocimientos y la generación de respuestas, pero proporciona traducciones personalizadas para contenido crítico o matizado.
  • Supervisa y refina: Usa análisis para rastrear el uso del idioma y mejorar la cobertura de localización a lo largo del tiempo.

Enfoques del lenguaje de los agentes de Copilot Studio:

  • Agentes separados por idioma.
  • Agentes multilingües únicos con traducciones creadas previamente.
  • Agentes multilingües en tiempo real, utilizando servicios de traducción entre usuario y agente.

El enfoque adecuado depende del uso, las preocupaciones sobre la separación, la escala, la frecuencia de actualización y los recursos disponibles.

Desafíos técnicos identificados

Los desafíos típicos incluyen garantizar que los temas de Azure CLU y Copilot Studio permanezcan sincronizados, gestionar enunciados ambiguos y escalar despliegues multilingües. La identificación temprana de estos obstáculos te permite planificar estrategias de mitigación, como configuraciones de fallback, pruebas masivas de frases desencadenadoras o servicios de traducción basados en relé.

El objetivo de la comprensión del lenguaje es garantizar que cada agente pueda interpretar las consultas de los usuarios con precisión, adaptarse a diversos lenguajes y escenarios, y manejar con elegancia lo inesperado. Este objetivo crea una base sólida para construir conversaciones fiables, atractivas y eficientes en Copilot Studio.