Está en la página 1de 7

Visión general del diálogo

Última actualización: 2020-08-03

El diálogo utiliza las intenciones que se identifican en la entrada del usuario,


además del contexto de la aplicación, para interactuar con el usuario y finalmente
proporcionar una respuesta útil.

El diálogo compara intenciones (lo que dicen los usuarios) con respuestas (lo que
responde el bot). La respuesta puede ser la respuesta a una pregunta
como ¿Dónde puedo poner gasolina? o la ejecución de un mandato, como encender
la radio. La intención y la entidad podrían ser suficiente información para
determinar la respuesta correcta. Otra posibilidad es que el diálogo solicite más
información para responder correctamente. Por ejemplo, si un usuario
pregunta ¿Dónde puedo comprar comida? es posible que desee aclarar si busca un
restaurante o una tienda de comestibles, para cenar o para llevar, etc. Puede pedir
más detalles en una respuesta de texto y crear uno o varios nodos hijo para
procesar la nueva entrada.

El diálogo se representa de forma gráfica en Watson Assistant como un árbol.


Cree una rama para procesar cada intención que desea que maneje la
conversación. Una rama se compone de varios nodos.

Nodos del diálogo


Cada nodo del diálogo contiene, como mínimo, una condición y una respuesta.

• Condición: Especifica la información que debe aparecer en la entrada del usuario para
este nodo en el diálogo que se va a activar. La información suele ser una intención
específica. También puede ser un tipo de entidad, un valor de entidad o un valor de
variable de contexto. Consulte Condiciones para obtener más información.
• Respuesta: La expresión que su asistente utiliza para responder al usuario. La
respuesta también se puede configurar de modo que muestre una imagen o una lista
de opciones, o que active acciones mediante programación. Consulte Respuestas para
obtener más información.

Puede pensar en el nodo como si tuviera una construcción de tipo si/entonces


(if/then): si esta condición se cumple, entonces devolver esta respuesta.

Por ejemplo, el siguiente nodo se activa si la función de proceso de lenguaje natural de


su asistente determina que la entrada de usuario contiene la intención #cupcake-menu .
Como consecuencia de que se active el nodo, su asistente responde con una respuesta
adecuada.

Un solo nodo con una condición y respuesta puede gestionar solicitudes sencillas de
usuario. Pero generalmente los usuarios tienen preguntas más sofisticadas o desean
ayuda con tareas más complejas. Puede añadir nodos hijo que soliciten al usuario que
proporcione cualquier información adicional que necesita su asistente.
Flujo del diálogo
Su asistente procesa el diálogo que cree desde el primer nodo en el árbol hasta el
último.
A medida que baja por el árbol, si su asistente encuentra una condición que se cumple,
activa dicho nodo. Luego se mueve por el nodo que ha sido activado para comparar la
entrada del usuario con las condiciones de los nodos hijo. A media que se comprueban
los nodos hijos, pasa de nuevo desde el primer nodo hijo hasta el último.

Su asistente sigue funcionando de esta forma a través del árbol del diálogo, desde el
primer al último nodo, por cada nodo activado, y luego desde el primer al último nodo
hijo, por cada nodo hijo activado hasta alcanzar el último nodo de la rama que se está
siguiendo.
Cuando empiece a crear el diálogo, debe determinar las ramas para desea incluir y
dónde colocarlas. El orden de las ramas es importante porque los nodos se evalúan de
primero a último. Se utiliza el primer nodo raíz cuya condición coincida con la
entrada; los nodos que hay posteriormente por árbol no se activan.

Cuando su asistente alcanza el final de una rama, o cuando no puede encontrar una
condición que se evalúe como verdadera desde el conjunto actual de nodos hijos que
está evaluando, salta de nuevo a la base del árbol. Y una vez más, su asistente procesa
los nodos raíz del primero al último. Si ninguna de las condiciones se evalúa como
verdadera, se devuelve la respuesta del último nodo en el árbol, que normalmente
tiene la condición especial anything_else que siempre se evalúa como verdadera.

Existe la posibilidad de alterar el flujo estándar de primero a último de las siguientes


formas:

• Personalizando lo que sucede después de que se procese un nodo. Por ejemplo, puede
configurar un nodo para saltar directamente a otro nodo después de que se haya
procesado, incluso si el otro nodo está situado con anterioridad en el árbol.
Consulte Definición de lo que hay que hacer a continuación para obtener más
información.
• Configurando respuestas condicionales para saltar a otros nodos. Consulte Respuestas
condicionales para obtener más información.
• Configurando valores de digresión para nodos de diálogo. Las digresiones también
pueden afectar a la forma en que los usuarios se mueven por los nodos en tiempo de
ejecución. Si habilita las digresiones hacia fuera de la mayoría de los nodos y configura
retornos, los usuarios pueden saltar de un nodo a otro y volver de nuevo más
fácilmente. Consulte Digresiones para obtener más información.
Diálogo de ejemplo
Este diagrama muestra una maqueta de un árbol de diálogo creado con el editor de
diálogos de la interfaz gráfica de usuario.

El árbol del diálogo de este diagrama contiene dos nodos de diálogo raíz. Un árbol de
diálogo típico probablemente tenga muchos más nodos, pero esta representación
proporciona una visión general del aspecto que puede tener un subconjunto de nodos.

• El primer nodo raíz está condicionado por un valor de intención. Tiene dos
nodos hijo, cada uno de los cuales está condicionado por un valor de entidad. El
segundo nodo hijo define dos respuestas. La primera respuesta se devuelve al
usuario si el valor de la variable de contexto coincide con el valor especificado
en la condición. De lo contrario, se devuelve la segunda respuesta.

Este tipo de nodo estándar resulta útil para capturar preguntas sobre un
determinado tema y, a continuación, en la respuesta raíz, realizar una pregunta
de seguimiento que gestionan los nodos hijo. Por ejemplo, puede reconocer
una pregunta de usuario sobre descuentos y hacer una pregunta de
seguimiento sobre si el usuario es miembro de una asociación con la que la
empresa tiene acuerdos especiales de descuento. Y los nodos hijo proporcionan
distintas respuestas en función de la respuesta del usuario a la pregunta sobre
la pertenencia a la asociación.

• El segundo nodo raíz es un nodo con ranuras. También está condicionado por
un valor de intención. Define un conjunto de ranuras, una para cada parte de la
información que desea recopilar del usuario. Cada ranura realiza una pregunta
para obtener la respuesta del usuario. Busca un valor de entidad específico en
la respuesta del usuario a la solicitud, que luego guarda en una variable de
contexto de ranura.

Este tipo de nodo resulta útil para recopilar detalles que puede necesitar para
realizar una transacción en nombre del usuario. Por ejemplo, si la intención del
usuario es reservar un vuelo, las ranuras pueden recopilar la información
sobre el lugar de origen y de destino, las fechas de viaje, etc.

También podría gustarte