Now With IBM Watson Assistant Your Chatbot Can Learn Automatically
The New Feature Called Autolearning enables Chatbots To Learn From Customers Conversations
On 19 August 2020 IBM Watson Assistant launched autolearning.
The tagline from IBM is, Empower your skill to learn automatically with autolearning. This sounds very promising, and is indeed a step in the right direction. The big question of course is to what extend it learns automatically.
After building a prototype I have learned the following:
- It only works when disambiguation is activated and in use.
- Disambiguation relies on a menu.
- The menu sequence is adjusted based on popularity.
- No changes are made to your dialog, entities or intents.
- New utterances show up in Intent Recommendations.
Introducing Structure To A Conversation
The ideal chatbot conversation is just that, conversation-like, in natural language and highly unstructured. When the conversation is not gaining traction, it does make sense to introduce a form of structure.
This form of structure is ideally:
- A short menu of 3 to 4 items presented to the user.
- With Menu Items contextually linked to the context of the last dialog.
- Acting to disambiguate the general context.
- And an option for the user to establish a undetected context.
Once the context is confirmed by the user, the structure can be removed from the conversation. Where the conversation can then ensue unstructured with natural language.
The brief introduction of structure is merely there as a mechanism to further the dialog. This serves as a remedy against fallback proliferation.
The idea behind autolearning is to order these disambiguation menus according to use or user popularity.
More On Autolearning
In short, your chatbot learns from interactions between your customers and your assistants.
Autolearning uses observations of actions that are made by only your customers to improve only your skills.
Autolearning improves the quality of your skill over time. It applies insights that it gains from observing customer interactions to help the skill identify and surface correct answers more often.
The underlying mechanics of autolearning is not visible or tweakable.
This speaks to the general approach of moving complexity away from the user and presenting a simpler UI.
You can use the Customer Effort Notebook to analyze how Autolearning is Improving the user experience.
A practical example:
When a customer asks a question that the assistant isn’t sure it understands, the assistant often shows a list of topics to the customer and asks the customer to choose the right one.
This process is called disambiguation.
If, when a similar list of options is shown, customers most often click the same one option #2, for example), then your skill can learn from that experience.
It can learn that option #2 is the best answer to that type of question. And next time, it can list option #2 as the first choice, so customers can get to it more quickly.
And, if the pattern persists over time, it can change its behavior even more. Instead of making the customer choose from a list of options at all, it can return option #2 as the answer immediately.
The premise of this feature is to improve the disambiguation process over time to such an extend, that eventually the correct option is presented to the user automatically. Hence the chatbot learns how to disambiguate on behalf of the user.
Building A Prototype
Within the skill menu there is an ever growing list of features to enhance your chatbot. Here you will find the autolearning option.
Your skill must be linked to an assistant and you are able to change this assistant. From here you can toggle autolearning on or off.
Firstly we create four simple intents, each of which is related to loans, but different aspects of loans.
The next step in the prototype is to create a dialog with conversational nodes linked to each of the intents.
The idea is that should one of the intents matched, the specific dialog of that intent is entered.
Here I enter the text “I want to know more re loans”. This is a very ambiguous statement, especially in the context of the intents defined. You can see the confidence of the top scoring intent is low.
Here is the exact same user utterance. With the difference that from a chatbot perspective disambiguation is activated. So instead of defaulting to taking a loan, the chatbot tries to disambiguate the user utterance by presenting a menu with options.
In this example you will see a more generic user utterance, and more menu items are presented in an attempt to resolve the ambiguity. This is done automatically by Watson Assistant.
On the left, if the user utterance is paying loan, initially a disambiguation menu is presented with five options. The payment item is second on the list.
After entering the same utterance a few times, and selecting the Pay menu option, the presented menu started changing automatically.
The range presented to the user was narrowing, which is a good sign. And the Pay option moved to the top of the list.
It must be stated again that this is done automatically by Watson Assistant. The options of the disambiguation menu are dynamically and automatically compiled by Watson Assistant. And can be different on entering the same user utterance consecutively.
The same goes for disambiguation. It is performed under the hood and the end-game of this process is to eventually deprecate the disambiguation menu. And Watson Assistant will know what the right option is.
You can see this as the user training the chatbot to match the right intent to the right user utterance.
This new feature might not seem as spectacular as initially thought. However, it is a natural and incremental advancement of the Watson Assistant interface.
Current functionality and ways-of-work is not disrupted by this change.
The idea of disambiguation is augmented and enhanced with ordering the menu intelligently.
But more than that, it offers a safe avenue for continuous improvement via user actions.