Compartir a través de


Usar entidades y llenado de ranuras en agentes

Una gran parte de las conversaciones de agente en 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, si un cliente dice "Intenté usar mi tarjeta de regalo, pero no funciona". El agente puede dirigir al cliente al tema relacionado con las tarjetas de regalo que no funcionan, aunque esa frase exacta no se incluya como 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.

Una entidad puede considerarse como 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 otorgado por las entidades, un agente 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 agentes de chat le permiten almacenar información en grupos similares.

Copilot Studio admite un conjunto de entidades precompiladas, que representan la información de tipos más utilizada en los diálogos del mundo real, como la edad, los colores, los números y los nombres.

Con el conocimiento concedido por entidades, un agente puede reconocer inteligentemente la información pertinente de la entrada del usuario y guardarla para su uso posterior.

Para ayudar a comprender esa noción, vamos a usar la entidad Money como ejemplo.

  1. Abra su agente en Copilot Studio, seleccione Configuración en la parte superior de la página y luego seleccione Entidades en el menú.

    Aparece una lista de las entidades disponibles.

    Captura de pantalla de la página Entidades (vista parcial).

  2. Seleccione la entidad Dinero. Se abre el panel de detalles de la entidad.

    Captura de pantalla del panel de detalles de la entidad Dinero.

Aquí puede ver una explicación de esta entidad y las formas en que se puede usar para extraer 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 agente sabe que "1000 dólares" representa el tipo de dinero de la 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 preconstruidas cubren los tipos de información más utilizados. En ocasiones, como cuando se crea un agente que sirve para un propósito específico, es posible que deba enseñar al modelo de comprensión del lenguaje del agente conocimientos específicos del dominio.

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 'Lista cerrada' y 'Expresión regular'.

Entidades de lista cerrada

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

  1. En Crear una entidad, seleccione Lista cerrada.

  2. En el panel que se abre, escriba un nombre para la nueva entidad, por ejemplo, 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 con una lista de todos los valores deseados que desea agregar para esta entidad.

    Cuando introduce elementos, puede hacer lo siguiente:

    • Seleccionar un elemento y cambie su nombre.
    • Seleccionar el icono de papelera para eliminar el elemento.
    • 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 la lógica de coincidencia para cada valor de la lista. Por ejemplo, en el elemento senderismo, puede agregar senderismo de montaña y montañismo 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 coincidencia inteligente está activa, el agente interpreta la entrada del usuario mediante lógica difusa con respecto a los valores enumerados 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. Cuando termine de crear o editar su entidad, seleccione Guardar. Para descartar los cambios, seleccione Cerrar.

    Captura de pantalla del panel de detalles de la entidad de ejemplo 'Actividad de acampada'.

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 3 MB) en el que se enumeren todos los valores que desea agregar a la entidad, incluidos los sinónimos, si los hay. 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:

    • Si desea agregar nuevos valores y sinónimos para su 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. También puede seleccionar hacer clic para examinar, navegar hasta el archivo y seleccionarlo.

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

Descargar valores para una entidad de lista cerrada

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

  1. En Enumerar elementos, seleccione descargar un archivo.

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

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

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

  5. Cuando termine de crear o editar su entidad, seleccione Guardar. Para descartar los cambios, seleccione Cerrar.

Usar entidades en una conversación

Ahora que su agente conoce el equipo para actividades al aire libre gracias a la entidad Actividad de Camping y otras entidades personalizadas que ha creado, puede empezar a usarlo 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, 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, puede elegir Seleccionar opciones para el usuario y luego seleccionarlas de la lista que contiene los elementos que agregó cuando creó 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. 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. En Copilot Studio, el relleno de ranuras significa colocar el valor de la entidad extraída en una variable.

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 activa la opción de realizar seguimiento de un tema a otro, el árbol de diálogo muestra el agente ejecutando este nodo Pregunta.

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.

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 de producto es "Senderismo". Puede inspeccionar el valor de la variable en la ventana de inspección de variables en la parte inferior del lienzo de creación. La ventana de observación 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 VarCampType.

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 agente 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ó "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.

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

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. Realice los siguientes pasos para desactivar la opción Omitir pregunta.

  1. Selecciona el icono Más () del nodo Pregunta y luego seleccione 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.

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 está pensado para identificar una sola entidad fuera de un conjunto de posibles entidades 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.

Limitaciones

A continuación se indican las limitaciones conocidas de los nodos de pregunta configurados para recopilar una de varias entidades en un turno de conversación:

  • Soporte limitado a un máximo de cinco entidades.

  • No se admiten entidades externas.

  • Compatibilidad con solo una entidad de cualquier tipo determinado. Por ejemplo, un nodo Pregunta no puede reconocer dos entidades de tipo Date.