Diseñar bots de conocimientos

SE APLICA A: SDK v4

Puede diseñar un bot de conocimiento que abarque prácticamente cualquier tema. Independientemente del caso de uso para el que se haya diseñado un bot de conocimientos, su objetivo fundamental es siempre el mismo: buscar y devolver la información que el usuario ha solicitado mediante el aprovechamiento de un corpus de datos.

Por ejemplo, un bot de conocimiento podría responder a preguntas sobre eventos como "¿Qué eventos de bot hay en esta conferencia?" o "¿Cuándo es el siguiente espectáculo de reggae?", o “¿Quién es Tame Impala?”. Otro bot podría responder a preguntas relacionadas con TI, como "¿Qué debo hacer para actualizar mi sistema operativo?" o “¿A dónde voy para restablecer mi contraseña?”. Otro incluso podría responder a preguntas sobre los contactos, como "¿Quién es Fulano de Tal?" o “¿Cuál es la dirección de correo electrónico de Jane Doe?”.

En este artículo se describen algunas de las funcionalidades de inteligencia artificial que puede agregar a un bot, como permitir que un usuario busque información, formular preguntas o interactuar con la información. Para ver qué características de los servicios de Azure AI admite Bot Framework SDK, consulte Reconocimiento del lenguaje natural.

Sugerencia

Servicios de Azure AI incorpora tecnologías en evolución. En este artículo se describen las características más recientes y antiguas.

Acerca de la puntuación de confianza

Algunas características permiten que un bot devuelva información de una base de conocimiento o un modelo de lenguaje para que coincida con una pregunta o consulta de usuario.

Por ejemplo, si el usuario le pide a un bot de conocimientos de música información sobre "impala" (en lugar del nombre completo del grupo "Tame Impala"), el bot puede responder con información que probablemente sea pertinente para esa entrada. De forma similar, las características de reconocimiento del lenguaje pueden usar un modelo de lenguaje para extraer la intención probable de la entrada de usuario. Por ejemplo, si el usuario pide a un bot de agente de viajes que "reserve una sala durante tres días", el bot podría extraer una intención "reservar una sala" y realizar un seguimiento mediante la recopilación de detalles.

Tanto el reconocimiento de búsqueda como el reconocimiento de la intención devuelven una puntuación de confianza, que indica el nivel de confianza que el motor tiene que un resultado determinado es correcto. Use puntuaciones de confianza para ordenar los resultados o para responder de forma diferente, en función de la confianza general en la respuesta.

Nota:

Cuando utilice una combinación de distintos tipos de servicios o características, pruebe las entradas con cada una de las herramientas para determinar la puntuación de umbral de cada uno de los modelos. Los servicios y las características usan diferentes criterios de puntuación, por lo que las puntuaciones generadas en estas herramientas no se pueden comparar directamente. Por ejemplo, el servicio QnA Maker usó un intervalo de confianza de 0 a 100, mientras que la característica de respuesta a preguntas usa un intervalo de 0,0 a 1,0.

  • Si la confianza es alta, el bot puede responder con "Este es el evento que mejor coincide con la búsqueda" o "Puedo ayudarle a reservar una sala" y presentar la respuesta superior o empezar a formular preguntas de seguimiento.
  • Si la confianza es baja, el bot podría responder con "Hmm... ¿estaba buscando cualquiera de estos eventos?" o "Puedo ayudarle con las siguientes cosas:" y presentar una lista de posibles respuestas o opciones.

Para filtrar temas

Puede diseñar bots de conocimiento para ayudar a un usuario a restringir y refinar una búsqueda. Dentro de una conversación, el bot puede formular preguntas aclarantes, presentar opciones y validar los resultados de una manera que la búsqueda básica no pueda.

Por ejemplo, un bot de eventos puede averiguar en qué tipo de evento está interesado el usuario mediante una serie de preguntas. Considere el siguiente intercambio:

  1. Usuario, “eventos”.
  2. Bot, "¿En qué está interesado?" Música, Comedia, Película...".
  3. Usuario, "Música".
  4. Bot, "¿Qué tipo de música le interesa?" Cualquiera, Rock/Pop, Hip-hop/Rap, ...".
  5. Usuario, "Rock/Pop".
  6. Bot, "¿Qué día le gustaría ver Rock/Pop? Viernes, Sábado, Domingo, Cualquiera".
  7. Usuario, "Sábado".
  8. Bot, "Aquí están los espectáculos Rock/Pop del sábado:", con una lista de los espectáculos encontrados.

Al procesar la entrada de usuario en cada paso y presentar las opciones pertinentes, el bot guía al usuario hasta la información que está buscando. Una vez que el bot ha proporcionado dicha información, puede incluso orientar al usuario sobre las formas más eficaces de encontrar información similar en el futuro.

Por cierto, también puede escribir "viernes de Rock" o buscar un evento por nombre.

Para obtener información sobre los servicios de Azure relacionados, consulte Búsqueda en el artículo del concepto de reconocimiento del lenguaje natural.

Para responder a preguntas

Puede diseñar bots de conocimiento para responder a las preguntas más frecuentes. Los servicios que admiten características de preguntas y respuestas suelen permitirle a usted o a el bot:

  • Administrar y entrenar una base de conocimiento.
  • Importar información en una base de conocimiento, como desde un archivo de datos o una página web.
  • Adivinar qué respuesta se asigna mejor a la pregunta del usuario.
  • Pregunte al usuario las preguntas de seguimiento para ayudar a encontrar la respuesta que busca.

Para obtener información sobre los servicios de Azure relacionados, consulte Preguntas y respuestas en el artículo del concepto de reconocimiento del lenguaje natural.

Para interpretar la intención

Algunos bots de conocimientos requieren capacidades de procesamiento del lenguaje natural (NLP) para poder analizar los mensajes de un usuario con el objetivo de determinar su intención y otra información importante.

Por ejemplo, en un bot de reproducción de música, un usuario podría enviar el mensaje "Reproducir reggae", "Reproducir Bob Marley" o "Reproducir 'One love'". Puede entrenar un modelo de lenguaje para asignar cada uno de estos mensajes a la intención "reproducirMúsica", sin entrenarse con cada artista, género y nombre de canción.

Es posible que el modelo de lenguaje no comprenda si lo que se va a reproducir, la entidad, es un género, artista o canción. Sin embargo, el bot puede buscar esa entidad con esta información y continuar desde allí.

Para obtener información sobre los servicios de Azure relacionados, consulte Reconocimiento del lenguaje en el artículo del concepto de Reconocimiento del lenguaje natural.

Para integrar varias características

Cada característica de NLP es una poderosa herramienta en sí misma. Sin embargo, el bot puede combinar estas características y otras para proporcionar a los usuarios una experiencia más fluida y natural. Use las puntuaciones de confianza para determinar qué característica se asigna mejor al mensaje del usuario y formular preguntas de seguimiento si la mejor coincidencia es ambigua.

Por ejemplo, este bot puede permitir al usuario:

  • Encuentrar un espectáculo al que le interese asistir.
  • Obtenga información sobre el artista, el lugar y el evento.
  • Compre un vale o regístrese para obtener avisos de eventos futuros.

Para obtener información sobre los servicios de Azure relacionados, consulte Utilizar varias características juntas en el artículo del concepto de Reconocimiento del lenguaje natural.

Exploración de ejemplos

El repositorio de Muestras de Bot Framework tiene algunos bots de ejemplo que muestran las características de reconocimiento del lenguaje:

Ejemplo Nombre del ejemplo Descripción
11 QnA Maker (simple) Responda a preguntas como una serie de conversaciones de un solo turno mediante QnA Maker.
13 Bot básico Interprete la intención del usuario mediante LUIS.
14 NLP con distribución Distribuir mensajes de usuario a LUIS o QnA Maker mediante Orchestrator.
49 QnA Maker (avanzado) Responda a preguntas con características de aprendizaje activo y multiturno en QnA Maker.

Nota:

Azure AI QnA Maker se retirará el 31 de marzo de 2025. A partir del 1 de octubre de 2022, no podrá crear nuevos recursos o bases de conocimiento de QnA Maker. Ya hay disponible una versión más reciente de la funcionalidad de preguntas y respuestas como parte de Lenguaje de Azure AI.

La respuesta a preguntas personalizadas, una característica de Lenguaje de Azure AI, es la versión actualizada del servicio QnA Maker. Para obtener más información sobre la compatibilidad con preguntas y respuestas en el SDK de Bot Framework, consulte Reconocimiento del lenguaje natural.

Nota:

Reconocimiento del lenguaje (LUIS) se retirará el 1 de octubre de 2025. A partir del 1 de abril de 2023, no podrá crear nuevos recursos de LUIS. Hay disponible una versión más reciente de las funcionalidades de reconocimiento del lenguaje como parte del Lenguaje de Azure AI.

Reconocimiento del lenguaje conversacional (CLU), una característica del lenguaje de Azure AI, es la versión actualizada de LUIS. Para obtener más información sobre la compatibilidad con reconocimiento del lenguaje en el SDK de Bot Framework, consulte Reconocimiento del lenguaje natural.

El SDK de Azure para .NET y el SDK de Azure para repositorios de Python también tiene algunos ejemplos:

Característica LÉAME de muestras
Respuesta a preguntas C#, Python
Reconocimiento del lenguaje conversacional, flujo de trabajo de orquestación C#, Python