Actions In IBM Watson Assistant Now Support Digression

And Digression Is Integral To Having A Natural Conversation

Cobus Greyling
6 min readJul 22, 2021

--

Introduction

When a chatbot is designed and developed the most common approach is to create different happy paths or journeys for each intent. A user expresses an intent which needs to be fulfilled, and the appropriate journey is invoked.

A top intent layer detects the intent and routes the conversation to a specific journey or path. Digression between the conversational nodes are essential for a natural conversation.

Tools like disambiguation might be used to hone in on the most relevant intent.

Often, once the conversation is assigned to a journey or path, the user has difficulty to digress. This means, the user cannot break out of a specific journey into another.

Or to be more granular, break out to a specific conversational node in another journey.

Digression is a common and natural part of most conversations. The speaker, introduces a topic, subsequently the speaker can introduce a story that seems to be unrelated. And then return to the original topic.

Read more about digression in general here.

Digression can also be explained in the following way… when an user is in the middle of a dialog, also referred to customer journey, Topic or user story.

And, it is designed to achieve a single goal, but the user decides to abruptly switch the topic to initiate a dialog flow that is designed to address a different goal.

Actions In IBM Watson Assistant

Since the introduction of Actions on 28 October 2020, actions proved itself to be a valuable addition to Watson Assistant. Not only as an additional skill type, but also as a way to augment Dialog Skills in different ways.

An now, from 20 May 2021, Actions skills have another improvement…

The option within an action to digress to another action.

At the end of the step, within the Action skill, there is a new sixth choice.

This choice allows you to invoke another Action within your action skill.

Most often you will invoke an action which performs a specific task. This task might be something like authentication and verification. Or an action where you transfer to an agent.

The way the action is invoked reminds me of subdialogs in VoiceXML. And, you can choose what happens once the sub-dialog is completed. Upon return continue, or end the current action.

You do not have the option to drop into a specific step within the destination Action though.

Six Options To End An Action Step

Go To Another Action

As discussed, this allows you to call one action from another action, to switch the conversation flow to another action to perform a certain task. Then choose to continue on return, or end the Action.

Continue To Next Step

Go to the next step in the steps list of the Action. You can have conditions set for continuing.

Return to A Previous step

Go to a step that is defined earlier in the current action.

Search For The Answer

This is where you can access a knowledge base using Watson Discovery to search for an answer and return it to the user.

Connect To Agent

Transfers the conversation to an live agent.

End The Action

Indicates that this action is complete. This is typically when the conversation has come to an end.

Practical Implementation Of Digression

This is a simple and practical implementation of digressing from one Action to another. In the image below you can see two actions listed. One action is getting the balance of a credit card. The other action is general customer service.

Here you can see two actions listed.

We are going to start our conversation in the Balance Action and from there migrate to the Customer Service Action.

Below are the six options in which the step within an Action can end. Our choice is the third from the top, Go to another action.

The six ways a step in an action can end. With the digression option third from the top.

In the image below, within the step, a condition is set, and the next step needs to be defined at the bottom.

Within the step, a condition is set, and the next step needs to be defined at the bottom.

The condition is still visible and we select to go to another action.

The condition is still visible and we select to go to another action.

The condition is still visible and we select to go to another action. For an instance where an authentication Action is invoked, you will need to continue.

For instances where you invoke a end of conversation survey Action, or wrap-up action, then you will end the action once the subaction is completed.

From the dropdown the Action to digress to is defined, and the option can be ticked to end the Action or continue.

In this case we want to continue, upon return. As seen here…

In our example we want to return and continue.

As seen below, this is the Balance Action, constituted by four steps. Step one asks the account type from the user. Step two confirms the account choice with the user. Step three is where we digress into another Action.

Lastly we return and continue to step four. Where the Action is completed or ends.

This is the Balance Action, with four steps. And step three digresses away to another Action.

In this image below, we have the Action steps on the left, matched to the preview on the right. The preview is how the customer or user will experience the conversational interface.

Obviously from an user perspective the transition between Actions are seamless and completely transparent.

A side-by-side view of the steps in the left, and the preview on the right.

It is clear that certain actions can be created for the sole purpose to be invoked by other actions and in this way achieve some efficiency, reusability and consistency.

Conclusion

The easy approach is to structure the conversation very firmly from the chatbot’s perspective. And funnel the user in and out of the conversational interface, this might even present very favorably in reporting. But the user experience is appalling.

Overly structuring the conversation breaks the beauty of a conversational interface. Unstructured conversational interfaces is hard to craft but makes for an exceptional user experience.

One of the reasons is that user’s are so accustomed to having to structure their input, that they want to enjoy and exercise the freedom of speech (spoken or text), which can lead to disappointment if the expectation of freedom is not met.

--

--

Cobus Greyling

I explore and write about all things at the intersection of AI & language; LLMs/NLP/NLU, Chat/Voicebots, CCAI. www.cobusgreyling.com