Usar entidades y llenado de ranuras en copilotos de Microsoft Copilot Studio

Importante

Las capacidades y características de Power Virtual Agents son ahora parte de Microsoft Copilot Studio tras importantes inversiones en IA generativa e integraciones mejoradas en Microsoft Copilot.

Algunos artículos y capturas de pantalla pueden hacer referencia a Power Virtual Agents mientras actualizamos la documentación y el contenido de capacitación.

Una gran parte de las conversaciones de copilotos en Microsoft Copilot Studio es la comprensión del lenguaje natural, que es la capacidad de la IA para comprender la intención de un usuario. Por ejemplo, la comprensión del lenguaje natural entra en acción cuando un usuario dice "He intentado usar mi tarjeta de regalo, pero no funciona" y el copiloto puede enrutar al usuario al tema relacionado con tarjetas de regalo que no funcionan, incluso si esa frase exacta no aparece como una frase desencadenadora.

Un aspecto fundamental del reconocimiento del lenguaje natural es identificar las entidades que se utilizan en un cuadro de diálogo de usuario. Vea el vídeo para comenzar con las entidades.

Una entidad puede concebirse como una unidad de información que representa un determinado tipo de tema del mundo real, como un número de teléfono, código postal, ciudad o el nombre de una persona. Con el conocimiento otorgado por las entidades, un copiloto puede reconocer de manera inteligente la información relevante de una entrada del usuario y guardarla para su uso posterior.

Entidades precompiladas

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

De manera estándar, Microsoft Copilot Studio viene con un conjunto de entidades precompiladas, que representan la información de estereotipo más utilizada en los diálogos del mundo real, como la edad, los colores, los números y los nombres.

Con el conocimiento otorgado por las entidades, un copiloto puede reconocer de manera inteligente la información relevante de una entrada del usuario y guardarla para su uso posterior.

Para ayudar a entender esa noción, la entidad Dinero se puede utilizar como ejemplo.

  1. En Microsoft Copilot Studio, en el menú de navegación, seleccione Entidades.

    Vaya a la pestaña Entidades.

    Verá la lista de las entidades precompiladas disponibles.

    Panel de entidades.

  2. Seleccione la entidad Dinero, que abrirá el panel de detalles de la entidad.

    Descripción de entidad de dinero.

Aquí puede ver una explicación de esta entidad y las formas en que se puede usar para buscar información relacionada con el dinero o la divisa a partir de la entrada de un usuario.

Por ejemplo, si un usuario introduce "Cuesta 1000 dólares", utilizando esta entidad de dinero, el copiloto sabe que "1000 dólares" representa el tipo de dinero de la información. Cuando el copiloto extrae esta entidad y la guarda en una variable, guardará "1000" como un número, aunque la información circundante sea texto.

Entidades personalizadas

Las entidades precompiladas cubren los tipos de información de uso común, pero en algunas ocasiones, como cuando se crea un copiloto que tiene un propósito específico, deberá enseñarle al modelo de comprensión del lenguaje del copiloto algún conocimiento específico del dominio.

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

Para hacerlo, necesitará crear una entidad personalizada. En este caso, puede crear una entidad que le dé al copiloto el conocimiento de todas las categorías de productos de excursionismo.

  1. En Microsoft Copilot Studio, en el menú de navegación, seleccione Entidades.

    Vaya a la pestaña Entidades para crear una nueva entidad.

  2. Seleccione Nueva entidad en el menú principal.

    Seleccione 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).

Entidades de lista cerrada

Las entidades de lista cerrada le permiten definir una lista de elementos. Esto se usa mejor para listas pequeñas, que son fáciles de administrar y que tienen etiquetas de elementos simples.

Captura de pantalla de la ventana de creación de entidad, con la opción Lista cerrada resaltada.

Al seleccionar esta opción al crear una entidad, se mostrará un panel donde puede especificar el nombre de la entidad, una descripción opcional e ingresar los elementos que desea incluir en la entidad.

Captura de pantalla del panel lista de entidades.

Cuando introduce elementos, puede hacer lo siguiente:

  • Seleccionar cada elemento para cambiar su nombre.
  • Seleccionar el icono de papelera para eliminar el elemento de la lista.
  • Seleccione + Sinónimos (o seleccione los sinónimos enumerados si ya se han agregado) para abrir el panel Editar sinónimos.

Puede agregar sinónimos para expandir manualmente la lógica de coincidencia para cada elemento de la lista de la entidad. Por ejemplo, en el elemento "senderismo", puede agregar "senderismo de montaña" y "montañismo" como sinónimos.

Captura de pantalla del panel Editar panel de sinónimos.

Para cada entidad, también puede habilitar la Coincidencia inteligente.

La coincidencia inteligente es parte de la inteligencia respaldada por el modelo de reconocimiento del lenguaje del copiloto. Con esta opción habilitada, el copiloto interpretará la entrada del usuario utilizando lógica difusa, según los elementos enumerados en la entidad.

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

Captura de pantalla de la alternancia de opción de coincidencia.

Cuando haya terminado de crear o editar su entidad, seleccione Guardar para guardar y volver a la lista de entidades. Seleccione Cerrar para descartar sus cambios (se le dará la opción de volver a editar la entidad en caso de que haya seleccionado accidentalmente la opción incorrecta).

Entidades de expresión regular (regex)

Las entidades de expresión regular (regex) le permiten definir patrones lógicos que puede usar para hacer coincidir y extraer información de una entrada. Las entidades regex son excelentes para la comparación de patrones complejos frente a la entrada de un usuario, o si necesita permitir variaciones específicas en cómo un usuario puede formatear o introducir su entrada en una conversación.

Por ejemplo, podría usar una entidad Regex para identificar elementos como un identificador de seguimiento, un número de licencia, un número de tarjeta de crédito o una dirección IP en una cadena que escribe el usuario en el copiloto.

Captura de pantalla de la ventana de creación de entidades, con la opción Regex resaltada.

Al seleccionar esta opción al crear una entidad, se mostrará un panel donde puede especificar el nombre de la entidad, una descripción opcional e introducir el patrón de regex que debería usarse para hacer coincidir y extraer artículos de entidad desde la entrada.

Captura de pantalla del panel de la entidad regex.

Una entidad regex de Microsoft Copilot Studio usa la Sintaxis de expresiones regulares .NET.

De forma predeterminada, la coincidencia de patrones distingue entre 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. Se incluyen algunos ejemplos básicos en el panel de entidades de expresiones regulares, y se puede encontrar información adicional sobre la sintaxis y más ejemplos en el tema Lenguaje de expresiones regulares - Referencia rápida.

Si necesita hacer que la expresión regular se adapte a varios patrones, puede usar 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.

Cuando haya terminado de crear o editar su entidad, seleccione Guardar para guardar y volver a la lista de entidades. Seleccione Cerrar para descartar sus cambios (se le dará la opción de volver a editar la entidad en caso de que haya seleccionado accidentalmente la opción incorrecta).

Usar entidades en una conversación

Ahora que ha hecho el trabajo de dar al copiloto el conocimiento sobre los equipos de excursionismo al crear esa entidad de categoría de producto y algunas otras entidades personalizadas, puede comenzar a usarlas al crear una conversación de copiloto.

  1. Vaya a la página de temas del copiloto que quiera editar.

  2. Abra el Lienzo de creación del tema al que desea agregar una entidad.

  3. Seleccione Agregar nodo (+), luego, Formular una pregunta.

    Captura de pantalla para agregar un nodo.

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

    Nodo de preguntas con selección de entidad.

  5. Opcionalmente, también puede seleccionar elementos para mostrar como botones. Por ejemplo, si desea mostrar algunas categorías como botones para que los usuarios puedan elegirlas cómodamente como entrada, simplemente puede elegir Seleccionar opciones de usuario y luego seleccionarlas de la lista que contiene los elementos que agregó cuando creó la entidad personalizada.

    Agregar nodos de condición.

    Más nodos de condición.

  6. Nombre la variable para la salida de la respuesta del usuario, si es necesario.

Llenado de ranuras

El Llenado de ranuras es un concepto de comprensión del lenguaje natural que significa guardar una entidad extraída en un objeto. Sin embargo, en Microsoft Copilot Studio, el llenado de ranuras significa colocar el valor de la entidad extraída en una variable.

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

El tema se activa con éxito y el copiloto solicita la categoría de producto, que también muestra las opciones de botón especificadas al crear el nodo Formular una pregunta. En el árbol de diálogo, el seguimiento entre temas también muestra que el copiloto se está ejecutando en el nodo de preguntas que acaba de editar.

seguimiento entre temas.

Un usuario 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.

Seguimiento adicional entre temas.

En el seguimiento entre temas, se muestra que el cuadro de diálogo se ha enrutado correctamente a la ruta en la que el valor de la categoría del producto es "senderismo". Puede inspeccionar el valor de la variable desde la ventana de observación de variable en la parte inferior del lienzo de creación. En la ventana de observación, se muestra que el valor de la variable es "senderismo".

Esencialmente, el llenado de ranuras se ha realizado al insertar la entidad extraída "senderismo" en la variable VarProductCategory.

Ventana de vigilancia de variable.

También puede usar lo que se conoce como "llenado de ranuras proactivo", donde el usuario puede especificar múltiples piezas de información que se asignan a múltiples entidades. El copiloto puede entender automáticamente qué información pertenece a qué 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ó "Quiero comprar algunos equipos de trekking". Esto incluye tanto la frase desencadenadora de que el usuario desea comprar equipos como también proporciona una segunda información: el tipo real de equipo. En este caso, el copiloto completa tanto la entidad para comprar el equipo como el tipo de equipo.

Llenado de ranuras múltiple y proactivo.

Al realizar un seguimiento entre los temas, puede ver que el copiloto toma esta entrada del usuario y omite de forma inteligente el nodo de pregunta que solicita la categoría del producto.

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

Reiniciemos las pruebas nuevamente e intentemos otro caso. En esta ronda, puede agregar un par de nodos de preguntas más que piden cosas como el tipo de equipo de senderismo y el rango de precios (usando la entidad Dinero).

Esta vez, cuando se presenta la pregunta sobre la categoría del producto, en lugar de decirle al copiloto solo la categoría del producto, el usuario puede decir "Quiero comprar un par de botas de montaña por menos de 100 USD". En este ejemplo, el copiloto no solo puede enrutar a la ruta correcta de la categoría de productos de senderismo, sino que también llena activamente las ranuras preguntando por 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.

El llenado proactivo de ranuras se puede controlar manualmente a nivel de nodo. Si desea formular siempre la pregunta dentro de un nodo específico, independientemente de si la ranura se ha llenado con las respuestas de los usuarios anteriores, puede deshabilitar la opción Saltar pregunta para ese nodo de pregunta.

Omitir pregunta.

Ver un vídeo detallado