Preguntas y respuestas

Nota

A partir de la versión 22.04, la función Preguntas y respuestas se eliminará gradualmente y se reemplazará por la función Conocimiento. La función Conocimiento tiene ventajas significativas sobre la función Preguntas y respuestas, a saber:

  • Puede generar intenciones de respuesta en la aptitud directamente a partir de preguntas frecuentes o documentos de la base de conocimientos existentes. No tiene que formatear manualmente esos documentos antes de importarlos a la aptitud. Además, se generan expresiones de ejemplo para cada intención.
  • En las conversaciones con la aptitud, las intenciones de respuesta generadas se resuelven con NLP como intenciones normales. No necesita ninguna propiedad o componente específico de preguntas y respuestas para manejar esas intenciones.

Además, la función de preguntas y respuestas no funciona en flujos de diálogo desarrollados en modo visual.

Si tiene una aptitud existente que tiene un módulo de preguntas y respuestas, puede seguir utilizando ese módulo de preguntas y respuestas en futuras versiones de la aptitud. Sin embargo, le recomendamos que cambie a utilizar intenciones de respuesta (ya sea con la ayuda de la función Knowledge o mediante la creación manual de intenciones de respuesta). Consulte Intenciones de respuesta.

La función de preguntas y respuestas permite a la aptitud responder preguntas de interés general mediante la devolución de uno o más pares de preguntas y respuestas. Es una forma de utilizar una aptitud para presentar preguntas frecuentes u otros documentos de la base de conocimientos.

La adición de un módulo de preguntas y respuestas a la aptitud le permite evaluar si la entrada del usuario está destinada a una transacción ("¿Cuál es mi saldo?") o a responder a una pregunta ("¿Cuál es la dirección del banco?") y luego responder adecuadamente.

Adición de preguntas y respuestas a una aptitud

A continuación, se muestra una descripción general de cómo agregar Preguntas y respuestas a una aptitud mediante la función Preguntas y respuestas:
  1. Haga clic en Preguntas y respuestas (Imagen del icono Preguntas y respuestas de la barra de navegación izquierda.) en la barra de navegación izquierda para activar la capacidad de Preguntas y respuestas. A continuación, haga clic en Agregar preguntas y respuestas.

    Nota

    Esto solo es posible en aptitudes que se hayan creado en el modo de diálogo YAML.
  2. Cargue los archivos de origen (con el formato CSV) que contienen los pares de preguntas y respuestas clasificados. En Creación del archivo de origen de datos, se describe el formato y se proporcionan algunas directrices de contenido.
    A continuación se muestra la descripción de add-qna-source.png
    Descripción de la ilustración add-qna-source.png

  3. Si es necesario, puede editar las preguntas y respuestas. También puede agregar o suprimir preguntas y respuestas.
  4. Entrene la aptitud con el entrenador de preguntas y respuestas.
    Descripción del tren-w-qna.png
    Descripción de la ilustración train-w-qna.png

  5. Pruebe la nueva capacidad de Preguntas y Respuestas introduciendo preguntas en el comprobador de Preguntas y respuestas. Como parte del proceso de prueba, debe agregar preguntas alternativas al origen de datos para mejorar la capacidad de reconocimiento de preguntas. El reentrenamiento será necesario siempre que se agregue o se modifique algún elemento del origen de datos.

  6. Para utilizar Preguntas y respuestas en un flujo de diálogo de aptitudes, tiene que configurar el componente System.Qna. También debe agregar una nueva transición al componente System.Intent que haga referencia a este nuevo componente, de modo que las preguntas de Preguntas y respuestas se encaminen al componente de Preguntas y respuestas. Consulte Configuración del flujo de diálogo para preguntas y respuestas.
  7. Agregue un estado para la acción none y vuelva a definir la transición en el componente de Preguntas y respuestas cuando se responda la pregunta agregando qna para la transición next:
      qna:
        component: "System.QnA"
          transitions:
            actions:
              none: "unresolved"
              next: "qna"
      unresolved:
        component: "System.Output"
          properties:
          text: "Sorry, I did not find any match. Can you rephrase the question?"
        transitions:
          return: "done"
    
  8. Pruebe la aptitud.

Creación del archivo de origen de datos

El archivo de origen de datos para el contenido de Preguntas y respuestas debe ser un archivo CSV con codificación UTF-8. Este archivo tiene una fila de cabecera cuyos valores son (de izquierda a derecha) category_path, questions y content.
Columna Contenido
category_path

Categoría (o categorías) para un par de pregunta y respuesta (Q&A) determinado.

Si un par de pregunta y respuesta pertenece a más de una categoría, agregue cada una de las categorías en una nueva línea.

Utilice una barra diagonal (/) para indicar una jerarquía. Por ejemplo: Trading/Placing Order.
Imagen de un archivo CSV.

questions

Preguntas que se muestran al usuario. Agregue cada versión alternativa de la pregunta en una nueva línea. La primera pregunta, conocida como pregunta canónica, es la pregunta que se muestra en el mensaje de la aptitud por defecto. Las siguientes preguntas de la columna son versiones alternativas.
Imagen del archivo CSV.

content

Respuestas.

Puede editar el archivo de origen de datos después de importarlo.

Directrices relativas al origen de datos

  • La agregación de varias preguntas para cada respuesta aumenta la probabilidad de que se devuelvan a los usuarios los pares de pregunta y respuesta relevantes. Cree entre 2 y 5 preguntas para cada respuesta. Proporcione suficientes preguntas como para abarcar una muestra de las diferentes formas en las que espera que el usuario realice consultas sobre un tema. Puede cambiar el asunto (pero mantenga la coherencia con el tema de la respuesta), el verbo y los pronombres interrogativos, como “qué”, “dónde”, “cómo”, etc. Por ejemplo, ¿Cómo puedo saber cuánto dinero tengo? se puede reformular como:
    • ¿Cómo obtengo el saldo de mi cuenta?

    • ¿Dónde puedo encontrar el saldo de mi cuenta?

    • ¿Puedo obtener el saldo de mi cuenta?

  • Recuerde que, aunque la formulación de las preguntas no sea la misma, todas deben devolver las mismas respuestas.

  • No es necesario crear preguntas alternativas solo para dar cabida a palabras, sinónimos o errores tipográficos frecuentes. Puede utilizar la página Configuración de idioma para agregar sinónimos o abreviaturas. Los errores tipográficos se manejan automáticamente.

  • Recuerde que las respuestas deben ser lo más breves que sea posible. Proporcione un enlace para obtener información más detallada. Los enlaces de Preguntas y respuestas no se pueden ocultar, lo que significa que no se puede utilizar <a href> para especificar el nombre de un sitio. Los enlaces deben ser explícitos (http://www.myanswers.com/answer/topic1.html, por ejemplo).

  • Utilice siempre texto sin formato.

  • Los usuarios se centran en las tres primeras coincidencias para obtener la información que buscan. Aunque debe centrarse en la primera coincidencia, el objetivo es asegurarse de que la información solicitada y la información relacionada se encuentren entre las tres primeras coincidencias.

  • Cree un archivo de prueba por lotes cada vez que actualice el origen de datos. En este archivo por lotes, se encuentran todas las preguntas que es necesario garantizar que la aptitud responde correctamente. Para obtener más información sobre este archivo, consulte Creación del archivo CSV para la prueba por lotes.

Gestión de módulos de preguntas y respuestas y orígenes de datos

Adición de más orígenes de datos
Puede agregar más archivos de preguntas y respuestas para ampliar la capacidad de Preguntas y respuestas. Para cargar otro archivo CSV con codificación UTF-8 en un nuevo origen de datos de Preguntas y respuestas:
  1. Haga clic en Preguntas y respuestas (Imagen del icono Preguntas y respuestas de la barra de navegación izquierda.) en la barra de navegación izquierda.

  2. Seleccione el separador Orígenes de datos y, a continuación, pulse Agregar origen de preguntas y respuestas.

  3. Complete el cuadro de diálogo introduciendo un idioma, una configuración regional (si es necesario) y el archivo de origen de datos.

  4. Para agregar lotes de orígenes de datos, seleccione Crear otro.

  5. Por defecto, el origen de datos está activado. Si necesita eliminar temporalmente pares de Preguntas y respuestas del origen de datos, puede elegir Desactivado, en lugar de suprimir el origen de datos.

  6. Haga clic en Crear.

  7. Vuelva a entrenar las preguntas y respuestas.

Edición de los parámetros de configuración del origen de datos de preguntas y respuestas
  1. Haga clic en Preguntas y respuestas (Imagen del icono Preguntas y respuestas de la barra de navegación izquierda.) en la barra de navegación izquierda.

  2. Seleccione el separador Orígenes de datos.

  3. Pase el cursor por encima del origen de datos para llamar a los iconos Editar y Suprimir.
    Imagen del icono Editar.

  4. Haga clic en Editar.

  5. Efectúe una de las siguientes acciones y, a continuación, haga clic en Guardar.

    • Cambie el idioma y la configuración regional.

    • Cambie el nombre del origen.

    • Sobrescriba el archivo de origen existente haciendo clic en Sustituir y seleccionando un nuevo archivo.

    • Active o desactive el origen.

  6. Vuelva a entrenar el módulo de preguntas y respuestas.

Adición de preguntas y respuestas una a una
  1. En el separador Orígenes de datos, haga clic en el origen de datos.

  2. Haga clic en Ver todas las preguntas y respuestas.

  3. Haga clic en Agregar pregunta.

  4. Complete el cuadro de diálogo como se indica a continuación y haga clic en Crear.
    • Pregunta canónica: introduzca la pregunta que se muestra por defecto en el chat.

    • Alternativa: agregue una o más variantes de la pregunta canónica. Recuerde que solo se tiene que centrar en las distintas formas en las que los usuarios puedan plantear una pregunta, no se preocupe de sinónimos ni errores ortográficos habituales.

    • Respuesta: agregue una respuesta concisa. En lugar de una explicación larga, agregue un URL que lleve a los usuarios a información más detallada. Este URL se presentará como texto sin formato en la ventana de prueba, pero tendrá forma de hiperenlace cuando la aptitud se ejecute en una plataforma de mensajería real.

    • Categorías: si procede, introduzca una categoría o seleccione una del menú. (El menú se rellena con las categorías del archivo de origen de datos).

    • Si hay jerarquías, introduzca una cadena con barras diagonales (/).
      Imagen del campo de categorías.

    • Crear otra: seleccione esta opción para abrir un cuadro de diálogo nuevo después de hacer clic en Crear.

  5. Vuelva a entrenar las preguntas y respuestas.

  6. Haga clic en Cerrar en el separador Orígenes de datos.

Nota

Recuerde que estos pares de preguntas y respuestas se muestran dentro de una ventana de chat, por lo que no pueden ser demasiado largas. Consulte Directrices relativas al origen de datos.
Edición de preguntas y respuestas una a una
Aunque la mayor parte del desarrollo de contenido se haya realizado utilizando el archivo de origen, puede agregar actualizaciones mediante el separador Orígenes de datos.
  1. En el separador Orígenes de datos, diríjase a la pregunta o búsquela con uno de los campos de búsqueda (categorías y preguntas y respuestas).

  2. Pase el cursor sobre la pregunta y, a continuación, haga clic en Editar.

  3. Utilice el cuadro de diálogo Editar pregunta para:
    • Cambiar la pregunta canónica.

    • Agregar más preguntas alternativas.

    • Editar la respuesta.

    • Agregar o eliminar categorías.

  4. Haga clic en Guardar.

  5. Vuelva a entrenar el módulo de preguntas y respuestas.

  6. Haga clic en Cerrar en el separador Orígenes de datos.

Nota

También puede agregar preguntas alternativas utilizando el comprobador.
Exportación del conjunto de datos de preguntas y respuestas
Puede exportar el conjunto de datos de preguntas y respuestas en su totalidad para realizar tareas de control de versiones, archivo y copia de seguridad.
  1. En el separador Orígenes de datos, haga clic en Ver todas las preguntas y respuestas.

  2. Seleccione el archivo de origen de datos en el panel izquierdo.

  3. Haga clic en Exportar y, a continuación, guarde el archivo en el sistema.

  4. Haga clic en Cerrar.

Precisión mejorada con abreviaturas y palabras irrelevantes

Incorporamos conjuntos de palabras irrelevantes, abreviaturas y sinónimos para mejorar la precisión de la capacidad Preguntas y respuestas. Las palabras irrelevantes se excluyen del algoritmo de paridad para que la precisión no se vea afectada. Se utilizan listas de sinónimos y abreviaturas para buscar coincidencias con las preguntas del usuario que contienen estas palabras. Si bien los conjuntos incorporados pueden ser suficientes para muchas aptitudes, puede agregar elementos a estos conjuntos en situaciones concretas.

Las adiciones a estos conjuntos se realizan mediante la página Configuración de idioma. Desde ella, puede editar las listas de palabras irrelevantes, abreviaturas y sinónimos.

Adición de palabras irrelevantes, sinónimos y abreviaturas
  1. Seleccione el separador Configuración de idioma.

  2. Haga clic en Agregar entrada de configuración.

  3. Complete el cuadro de diálogo:
    • Idioma: seleccione uno de los idiomas disponibles (facilitados por los orígenes de datos).

    • Tipo:

      • Palabras irrelevantes: agregue palabras que no aporten ningún valor a las preguntas. Las palabras deben estar en minúsculas.

      • Sinónimos: incluya términos coloquiales y palabras alternativas para cada palabra clave del origen de datos. Cree una entrada independiente para cada conjunto de sinónimos. Por ejemplo, dinero, moolah, green es una entrada independiente de cónyuge, esposa, esposo, pareja.
        A continuación se muestra la descripción del sinónimo-entries.png
        Descripción de la ilustración sinónimo-entries.png

      • Abreviaturas: tenga en cuenta que es posible que las preguntas canónicas no esperen abreviaturas.

    • Definición: introduzca los términos específicos del tipo (sinónimos, palabras irrelevantes o abreviaturas).

    • Activado: activa (o desactiva) las adiciones realizadas a los conjuntos de palabras irrelevantes, abreviaturas o sinónimos. Utilice esta opción cuando pruebe las configuraciones de idioma.

    • Crear otra: seleccione esta opción para volver a este cuadro de diálogo después de hacer clic en Crear.

  4. Haga clic en Crear.

  5. Vuelva a entrenar el módulo de preguntas y respuestas.

Prueba de preguntas y respuestas

La ventana Preguntas y respuestas del comprobador le permite probar las preguntas una a una o en lotes.

Después de entrenar el módulo de preguntas y respuestas, puede probarlo utilizando el comprobador Probar intenciones/preguntas y respuestas (al que se accede haciendo clic en Pruébelo). La respuesta de la aptitud puede incluir un carrusel con varias respuestas. A diferencia de las pruebas realizadas sobre las intenciones, las respuestas a las preguntas de Preguntas y respuestas no son categorías de intenciones (por ejemplo, saldos), sino respuestas de texto proporcionadas por la fila content del archivo CSV.

La capacidad Preguntas y respuestas (no el motor de intenciones) gestiona las respuestas a las expresiones que se introducen. Estas respuestas constan de un conjunto de preguntas canónicas que representan los temas que mejor se ajustan (las respuestas proporcionadas en la columna content del archivo CSV). Estas preguntas canónicas son las primeras preguntas introducidas en el campo questions del CSV que están asociadas a cada tema (es decir, la respuesta en el campo content del archivo CSV).
A continuación se muestra la descripción de qna-tester-w-precision.png
Descripción de la ilustración qna-tester-w-precision.png

Prueba de una coincidencia de preguntas y respuestas

  1. Entrene el módulo de preguntas y respuestas.

  2. Abra el comprobador haciendo clic en ¡Pruébelo y, a continuación, seleccione Preguntas y respuestas.

  3. Haga clic en Preguntas y respuestas.

  4. Opcionalmente, haga clic en Icono de opciones del comprobador de calidad. para definir las opciones de idioma y precisión de coincidencia:
    • Idioma: seleccione un idioma (si existen orígenes de datos multilingües).
    • Umbrales de coincidencia: haga clic en Editar para definir el porcentaje mínimo y máximo de tokens que debe contener un par de pregunta y respuesta para que se considere una coincidencia (es decir, una coincidencia de preguntas y respuestas).
    • Hacer coincidir campos: haga clic en Editar para seleccionar el campo (o los campos) de Preguntas y respuestas que debe coincidir con el mensaje de usuario. Las opciones son:
      • Todo: devuelve preguntas y respuestas en las que las palabras clave de la entrada de usuario coinciden con cualquier categoría de preguntas y respuestas, pregunta o respuesta.
      • Preguntas: devuelve las preguntas y respuestas en las que las palabras clave de la entrada de usuario coinciden con las preguntas de preguntas y respuestas.
      • Respuestas: devuelve las preguntas y respuestas en las que las palabras clave de la entrada de usuario coinciden con la respuesta de preguntas y respuestas.
      • Categorías: devuelve las preguntas y respuestas en las que las palabras clave de la entrada de usuario coinciden con una categoría de preguntas y respuestas.
      • Preguntas y categorías: devuelve las preguntas y respuestas en las que las palabras clave de la entrada de usuario coinciden con la categoría de preguntas y respuestas o con la respuesta de preguntas y respuestas.
  5. Introduzca una expresión y, a continuación, haga clic en Enviar.

  6. Si es necesario, haga clic en Agregar a la pregunta y, a continuación, vuelva a entrenar el módulo de preguntas y respuestas.

Creación del archivo CSV para realizar pruebas por lotes

Para realizar una prueba por lotes, pruebe la aptitud utilizando un archivo CSV que contenga las preguntas que la aptitud debe responder correctamente junto con las preguntas canónicas (las coincidencias de preguntas y respuestas) devueltas por la aptitud en orden de prioridad. Para describir esto, el archivo CSV utiliza la fila de cabecera, cuyas columnas (de izquierda a derecha) son: languageTag, question, match-1, match-2, match-3, etc.
  • languageTag: código de cinco caracteres que representa el idioma y la configuración regional en la que se expresan las preguntas de prueba y las preguntas de coincidencia. Por ejemplo, en-US.

  • question: pregunta de prueba. Esta pregunta no tiene que coincidir con ninguna de las preguntas de entrenamiento, pero debe representar una pregunta típica que un usuario puede plantear para el tema indicado.

  • match-1 match-2…: la primera de las preguntas canónicas que cree que se debería recuperar la pregunta de prueba. Se muestran las preguntas canónicas de todas las coincidencias de Preguntas y respuestas. Si la pregunta de prueba solo tiene que devolver una coincidencia de Preguntas y respuestas, introduzca la pregunta en la columna match-1 y deje las columnas de coincidencia restantes vacías.

  • queryInfo: objeto JSON que utiliza offset y categoryPath para profundizar en una categoría y offset y limit para la paginación.
    "{""offset"":0,""categoryPath"":[""General Account Information""],""limit"":3}"
Este CSV representa la base de las coincidencias de preguntas y respuestas esperadas. Utilícelo en diferentes versiones de la aptitud para garantizar un comportamiento consistente. Puede agregar los datos manualmente o editar el log de conversación de preguntas y respuestas. En Prueba por lotes del módulo de preguntas y respuestas, se describe cómo obtener este archivo y cómo editarlo con el comprobador. Una vez completado el conjunto fiable, las actualizaciones solo tienen que reflejar las actualizaciones significativas en el origen de datos de Preguntas y respuestas.

Prueba por lotes del módulo de preguntas y respuestas

Si va a realizar la prueba con un archivo CSV derivado del log de conversaciones de preguntas y respuestas, siga estos pasos:
  • Agregue y configure el componente System.Qna en el flujo de diálogo y, a continuación, chatee con la aptitud para crear un historial de conversaciones.

  • Chatee con la aptitud para crear el historial de conversaciones.

  • Exporte el log de conversación de preguntas y respuestas mediante el menú que se encuentra en el mosaico de la aptitud, seleccionando la opción Log de conversación de preguntas y respuestas en el cuadro de diálogo Exportar log de conversación.

Para realizar una prueba por lotes:
  1. En la ventana de prueba de preguntas y respuestas, active el conmutador Lote.

  2. Seleccione el idioma.

  3. Haga clic en Cargar.

  4. Defina las opciones de prueba en el cuadro de diálogo Cargar preguntas y respuestas y, a continuación, haga clic en Probar.

    • Número máximo de pruebas simultáneas: número de pruebas que se ejecutan en paralelo. Si incrementa el número de pruebas simultáneas, es posible que se agilice la realización de las pruebas, pero también se puede sobrecargar el sistema.

    • Coincidencias que incluir: establece el número de coincidencias de preguntas y respuestas que se incluyen en la prueba.

    • Requerir coincidencias en el mismo orden: permite aprobar o no una coincidencia, en función de su inclusión, o de su posición, entre las coincidencias mejor clasificadas.

    • Si está desactivada, esta opción le permite verificar las coincidencias cuando los usuarios introducen palabras clave, en lugar de preguntas completas.

    • Umbrales de coincidencia: haga clic en Editar para definir el porcentaje mínimo y máximo de tokens que debe contener un par de pregunta y respuesta para que se considere una coincidencia (es decir, una coincidencia de preguntas y respuestas).

      Consejo:

      Defina el mismo valor aquí que el que ha definido para las propiedades qnaMiniumumMatch y minimumMatch. Para obtener más información sobre la definición de los distintos niveles, consulte System.Intent y System.Qna.
    • Hacer coincidir campos: haga clic en Editar para seleccionar el campo (o los campos) de Preguntas y respuestas que debe coincidir con el mensaje de usuario. Las opciones son:
      • Todo: devuelve preguntas y respuestas en las que las palabras clave de la entrada de usuario coinciden con cualquier categoría de preguntas y respuestas, pregunta o respuesta.
      • Preguntas: devuelve las preguntas y respuestas en las que las palabras clave de la entrada de usuario coinciden con las preguntas de preguntas y respuestas.
      • Respuestas: devuelve las preguntas y respuestas en las que las palabras clave de la entrada de usuario coinciden con la respuesta de preguntas y respuestas.
      • Categorías: devuelve las preguntas y respuestas en las que las palabras clave de la entrada de usuario coinciden con una categoría de preguntas y respuestas.
      • Preguntas y categorías: devuelve las preguntas y respuestas en las que las palabras clave de la entrada de usuario coinciden con la categoría de preguntas y respuestas o con la respuesta de preguntas y respuestas.
      Las pruebas fallidas se muestran en la parte superior de los resultados.
  5. Para las coincidencias de preguntas y respuestas que se aprueben, puede aumentar el detalle y agregar preguntas alternativas, modificar las respuestas y, a continuación, volver a entrenar el módulo de preguntas y respuestas. Estas adiciones se realizan en el origen de datos que inicia la aptitud, no en los datos de prueba.

Configuración del flujo de diálogo para preguntas y respuestas

Con el menú Agregar componentes (situado en la parte superior izquierda de la página del flujo de diálogo), puede admitir Preguntas y respuestas en un flujo de diálogo Modo YAML mediante una de las tres plantillas de componentes diferentes:
  • Intención y Preguntas y respuestas: agrega el componente System.Intent, pero con propiedades que establecen el enrutamiento de transición al componente de Preguntas y respuestas cuando se determina que la expresión es una pregunta, no una solicitud transaccional. Propiedades de preguntas y respuestas para el componente System.Intent describe estas propiedades y Creación de una aptitud con flujos de intenciones y preguntas y respuestas describe el proceso general para crear una aptitud con funciones de intenciones y preguntas y respuestas.

  • Preguntas y respuestas: agrega una plantilla con una configuración mínima para un componente System.Intent.

  • Preguntas y respuestas - Avanzada: es igual que la plantilla de preguntas y respuestas, pero proporciona propiedades opcionales para aumentar el control:
    • Configuración de keepTurn para renunciar al control de la aptitud del flujo de diálogo, o bien para conservarlo.

    • Modularidad (llamada a una aptitud dedicada de preguntas y respuestas). Consulte Aptitudes y preguntas y respuestas reutilizables.

    • Tamaño y paginación de preguntas y respuestas.

Para agregar estas plantillas:
  1. Haga clic en Flujos en la barra de navegación izquierda.

  2. Haga clic en Agregar componentes, en la esquina superior izquierda de la página. (Puede que necesite desplazarse hacia arriba si no ve el botón).

  3. Seleccione la paleta de componentes Idioma.

  4. Seleccione una de las tres plantillas de preguntas y respuestas y, a continuación, utilice el menú Insertar después de para colocarla en la definición del flujo de diálogo. Haga clic en Aplicar.
    Nota

    Para implantar el soporte de preguntas y respuestas, tiene que agregar un nuevo componente System.Intent (utilizando la plantilla Intención y Preguntas y respuestas) a la definición del flujo de diálogo o modificar un componente System.Intent que ya exista para activar las transiciones al componente de preguntas y respuestas.

Creación de una aptitud con flujos de intenciones y preguntas y respuestas

  1. Agregue la plantilla Intención con preguntas y respuestas al flujo de diálogo (al que se accede desde Idioma).

  2. Para el componente System.Intent, defina lo siguiente:
    • Agregue qnaEnable: true para activar el enrutador:
      intent:
        component: "System.Intent"
        properties:
          variable: "iResult"
          qnaEnable: true
      
    • Defina una acción de transición al estado de preguntas y respuestas:
          transitions:
            actions:
              Balances: "startBalances"
              Transactions: "startTxns"
              Send Money: "startPayments"
              Track Spending: "startTrackSpending"
              Dispute: "setDate"
              unresolvedIntent: "unresolved"
              qna: "qna"
      
      Si la resolución de la intención está por debajo del umbral de confianza, la aptitud dispara la acción qna que el motor de diálogo envía al estado qna. En este caso, el mensaje de la aptitud incluye solo el enlace Ver respuestas.
      qna:
          component: "System.QnA"
          transitions:
            actions:
              none: "unresolved"
            next: "intent"
      unresolved:
          component: "System.Output"
          properties:
            text: "Sorry I don't understand that question!"
          transitions:
            return: "unresolved"
      
      Sin embargo, cuando el motor de intenciones puede resolver el mensaje por encima del umbral de confianza y parear una pregunta y respuesta, el mensaje de la aptitud incluye enlaces para la intención y la respuesta de preguntas y respuestas.No obstante, cuando el motor de intenciones clasifica el mensaje como una solicitud en lugar de una pregunta, la aptitud omite Preguntas y respuestas y encamina al flujo de intención. En este caso, el mensaje solo incluye la opción de intención.

      Para modificar este comportamiento, agregue palabras y frases que aclaren el enrutamiento de la intención y defina la propiedad qnaSkipIfIntentFound de System.Intent.

Ejemplos del cuadro de diálogo de preguntas y respuestas
Enrutamiento de preguntas y respuestas para el componente System.Intent
El siguiente fragmento muestra que el enrutador es activado por la propiedad qnaEnable del componente System.Intent. También muestra la transición al estado con el módulo de preguntas y respuestas y el estado de preguntas y respuestas.

...
  mainIntent:
    component: "System.Intent"
    properties:
      variable: "userInput"
      sourceVariable: "translated"
      qnaEnable: true
      qnaMatchFields: "categories+questions"
    transitions:
      actions:
        Greeting: "greeting"
        Inspire Me: "recommendCategories"
        Returns: "startReturn"
        qna: "qna"
        View Reports: "setMobilePhone"
        TrackOrders: "showOrderStatus"
        unresolvedIntent: "unresolved"
        Vision: "visionBasedProducts"
        Shipping: "startShipping"
...
  qna:
    component: "System.QnA"  
Compatibilidad multilingüe y con idiomas extranjeros para preguntas y respuestas
Use esta configuración para las aptitudes que admitan uno o varios idiomas extranjeros.
  1. Cree un archivo de origen de datos específico para el idioma de destino.
    Nota

    No se admiten orígenes de datos en chino.
  2. Si es necesario, agregue sinónimos o actualice las palabras irrelevantes.

  3. Configure un servicio de traducción. Consulte Agregar un servicio de traducción a una aptitud.

  4. Si la aptitud también incluye funciones transaccionales, ajuste la configuración del enrutamiento.

  5. Configure el flujo de diálogo para el soporte multilingüe. Por ejemplo:
    metadata:
      platformVersion: "1.0"
    main: true
    name: "ChipCardMultipleLingualQnA"
    context:
      variables:
        greeting: "string"
        name: "string"
        cancelChoice: "string"
        rb: "resourcebundle"
    states:
      detect:
        component: "System.DetectLanguage"
        properties:
          ...
        transitions:
          ...
      qna:
        component: "System.QnA"
        properties:
          botName: "ChipCardMultipleLingualQnA"
          matchFields: "categories+questions"
          viewAnswerLabel: "${rb.viewAnswerLabel}"
          moreAnswersLabel: "${rb.moreAnswersLabel}"
        transitions:
          actions:
            none: "unresolved"
          next: "detect"
      unresolved:
        component: "System.Output"
        properties:
          text: "${rb.NoMatch}"
        transitions:
          return: "done"    
Aptitudes reutilizables de preguntas y respuestas

Puede modular las definiciones del flujo de diálogo creando aptitudes reutilizables de preguntas y respuestas a las que se puede llamar utilizando las propiedades botName y QnaBotName que pertenecen a los componentes System.Intent y System.QnA.

Ejemplo: propiedad botName

...
states:
  qna:
    component: "System.QnA"
    properties:
      botName: "FinancialQnABot"
    transitions:
      actions:
        none: "unresolved"
      next: "qna"
  unresolved:
    component: "System.Output"
    properties:
      text: "Sorry, I did not find any match. Can you rephrase the question?"
    transitions:
      return: "done"

Ejemplo: botName y QnABotName

En este fragmento, tanto botName como QnABotName tienen el mismo valor.
states:
  intent:
    component: "System.Intent"
    properties:
      botName: "FinancialQnABot"
      qnaMatchFields: "categories+questions"
      variable: "iResult"
      qnaEnable: true
    transitions:
      actions:
        Balances: "startBalances"
        Transactions: "startTxns"
        Send Money: "startPayments"
        Track Spending: "startTrackSpending"
        Dispute: "setDate"
        unresolvedIntent: "unresolved"
        qna: "qna"
...

  qna:
    component: "System.QnA"
    properties:
      botName: "FinancialQnABot"
      matchFields: "categories+questions"   
    transitions:
      actions:
        none: "unresolved"
      next: "intent"

Ejemplo: botName y qnaBotName en System.Intent

Este fragmento muestra la propiedad botName en dos contextos diferentes: en el componente System.Intent, donde llama a una aptitud transaccional, y en el componente System.Qna, donde llama a una aptitud de preguntas y respuestas.
states:
  intent:
    component: "System.Intent"
    properties:
      botName: "FinancialBot"
      qnaBotName: "FinancialQnABot"
      variable: "iResult"
      qnaEnable: true
    transitions:
      actions:
        Balances: "startBalances"
        Transactions: "startTxns"
        Send Money: "startPayments"
        Track Spending: "startTrackSpending"
        Dispute: "setDate"
        unresolvedIntent: "unresolved"
        qna: "qna"
...

  qna:
    component: "System.QnA"
    properties:
      botName: "FinancialQnABot"   
    transitions:
      actions:
        none: "unresolved"
      next: "intent"

Configuración del enrutamiento de intenciones y preguntas y respuestas

Proporcionamos palabras de uso frecuente y frases iniciales que indican comandos o preguntas en la página Configuración del enrutamiento de preguntas y respuestas. Puede agregar contenido específico del dominio a esta página, que permite al enrutador distinguir entre preguntas y respuestas e intenciones. Para ello:

  1. Haga clic en Configuración (Icono Configuración) en la barra de navegación izquierda.

  2. Haga clic en Configuración del enrutamiento de preguntas y respuestas.

  3. Seleccione un idioma.

  4. Agregue o elimine palabras y frases de las siguientes categorías que afecten al enrutamiento de intenciones.
    • Configuración de transacción: puede agregar verbos y frases que ayuden al motor de intenciones a identificar un mensaje como una transacción.
      • Verbos de solicitud adicionales: los mensajes que empiezan por solicitudes o comandos como comprar, comprobar o cancelar se consideran transaccionales y se encaminan a una intención. Estas palabras, de carácter imperativo, indican una transacción, no una pregunta.

        Mantenemos una biblioteca de verbos muy utilizados para cada idioma soportado. Entre ellos, se incluyen palabras como, por ejemplo, pagar, eliminar y finalizar. Puede agregar verbos de solicitud específicos para un público objetivo o una empresa.

      • Expansión de verbos de solicitud: conjunto de prefijos (a, des, re) que, aplicados a verbos de solicitud agregados al campo Verbos de solicitud adicionales, incrementan el vocabulario que identifica un mensaje como vinculado a una intención.

      • Prefijo de enunciado de solicitud: palabras y frases asociadas a solicitudes, como Puede y No. Los mensajes que empiezan por estas palabras se encaminan como intenciones. Mantenemos una biblioteca, que el usuario puede actualizar, con estas palabras y frases orientadas a transacciones.
    • Configuración de pregunta: conjunto de palabras y frases de uso frecuente en las preguntas. Se incluyen frases como cómo puedo y necesito saber. Indican que un usuario está planteando una pregunta, no solicitando una transacción. Cuando una aptitud recibe un mensaje que comienza con una de estas palabras o frases, optimiza su respuesta dando prioridad al enlace de la respuesta de preguntas y respuestas con respecto al enlace de la respuesta de intención. Por lo general, el comportamiento es el contrario: la aptitud prioriza las intenciones que superan el umbral de confianza configurado. Por ejemplo,si una aptitud recibe ¿Cómo puedo finalizar una política?, puede distinguir fácilmente que el usuario está buscando información y coloca primero el enlace Ver respuestas.

      Si la entrada de usuario es ambigua, es posible que el enlace de preguntas y respuestas no alcance la clasificación superior. Por ejemplo, es posible que el enrutador no consiga identificar puedo finalizar mi política como una intención ni como una preguntas y respuesta. La aptitud muestra ambas opciones porque hay una intención que puntúa por encima del umbral de confianza y una pregunta coincidente, pero clasifica la intención en primer lugar.
      A continuación se muestra la descripción de priorized-intent-response.png
      Descripción de la ilustración prioritized-intent-response.png