Usar entidades y llenado de ranuras en agentes

Una parte significativa de las conversaciones del agente en Copilot Studio es la comprensión del lenguaje natural, que es la capacidad de la inteligencia artificial para comprender la intención de un usuario. Por ejemplo, un cliente podría decir "He intentado usar mi tarjeta de regalo, pero no funciona". El agente enruta al cliente al tema relacionado con tarjetas de regalo que no funcionan, incluso si esa frase exacta no aparece como una frase de desencadenador.

Un aspecto fundamental del reconocimiento del lenguaje natural es identificar las entidades que se utilizan en un cuadro de diálogo de usuario.

Una entidad es una unidad de información que representa un cierto tipo de sujeto del mundo real. Los ejemplos incluyen un número de teléfono, un código postal, una ciudad o el nombre de una persona. Con el conocimiento concedido por entidades, un agente puede reconocer información relevante de una entrada de usuario y guardarla para su uso posterior.

Entidades precompiladas

Las entidades de los agentes de chat le permiten almacenar información en grupos similares.

Copilot Studio admite un conjunto de entidades precompiladas, que representan los tipos de información más usados en cuadros de diálogo del mundo real, como la edad, los colores, los números y los nombres. Vamos a usar la entidad Money como ejemplo.

  1. Abra un agente en Copilot Studio, seleccione Settings en la parte superior de la página y seleccione Entities. Aparece una lista de las entidades disponibles.

  2. Seleccione Dinero. Se abre el panel de detalles de la entidad. Ves una explicación de esta entidad y de las formas en que puede usarse para extraer información relacionada con dinero o moneda a partir de la entrada del usuario.

    Por ejemplo, cuando un usuario responde a "Cuesta 1000 dólares" a una pregunta de un nodo Pregunta configurado para recopilar esta entidad, el agente reconoce que "1000 dólares" corresponde al tipo de dinero de información. Cuando el agente extrae esta información y la guarda en una variable, guardará "1000" como un número, aunque la información circundante sea texto.

Entidades personalizadas

Las entidades precompiladas abarcan tipos de información usados habitualmente. Ocasionalmente, como cuando construyes un agente que cumpla un propósito específico, puede que necesites enseñar al agente conocimientos específicos de modelos de comprensión lingüística.

Por ejemplo, supongamos que desea crear un agente para una tienda de excursionismo. En este caso, deberá enseñar al agente a reconocer la categoría "producto de equipos de excursionismo" en una conversación.

Primero, cree una entidad personalizada. En este caso, puede crear una entidad que le de al agente el conocimiento de todas las categorías de productos de excursionismo.

  1. Vaya a la página Configuración del agente y seleccione Entidades.

  2. Seleccione Agregar una entidad>Nueva entidad.

  3. Esto abre un panel donde puede elegir el tipo de entidad: ya sea una entidad Lista cerrada o una entidad Expresión regular (regex).

    Captura de pantalla de la ventana de creación de entidades, con sus opciones

Entidades de lista cerrada

Las entidades de lista cerrada le permiten definir una lista de elementos. Utiliza estas entidades para listas pequeñas que sean fáciles de gestionar y que tengan etiquetas de objetos sencillas. Si desea que el agente reconozca información específica del contexto que varía según el usuario o la sesión, y solo está disponible en tiempo de ejecución, use entidades de lista abierta.

  1. En Crear una entidad, seleccione Lista cerrada.

  2. En el panel que se abre, escriba un nombre para la nueva entidad, como Actividad de acampada.

  3. Agregue una descripción si lo desea.

  4. En Elementos de lista, introduzca los valores que desee asociar a esta entidad. Por ejemplo, senderismo y yoga.

    Como alternativa, puede cargar un archivo que muestre todos los valores que desea agregar para esta entidad.

    Al escribir valores, puede hacer lo siguiente:

    • Seleccione un valor y cámbielo.
    • Seleccione el icono de papelera junto a un valor que desea eliminar.
    • Seleccione Sinónimos (o seleccione los sinónimos existentes) junto a un valor para abrir el panel Editar sinónimos .

    Añade sinónimos para ampliar la lógica de coincidencia de cada valor de la lista. Por ejemplo, para senderismo, puede agregar senderismo y mountaineering como sinónimos.

    Captura de pantalla del panel

  5. Si lo desea, active la Coincidencia inteligente para esta entidad.

    La coincidencia inteligente es parte de la inteligencia respaldada por el modelo de reconocimiento del lenguaje del agente. Cuando la correspondencia inteligente está activa, el agente interpreta la entrada del usuario usando lógica difusa contra los valores indicados para la entidad.

    En particular, el agente corregirá automáticamente los errores ortográficos y expandirá su lógica de coincidencia semánticamente. Por ejemplo, el agente puede hacer coincidir automáticamente "softbol" con "béisbol".

  6. Después de terminar de crear o editar tu entidad, selecciona Guardar. Para descartar los cambios, seleccione Cerrar.

    Captura de pantalla del panel de detalles de la entidad de ejemplo

Cargar valores para una entidad de lista cerrada

En el panel de detalles de una entidad de lista cerrada, puede agregar o reemplazar el conjunto de valores y sinónimos asociados a la entidad.

  1. Prepare un archivo de texto (máximo de 3 MB) que muestre todos los valores que desee para la entidad, incluidos los sinónimos, si los hubiera. Use este formato: un valor por línea y use la barra vertical (|) como delimitador para sinónimos. Por ejemplo:

    hiking|trekking
    hiking|mountaineering
    yoga
    cycling|bicycling
    cooking
    
  2. En Enumerar elementos, seleccione cargar un archivo.

  3. En Cargar un archivo, seleccione la opción que desee:

    • Para agregar nuevos valores y sinónimos para la entidad, seleccione Anexar.
    • Para reemplazar todos los valores y sinónimos con la lista de su archivo, seleccione Reemplazar.
  4. Suelte el archivo en la ventana. Alternativamente, haz clic para explorar, ve a tu archivo y selecciónalo.

  5. Revise los valores y sinónimos que aparecen y seleccione Agregar.

Descargar valores para una entidad de lista cerrada

Desde el panel de detalles de una entidad de lista cerrada, puede descargar un archivo de texto que enumera el conjunto de valores y sinónimos asociados a la entidad.

  1. En Elementos de la lista, selecciona descargar.

  2. Guarde el archivo de texto resultante o ábralo en un editor de texto para revisar su contenido. Cada valor de entidad aparece en una línea independiente. Si un valor tiene varios sinónimos, aparecen en líneas separadas, como esta:

    hiking|trekking
    hiking|mountaineering
    

Entidades de expresión regular (RegEx)

Las entidades de expresiones regular (Regex) le permiten definir patrones lógicos que puede usar para buscar correspondencias con una entrada o extraer información de ella. Las entidades Regex son excelentes para la coincidencia de patrones complejos con la entrada del usuario. También son útiles si necesita permitir variaciones específicas en la forma en que un usuario puede formatear o escribir su entrada en una conversación.

Por ejemplo, puede usar entidades regex para identificar elementos como un id. de seguimiento, un número de licencia, un número de tarjeta de crédito o una dirección IP.

  1. En Crear una entidad, seleccione Expresión regular (regex).

  2. En el panel que se abre, escriba un nombre para la nueva entidad.

    Captura de pantalla del panel de detalles de una entidad regex.

  3. Agregue una descripción si lo desea.

  4. Escriba el patrón de expresión regular que se debe usar para buscar coincidencias y extraer elementos de entidad de la entrada.

    Copilot Studio NLU y CLU para la comprensión del lenguaje utilizan la sintaxis de expresiones regulares de .NET. NLU+ usa la sintaxis de expresiones regulares de JavaScript.

    De forma predeterminada, la búsqueda de patrón distingue mayúsculas y minúsculas. Para que no distinga entre mayúsculas y minúsculas, utilice la opción de expresión regular (?i) en su cadena de patrón. En el panel de entidades regex se incluyen algunos ejemplos básicos. Para obtener más información sobre la sintaxis y más ejemplos, vea Lenguaje de expresiones regulares: referencia rápida.

    Si necesitas que la expresión regular se adapte a múltiples patrones, utiliza el operador | de alternancia para concatenar expresiones regulares. Por ejemplo, puede combinar dos patrones regex para buscar tanto el formato antiguo como el nuevo de un código de id. de producto.

  5. Después de terminar de crear o editar tu entidad, selecciona Guardar. Para descartar los cambios, seleccione Cerrar.

Usar entidades en una conversación

Ahora que el agente conoce el equipo para actividades al aire libre basado en la entidad Actividad de acampada y otras entidades personalizadas que ha creado, puede empezar a utilizarlas en su agente.

  1. Vaya a la página Temas de su agente.

  2. Abra el tema de una entidad que desee recopilar.

  3. Seleccione el icono Agregar nodo y, a continuación, seleccione Formular una pregunta.

  4. En Identificar, seleccione la entidad que ha creado en Entidades personalizadas.

    Nodo de preguntas con selección de entidad.

  5. Opcionalmente, selecciona los objetos para mostrarlos como botones. Por ejemplo, si quieres mostrar algunas categorías como botones para que los usuarios elijan cómodamente como entrada, selecciona Seleccionar opciones para usuario y luego selecciona las opciones que quieras de la lista. Esta lista contiene los elementos que añadiste al crear la entidad personalizada.

    Captura de pantalla que muestra una selección de valores de entidad que se mostrarán como botones en tiempo de ejecución

  6. Renombra la variable que almacena la respuesta del usuario, si lo deseas.

Poner los literales de entidad y las puntuaciones de confianza a disposición de su agente

Es posible que quiera usar palabras exactas de la entrada del cliente con fines de auditoría o para enviar mensajes adicionales. Puede exponer literales para una entidad activando Incluir metadatos en las propiedades de reconocimiento de entidades del nodo Pregunta que recopila esta entidad.

Por ejemplo, al activar esta opción, el tipo de la variable StartDate que contiene la fecha de inicio que el usuario solicita para una actividad se convierte en registro (en lugar de fecha). StartDate.Literal contiene lo que dice el cliente (por ejemplo, "mañana") y StartDate.Value contiene la fecha correspondiente. Mediante el uso de estos elementos en un mensaje, puede hacer que el agente tenga una conversación como:

Pregunta del agente: "¿Cuándo quiere empezar?"

Respuesta del cliente: "mañana"

Mensaje del agente: "Muy bien, reservando para mañana (4/2/2026)."

Captura de pantalla de un nodo de Pregunta que recopila una fecha, seguido de un nodo de Mensaje con un mensaje que emplea tanto el texto literal como el valor de la entidad reconocida.

Si es probable que el agente encuentre una entrada de audio de mala calidad o ruido de fondo, es posible que el resultado del reconocimiento de voz y la comprensión del lenguaje no siempre sean confiables. Puede agregar lógica condicional basada en StartDate.ConfidenceScore para que el agente determine si el resultado es bueno, cuestionable o deficiente y, a continuación, lo acepte, solicite una aclaración o vuelva a solicitar una respuesta según corresponda.

Aceptar varios valores para una entidad en un turno de conversación

Puede configurar un nodo Pregunta para que acepte varios valores para la entidad que recopila, de modo que el agente pueda reconocer y extraer más de un valor para la misma entidad de una sola entrada de usuario. En lugar de devolver un valor único, el nodo Pregunta devuelve una colección de valores que puede usar en toda la conversación.

Al activar este comportamiento, el agente:

  • Identifica varios valores que coinciden con la entidad seleccionada.
  • Extrae cada valor de forma independiente
  • Almacena los resultados en una variable de tipo tabla.

Puede utilizar esta colección para realizar acciones como recorrer los valores o transformarlos para su procesamiento posterior. Esta funcionalidad es útil cuando los usuarios proporcionan varios elementos, preferencias o respuestas en una sola expresión.

Por ejemplo, si un usuario dice: "Tengo visados para India, Alemania y Japón", el agente reconoce cada país como un valor independiente y los almacena como una colección.

Para iterar sobre varios valores de entidad:

  1. Agregue un bucle a través de un nodo de lista .

  2. En Seleccionar elementos para recorrer en bucle, seleccione la variable del nodo Pregunta.

  3. Dentro del bucle, haga referencia al elemento actual para realizar acciones o generar respuestas. Por ejemplo, puede hacer lo siguiente:

    • Evaluación de condiciones para cada valor

    • Invocar una acción o un flujo

    • Generación de respuestas dinámicas

    • Use Power Fx para convertir la lista en un formato diferente. Por ejemplo, para crear una cadena separada por comas:

      Concat(Topic.Var1, Text(Value), ",")
      

Relleno de ranuras

El relleno de ranuras es un concepto de comprensión del lenguaje natural relacionado con guardar una entidad extraída en un objeto. En Copilot Studio, el relleno de ranuras significa colocar el valor de la entidad extraída en una variable. Para obtener más información sobre el tipo base de variable asociado a cada entidad precompilada, consulte Entidades.

Seguiremos usando el tema de las actividades de excursionismo como ejemplo, que se activa escribiendo "Quiero comprar algo" en el chat de prueba.

El tema se activa con éxito y el agente solicita el tipo de actividad, que también muestra las opciones de botón especificadas al crear el nodo Pregunta. Si activas la opción de seguir entre temas, el árbol de diálogo también muestra que el agente se está dirigiendo a este nodo Pregunta.

Captura de pantalla de las opciones de actividades de acampada en el panel de pruebas con el seguimiento entre temas activado.

Un cliente puede usar las opciones predefinidas seleccionando uno de los botones. Alternativamente, también pueden escribir algo como "trekking" y ver que se asigna a "senderismo", ya que esas palabras se definieron como sinónimos.

La vista de seguimiento muestra que el cuadro de diálogo se enruta correctamente a la ruta en la que el valor de la categoría del producto es "Senderismo".

El relleno de espacios se produce cuando el agente almacena el valor de entidad extraído "Senderismo" en la variable que contiene la respuesta del usuario en este nodo de pregunta (myActivity, en este escenario de ejemplo). Para ver cómo se llena la ranura en acción, observa los valores de tus variables mientras pruebas a tu agente. Aquí, la pestaña Prueba del panel Variables muestra que el valor de la variable es "Senderismo".

Captura de pantalla del panel Variables, con la pestaña Prueba seleccionada.

Relleno proactivo de espacios

También puede usar el relleno proactivo de ranuras, lo que permite al usuario especificar varios fragmentos de información que se asignan a diferentes entidades, simultáneamente. El agente entiende qué información pertenece a la entidad. En los casos en que no esté seguro de la asignación prevista, solicitará al usuario que sea más específico al proporcionar opciones.

En este ejemplo, el usuario escribió "Estoy aburrido, pero me gusta la montaña". Este mensaje incluye la frase de desencadenador que el usuario quiere ayudar con las actividades al aire libre y un segundo fragmento de información, "mountaineering", que es un sinónimo de senderismo. En este caso, el agente completa tanto la entidad para elegir la actividad de excursionismo como el tipo de actividad.

Llenado de ranuras múltiple y proactivo.

La vista de seguimiento muestra que el agente toma esta entrada del usuario y omite de forma inteligente el nodo de Pregunta que solicita el tipo de actividad.

El agente siempre está escuchando activamente la entrada del usuario, recordando la información de antemano para que pueda omitir los pasos innecesarios según corresponda.

Vamos a volver a iniciar la prueba y a probar con otro caso. En esta ronda, puede agregar un par de nodos de Preguntas más que piden cosas como el tiempo que tiene para la actividad (usando la entidad Duración) y el rango de precios (usando la entidad Dinero).

Esta vez, cuando se presenta la pregunta de la categoría del producto, en lugar de decirle al agente solo la categoría del producto, el usuario puede decir "Quiero comprar un par de botas de montaña por menos de 100 $". En este ejemplo, el agente no solo puede enrutar a la ruta correcta de la categoría de productos de senderismo, sino también llenar activamente los espacios solicitando el tipo de equipo de senderismo y la información del rango de precios objetivo.

Seguimiento entre temas para productos y categorías de precios.

Puede controlar manualmente el llenado automático de ranuras en el nivel de nodo. Si desea solicitar siempre la pregunta dentro de un nodo específico, independientemente de si la ranura ya está rellenada de respuestas de usuario anteriores, desactive la opción Omitir pregunta para ese nodo Pregunta .

  1. Selecciona los tres puntos (...) del nodo Pregunta y luego selecciona Propiedades. Aparece el panel de Propiedades de pregunta.

    Abra el panel de propiedades de la pregunta.

  2. En el panel Propiedades de la pregunta, seleccione Comportamiento de la pregunta.

  3. En el panel Comportamiento de la pregunta, en Omitir pregunta, seleccione Preguntar cada vez y luego seleccione Guardar en la parte superior de la página.

    Omitir pregunta.

Uso de entidades de lista abierta

Las entidades de lista abierta tienen valores que se rellenan en tiempo de ejecución desde un origen de datos externo en lugar de estar predefinidos. Permiten que el agente reconozca información específica del contexto, como nombres de cuenta, pagos o recetas, que varían según el usuario o la sesión. Funcionan tanto con modalidades de texto como de voz. Los casos de uso más comunes para las entidades de lista abierta son los agentes de voz clásicos.

En el caso de los orígenes de datos externos, puede usar conjuntos de datos, como archivos de Excel o bases de datos. Mediante el uso de un conector de Dataverse, puede hacer que el agente interactúe con sistemas de back-office para extraer los datos adecuados para su uso en el contexto de una llamada. También puede generar datos mediante Power Fx u otros medios.

Creación de una tabla para su uso como una entidad insertada dinámica

Cree una variable de tipo tabla que el agente pueda rellenar con contenido en tiempo de ejecución. Este sistema permite personalizar los valores admitidos para la necesidad específica sin necesidad de realizar ningún cambio en el propio agente. El conjunto de valores que el agente puede reconocer puede cambiar al principio de la conversación, en función del autor de la llamada. Los valores admitidos pueden incluso cambiar durante la conversación para adaptar mejor las preguntas al contexto.

Note

La tabla no debe contener más de 100 entradas.

Las tablas son básicamente listas de valores del mismo tipo (por ejemplo, ["value1", "value2"]). Para las entidades insertadas dinámicas, use una lista de cadenas de texto. Si desea admitir sinónimos, use una lista de registros con el esquema siguiente.

Attribute Tipo Description
DisplayName String Un valor posible para la entidad
Synonyms Matriz de cadenas Uno o varios sinónimos del valor

Por ejemplo:

[
  {
    "DisplayName": "value1",
    "Synonyms": ["synonym1", "synonym2", "..."]
  },
  {
    "DisplayName": "value2",
    "Synonyms": ["synonym1", "synonym2", "..."]
  },
  {
    "DisplayName": "value3",
    "Synonyms": ["synonym1", "synonym2", "..."]
  }
]

Uso de una entidad en línea dinámica en un tema

  1. Vaya a la página Temas del agente y seleccione el tema en el que desea recopilar la entidad dinámica.

  2. Agregue un nodo Pregunta o use uno existente.

  3. En Identificar, seleccione Opciones en una variable de lista.

  4. En Variable de lista, escriba o seleccione el nombre de la tabla que contiene los valores aplicables para la entidad dinámica.

  5. Cambie el nombre de la variable que almacena la respuesta del usuario del agente, si lo desea.

  6. Para un agente de voz, seleccione opcionalmente Asignar claves DTMF a las opciones. En tiempo de ejecución, las claves DTMF se asignan automáticamente a cada opción.

Aceptar una de varias entidades en un turno de conversación

En algunas situaciones, un agente puede aceptar una de varias respuestas válidas en un turno de conversación determinado. Por ejemplo, el agente podría pedir a un cliente que proporcione su número de cuenta o su número de teléfono. También puede que quiera que el agente permita que un cliente indique que no tiene la información y enrute al cliente en lugar de escalar inmediatamente a un representante del servicio al cliente.

  1. Agregue un nodo Pregunta.

  2. En Identificar, seleccione Una de varias entidades.

  3. Para cada entidad que quiera aceptar en este nodo, seleccione Nueva entidad y seleccione la entidad deseada. Un nodo Pregunta puede admitir hasta cinco entidades diferentes.

  4. Seleccione el nombre de variable predeterminado en Guardar respuesta de usuario como para abrir el panel Propiedades de variable y cambiar el nombre a algo significativo( por ejemplo, Identificador.

    La variable que almacena el valor de entidad reconocido es de tipo record, con un elemento para cada entidad admitida en este nodo, por ejemplo Identifier.account, Identifier.phone, Identifier.unknown.

  5. Agregue condiciones para enrutar la conversación según la información proporcionada por el cliente. Es una buena práctica configurar las condiciones con el operador no está en blanco (o está en blanco).

Comportamiento de reconocimiento para "Una de varias entidades"

Este tipo de reconocimiento identifica una sola entidad fuera de un conjunto de entidades posibles en un turno de conversación. Si un cliente escribe una instrucción que contiene dos o más de las entidades configuradas para la identificación en el nodo Pregunta correspondiente, el agente identifica solo la primera entidad de la lista. Por lo tanto, asegúrese de diseñar las preguntas y la lógica condicional que sigue estos nodos de preguntas en consecuencia.

Por ejemplo, supongamos que un nodo Pregunta está configurado para reconocer uno de los siguientes: un número de tarjeta de biblioteca, un número de teléfono o "No sé", en este orden. Si un cliente dice "Mi número de teléfono es 777 555-1212 y mi número de tarjeta es 123456789", el valor de entidad reconocido es el número de tarjeta porque es la primera entidad de la lista de entidades posibles en el nodo Pregunta correspondiente.

Si el agente no puede identificar ninguna de las entidades que un nodo Pregunta está configurado para reconocer, aplica el comportamiento de nueva indicación especificado para este nodo.

Limitations

Las siguientes limitaciones se aplican a los nodos de Pregunta que configuras para recopilar una de varias entidades durante un turno de conversación:

  • Puedes incluir hasta cinco entidades.

  • No puedes usar entidades externas.

  • Solo puedes incluir una entidad de cada tipo. Por ejemplo, un nodo de Pregunta no puede reconocer dos entidades del tipo Fecha.