Chatbots are a new channel opening up for customers (and potentially employees) to interact with companies and/or government organizations. Since only text is available for interacting with the user, the quality of the conversation is key. As discussed in the last blog titled: How can Chatbots meet expectations? Introducing the Bot Maturity Model , Artificial Intelligence & Language Processing capabilities are crucial in the conversation with the customer.
In this blog, we will discuss the Intelligence area and what can be expected from intelligence when related to maturity levels.
What does intelligence mean in context to Chatbots?
We want the Chatbot to:
- Recognize the intent of a sentence, ‘My bike is stolen’ relates to the intent ‘Bicycle stolen’;
- Identify and allow for typographical errors ‘Byke’ is ‘Bike’ and even cope with language variants (the difference between US and UK English for example);
- Detect the mood of the customer and provide related answers. “I DO NOT AGREE” is different than “I do not agree ;-)”; – Understand the line in the context of a conversation E.g. following the answer to a previous question such as “how do I do that?”
- Realize that there is a difference between names and nouns – Jack London is a proper noun / name and does not imply ‘Jack based out of London;
- If possible relate to previous conversations with me as an end-user or related customers
Intelligence for Chatbots is supported by different capabilities such as:
- A Chatbot response machine is the central engine where all information is brought together,
- Natural Language Processing (NLP) for understanding the intent of a sentence, mood recognition, entity recognition (identifying the key nouns and verbs);
- Context recognition of a conversation (with a state machine for predictive handling) to put a single line into a larger perspective e.g. the context is my HR record. Recognition has several degrees of complexity here. In the simplest form it is a classification problem, but in the hardest form it a more conventional NLP problem, grasping the semantics of something, including the meaning of verbs, nouns and parts-of-speech (POS);
- History analytics to provide context from previous conversations (with the same user or other users). This contains both conversations with the same user as well as pattern recognition based on previous conversations with all other users regarding the same topic – here is where most people associate AI;
- CRM, and specifically all previous interactions with the customer, such as interactions via call centers, email, acquired products and complaints. Knowing the customer will definitely help in understanding the conversation and delivering right answers;
- Event handling, events that are related to a conversation can intervene in the conversation. This can be a single event or multiple events combined together by Complex Event Processing for example a location update from the device the user using to conduct the chat, or correlating chat content across concurrent conversations for people in one area;
- The training model delivers the input for a supervised model, based on which the NLP is able to determine the intent (or meaning) of the sentence the customer delivers in the Chatbots.
- Statistics, this is the most important capability used in the response machine, NLP and the historical analysis.
A key to the processing is what is the likelihood that an intent relates to a sentence, what previous conversations are similar to this conversation, how well do we know the customer, etc. The statistics part takes the chat beyond a Google search. When you ask Google a question, you receive a million possible results. In a Chatbot you are part of a conversation where a second chance for delivering the right information exists. With Chatbots the advantage over a ‘simple’ Google search is that you can ask the additional question ‘Do you mean ….?’
A roadmap towards Intelligence
The above functionality is an ideal situation for the future. When looking at the levels shown in the maturity model, what types of intelligence capabilities can be delivered with the different levels? Every level comes with a degree of complexity in order to deliver the required intelligence. In the below description of the Intelligence Maturity Levels the complexity is elaborated.
Chatbots with Level 1 intelligence support a low level of intelligence aimed at supporting basic conversations. Often, these type of Chatbots are used in demos and can be used as wireframes for mimicking intelligence features. Similar to User Interface wireframes the implementation of the response system is based upon ‘hard wired’ logic. The system can only understand predefined sentences that can be provided to the end-user as menu entries. With the lowest level of complexity this level can be achieved in a short timeframe.
By including line-based and context intelligence level 2 in intelligence maturity is reached. This enables the end-user to communicate via their own language. The response system tries to understand the intent of the lines and can relate the intent to the entire conversation that takes place with the end-user. The line based intelligence is supported by text analytical tooling. This delivers a model that allows several NLP-related techniques to relate a sentence to an intent. Sentences that cannot be related to an intent, could be used as new input for both training the model as well as making human adjustment to the model itself. As such, enriching the language capabilities of the system by usage:
The complexity in a level 2 solution is threefold:
- Find the right NLP tool or combination of tools. Different Open Source packages are available for NLP, such as Stanford NLP and Apache Open NLP, all with their specific capabilities.
- Secondly train the model to understand the conversation in the best way. These training models can be industry specific, so building upon an already available industry specific training model will definitely improve the quality of the conversation.
- Determine the context, what state model can support the conversation and what information should be stored during the conversation.
Making choices on these topics is not a one-off and decided at the start, but should be continuously evaluated and adjusted. Learn and improve by doing is the credo that should be used here.
In order to reach level 3 intelligence, the response system needs to be enriched with information about the end-user included in the conversation (CRM) and historical analysis based upon previous conversations with the end-user, but also previous conversations with different users. This historical analysis can be divided into two categories, manual analysis and Machine Learning. Analytics data can be manually analyzed and fed into the training model. Or a machine learning module which continuously enhance and extend the training model.
The response system is fed with information from NLP, Content, History and CRM and determines, with growing confidence, the best answer towards the end-user. The Context part in this solution is extended to store all relevant information coming from disparate sources.
The complex part in this solution is the way the Chatbot response system combines all information from NLP, Context, Training models, CRM and History analytics is combined and processes this information into an answer with the highest likelihood. The choice for a statistical model, supporting the Chatbot response system, is crucial.
The Chatbot response system, responsible for determining the best answer related to the question the end-user entered, is dependent on multiple information sources and a high quality statistical model supported by data mining algorithms. Open Source tooling, industry models and statistical models are available but it is the choice for the right combination that makes a difference in the response quality. The Intelligence maturity model helps to manage the expectations of what can be expected from the Chatbot.
Thanks to Phil Wilkins and Boy van Dijk for good discussions!