Creating Intent Recommendations For Your Chatbot

Original article was published on Artificial Intelligence on Medium


Watson identified nine different intents from the source data which centers around the various ways users can phrase the question. From the auto-generated recommendations it is evident how the results need to be presented to the user.

For instance:

  • A schedule,
  • or list,
  • or a time for a specific flight.
  • Also airline and day related.

Data Source

For this example our data source is from ATIS Airline Travel Information System. There are various groupings of data, but we are only going to have a look at the atis_flight_time grouping. This constitutes fifty-five recordings.

Test Environment

The test environment is IBM Watson Assistant Plus. Once we have uploaded the the data, Watson evaluates the user utterances and identifies common problem areas that customers mention frequently.

Watson Assistant then displays a set of discrete groups of related candidate user examples that capture the trending customer needs. The groups are so granular in scope that you might choose to add separately-grouped candidate user examples to the same intent.

You can review each recommended intent and the corresponding user examples to choose the ones you want to add to your training data.

Loading Your Source Data

Within the main Watson Assistant console select the tab Recommendation sources. This will take you to the area where you manage your source data.

Managing Recommendation Sources Within Watson

Again, the source data can be from current live conversations. Hence the log from an assistant that is deployed and is actively interacting with customers.

The alternative is uploading a CSV file, or multiple files. The upload process obviously depends to the size of the data set.

Defining Recommendation Sources

The list of utterances can be extracted from support center chat transcripts or other related, recorded customer conversations within the organization.

You will have to decide on a recommendation source type; you cannot have both.

The recommendation source data that you add is used to derive both intent and intent example recommendations.

This is an important feature as the data is grouped into intents. And within each of these defined intents, a list is made by Watson Assistant which constitutes the user examples.

The name of the intents created can be cryptic. It’s best to rename it to something more intelligible for future reference. Obviously you are at liberty to use these generated values a guide and edit and update them as you see fit.

By merely looking at the way Watson Assistant organizes the data will already spark many insights and ideas on organizing the data.

Intent Examples

Examples listed under each intent allows for exposure of that particular intent and increase the accuracy of your model in assigning a user utterance. The number aimed for is between 10 and 20 example utterances for each intent.

Searching for Recommendations on an Intent with no Relative Information

When examining an intent, even a simple one like #Cancel, where the user can cancel any current activity…And searching for user example recommendations, no results could be generated.

This is an accurate result as none of the uploaded reference data related to the #cancel intent.

Again, the aim is to accurately increase the coverage of the intent, and hence enrich the model.

When we select an intent which is related to the training data available, results are yielded.

In the image below you can see the recommended phrases and these can be selected and added to the intent.

What I like about this approach is that it is measured and with full supervision from the user. Data can be uploaded in bulk, but the inspecting and adding of recommendations are manual allowing for a consistent and controlled augmentation of the skill.