IBM Cloud Docs
Tutorial: Understanding digressions

Documentation about IBM Watson® Assistant for IBM Cloud Pak® for Data has moved. For the most up-to-date version, see Understanding digressions in dialog.

Tutorial: Understanding digressions

In this tutorial, you will see firsthand how digressions work.

Learning objectives

By the time you finish the tutorial, you will understand how:

  • digressions are designed to work
  • digression settings impact the flow of the dialog
  • to test digression settings for a dialog

Duration

This tutorial will take approximately 20 minutes to complete.

Prerequisite

If you have not provisioned an instance of the Watson Assistant service, complete the steps in Provisioning an instance of the service.

Step 1: Import the Digressions showcase dialog skill

First you will need to import the Digression showcase dialog skill into your Watson Assistant instance.

  1. Download the digression-showcase.json file.
  2. In your Watson Assistant instance, click the Import icon.
  3. Click Choose a file, and then select the digression-showcase.json file that you downloaded earlier.
  4. Click Import to finish importing the dialog skill.

Step 2: Temporarily digressing away from dialog

Digressions allow for the user to break away from a dialog branch in order to temporarily change the topic before returning to the original dialog flow. In this step, you will start to book a restaurant reservation, then digress away to ask for the restaurant's hours. After providing the opening hours information, your assistant will return back to the restaurant booking dialog flow.

  1. Click Dialog to switch from the page with intents to a view of the dialog tree.

  2. Click the Try it icon to open the Try it out pane.

  3. Type Book me a restaurant into the text field.

    Your assistant responds with a prompt for the day to reserve, When do you want to go?

  4. Click the Location Location icon next to the response to highlight the node that triggered the response, the Restaurant booking node, in the dialog tree.

    Shows the Restaurant booking node highlighted and the dialog in progress in the Try it out pane.

  5. Type Tomorrow.

    Your assistant responds with a prompt for the time to reserve, What time do you want to go?

  6. You do not know when the restaurant closes, so you ask, What time do you close?

    The bot digresses away from the restaurant booking node to process the Restaurant opening hours node. It responds with, The restaurant is open from 8:00 AM to 10:00 PM. Your assistant then returns to the restaurant booking node, and prompts you again for the reservation time.

    Shows the digression happening in the Try it out pane.

  7. Optional: To complete the dialog flow, type 8pm for the reservation time and 2 for the number of guests.

Congratulations! You have successfully digressed away from and returned to a dialog flow.

Step 3: Disabling slot digressions

In this step, you will edit the digression settting for the restaurant booking node to prevent users from digressing away from it, and see how the setting change impacts the dialog flow.

  1. Let's look at the current digression settings for the Restaurant booking node. Click the node to open it in edit view.

  2. Click Customize, and then click the Digressions tab.

    Shows the digression settings for the Restaurant booking node.

  3. Change the Allow digressions away toggle from on to off, and then click Apply.

  4. Click Close to close the node edit view.

  5. Click Clear in the Try it out pane to reset the dialog.

  6. Type Book me a restaurant.

    Your assistant responds with a prompt for the day to reserve, When do you want to go?

  7. Type Tomorrow.

    Your assistant responds with a prompt for the time to reserve, What time do you want to go?

  8. Ask, What time do you close?

    Your assistant recognizes that the question triggers the #restaurant_opening_hours intent, but ignores it and displays the prompt associated with the @sys-time slot again instead.

You successfully prevented the user from digressing away from the restaurant booking process.

Step 4: Digressing to a node that does not return

You can configure a dialog node to not go back to the node that your assistant digressed away from for the current node to be processed. To demonstrate this, you will change the digression setting for the restaurant hours node. In Step 2, you saw that after digressing away from the restaurant booking node to go to the restaurant opening hours node, your assistant went back to the restaurant booking node to continue with the reservation process. In this exercise, after you change the setting, you will digress away from the Job opportunities dialog to ask about restaurant opening hours and see that your assistant does not return to where it was.

  1. Click to open the Restaurant opening hours node.

  2. Click Customize, and then click the Digressions tab.

  3. Expand the Digressions can come into this node section, and deselect the Return after digression checkbox. Click Apply, and then click Close to close the node edit view.

  4. Click Clear in the Try it out pane to reset the dialog.

  5. To engage the Job opportunities dialog node, type I'm looking for a job.

    Your assistant responds by saying, We are always looking for talented people to add to our team. What type of job are you interested in?

  6. Instead of answering this question, ask the bot an unrelated question. Type What time do you open?

    Your assistant digresses away from the Job opportunities node to the Restaurant opening hours node to answer your question. Your assistant responds with The restaurant is open from 8:00 AM to 10:00 PM.

    Unlike in the previous test, this time the dialog does not pick up where it was in the Job opportunities node. Your assistant does not return to the dialog that was in progress because you changed the setting on the Restaurant opening hours node to not return.

    Shows a conversation that does not return after a digression

Congratulations! You have successfully digressed away from a dialog without returning.

Summary

In this tutorial you experienced how digressions work, and saw how individual dialog node settings can impact the digressions behavior.

Next steps

For help as you configure digressions for your own dialog, see Digressions.