Usar entidades y llenado de ranuras en copilotos
Una gran parte de las conversaciones de copiloto en Copilot Studio es la comprensión del lenguaje natural, que es la capacidad de IA para comprender la intención de un usuario. Por ejemplo, el usuario podría decir "Intenté usar mi tarjeta de regalo, pero no funciona" y el copiloto puede dirigir al usuario 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. 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, Copilot Studio viene con un conjunto de entidades precompiladas, que representan los tipos de información más utilizados 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.
Abra su copiloto en Copilot Studio y seleccione Configuración en la parte superior de la página y luego Entidades en el menú.
Verá la lista de las entidades precompiladas disponibles.
Seleccione la entidad Dinero para abrir el panel de detalles de la entidad.
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, guarda "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 algunas ocasiones, como cuando se construye un copiloto que sirve a un propósito específico, necesitaría enseñar al modelo de comprensión del lenguaje del copiloto conocimientos específicos 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.
Primero, cree 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.
Abra su copiloto en Copilot Studio y seleccione Configuración en la parte superior de la página y luego Entidades en el menú.
Seleccione Agregar una entidad>Nueva entidad.
Se 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. Estas entidades se usan mejor para listas pequeñas, que son fáciles de administrar y que tienen etiquetas de elementos simples.
Al seleccionar esta opción al crear una entidad, se muestra un panel donde puede especificar el nombre de la entidad, una descripción opcional e ingresar los elementos que desea incluir en la entidad.
Cuando introduce elementos, puede hacer lo siguiente:
- Seleccionar cada elemento y cambie 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.
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".
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.
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.
Una entidad regex de 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.
Vaya a la página Temas del copiloto que quiera editar.
Abra el tema de una entidad que desee recopilar.
Seleccione el icono Agregar nodo
y, a continuación, seleccione Formular una pregunta.
En Identificar, seleccione la entidad que ha creado en Entidades personalizadas.
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.
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 Copilot Studio, el llenado de ranuras significa colocar el valor de la entidad extraída en una variable.
Seguiremos utilizando como ejemplo el tema de las actividades de acampada, que se activa al escribir "Quiero hacer algo" en el chat de prueba.
El tema se activa con éxito y el copiloto solicita el tipo de actividad, 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.
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.
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 VarCampType
.
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ó "Estoy aburrido, pero me gusta el montañismo". Este mensaje incluye una frase desencadenadora de que el usuario desea ayuda con actividades al aire libre y también proporciona una segunda información: "montañismo", que es un sinónimo de senderismo definido por la entidad. En este caso, el copiloto completa tanto la entidad para elegir una actividad al aire libre y el tipo de actividad.
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 el tipo de actividad.
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 pregunta más solicitando cosas como de cuánto tiempo dispone para la actividad (utilizando la entidad Duración) así como el rango de precios (utilizando 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 al camino correcto de la categoría de productos de excursionismo, sino que también llena activamente los espacios que solicitan el tipo de equipo de senderismo y la información del rango de precios objetivo.
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.
Selecciona el icono Más (…) del nodo Pregunta y luego seleccione Propiedades. Aparece el panel de Propiedades de pregunta.
En el panel Propiedades de la pregunta, seleccione Comportamiento de la pregunta.
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.