Bots – Interpreting Customer Intention

At a Glance

Bots – Interpreting Customer Intention
Using built-in Natural Language Processing (NLP)
Bots – Interpreting Customer Intention
Mapping customer words to likely intentions
Bots – Interpreting Customer Intention
Mapping intentions to response actions

About Bots – Interpreting Customer Intention

Softdial Contact Center™ (SCC) provides a complete solution platform for building any kind of text bot – from a simple dialog with direct questions to the customer to a more sophisticated dialog that can interpret complex sentences used by customers – and act on those messages in many different ways.

Well-configured chatbots deliver an excellent customer experience that can save a customer time and can increase efficiency in the contact centre.

In order to provide the best service for customers, bots must understand the customer’s intention to some extent, no matter how it is expressed.

To support bots, SCC’s versatile flow design tool, Softdial Scripter™ provides :

  • a comprehensive toolset for text processing
  • text-based Natural Language Processing (NLP) facilities.

This page is split into two parts:

  1. Using NLP to Understand Customer Intention
  2. Building an Intentions Directory

 

Part 1 – Using NLP to understand customer intention

Figure 1 shows a very simple example using one of the possibilities that Softdial Scripter offers as a tool set to build bots. All these activities are supported by access to the customer’s data and the creation and use of special dictionaries, available within Scripter.

There is no right way or wrong way of developing such chatbot applications, with the process depending upon the nature of the activities covered by the chatbot and how the chatbot owner wants to engage with customers. In practice a number of scenarios might be developed by Scripter, before the one(s) with the best responses is/are chosen.

In this use case, an internal chatbot handles an upgrade of a TV package by employing Scripter’s text-based NLP engine.

 An example of a chatbot dialog flow using Softdial Scripter
Figure 1: Example of a chatbot dialog flow using Softdial Scripter

In this flow example:

  1. a conversation is initiated by either the chatbot, or the customer
  2. the chatbot asks questions of the customer and qualifies their customer’s ID
  3. if successful, the chatbot asks an open question – How can I help?
  4. the customer requests an upgrade.

At this point (i.e. the Answer step), Scripter can use NLP to interpret the customer’s intention.

Inside Natural Language Processing (NLP)

Scripter’s NLP engine splits the customer message into sentences and words, classifying the words as follows:

An example of an interpreted dialog flow using the Softdial Scripter Natural Language Processing Library
An example of an interpreted dialog flow using NLP

As a result of this process, we have a list of terms to cross reference with a knowledge base to determine which action should be taken e.g. upgrade the TV package.

In this case the customer wrote “I would like to upgrade my TV package”. Analysis of this sentence returns a group of terms – like, upgrade, TV package – as the likely interpretation of the intention of this customer. This can be used to search a multi-term dictionary available from the Scripter text processing library, to determine if there is a matching action.

Let’s say in our dictionary of actions we have the following relationship:
An example of an action definition using a multi-term dictionary search available from Scripter Text Processing Library
An example of an action definition using a multi-term dictionary search

Having interpreted the customer’s intention, the matching action is to present a choice of upgrade packages and ask which one is wanted.

The script flow will keep this loop until the final action, which might be to send a message to the relevant ERP to proceed with the chosen package upgrade.

Part 2 – Building an intentions directory

In order for a chatbot to generate a reasonable response to a customer query, an intentions dictionary is required to map the relationship between relevant terms and then define possible intentions to the chatbot.

In order to build this dictionary, the supervisor will utilise Scripter Designer to define the most relevant responses to any inbound text message.

In Figure 2 we can see how the Intentions Analyser is used to interpret intentions from words customers use.

Verbs such as ‘like’ or ‘want’ are identified and grouped as ‘Positive Intention’.

Nouns such as ‘TV’ or ‘package’ identify the items that the text is concerned with.

Building Intentions from groups of Intention Words

Figure 2: Building Intentions from groups of Intention Words

Having identified individual words in a phrase and flagged those individual words as having an intent, all of the words can be combined to identify the overall intent of the phrase.

Let’s say the NLP identifies words that are contained within the ‘PositiveIntentions’, ‘TVPackage’ and ‘Upgrade’ intents. The combination of these three groupings allows the NLP system to identify an overall intent to the phrase, in this case that the customer wishes to upgrade their TV package (as demonstrated in Figure 3).

List of intentions mapped to responses

Figure 3: List of intentions mapped to responses

List of intentions mapped to responses

There may be many combinations of intentions, each one having a different meaning and requiring a different response. To accommodate this, it is possible to build a library of intentions and to assign to each intention a response which can be sent back to the customer.

Additionally, SCC’s Scripter engine can be triggered to perform other tasks besides simply responding with text, for example:

  • transferring the session to a live agent with the skills needed to handle the session
  • performing a lookup against a database to get an account balance and returning the result to the customer.