A Chatbot has been in existence since 60’s, however, the power of computing and the advancement in technology has limited the application of Chatbots to the masses. By Definition, Chatbot is conversational engine driven by Artificial Intelligence (AI) and Machine Learning. Users can interact with Chatbots through voice and text messaging interfaces.
Chatbots can be categorized into two; Open and Closed Domain. Open domain Chatbots means they are built to respond and learn to any possible interactions that may come their way. Closed domain Chatbot intends to respond to queries built for a specific industry or purpose.
Although there are a few giants in the market who have implemented the open domain Chatbots, the success measurement is yet to be determined. HR Bots such as H# (pronounced Aitch Sharp), is designed and trained for Human Resource Industry, is an example of closed domain Chatbot.
Chatbots are certainly taking over the HR functions by engaging employees using Natural Language Processing (NLP). To understand how the brain of Chatbot processes user messages, a typical Chatbot flow is in 5 steps as:
Data Cleaning / Filtering:
People have distinctive ways of texting. This may be accidentally or intentionally or personal standardization. Example, the word “Thanks” may be written as “Thnks” or “Thanx” or “Ty” to name a few. However, there may be times where typing errors are prone to happen, for instance, “Thkx”. Data cleaning is what goes first to make the actual English meaning out of the typed word. It is the same way how humans do, just when they are acquainted with a new word.
The next step is to understand what a user is seeking to know. This process is called Intent identification. Intent identification is done through permutation of large training data set, so the bot can identify what user might be looking for.
Navigating through data retrieval points
Post intent identification, bots may need to read data from available sources (these sources may be static or dynamic content), which may form the basis of preparing a response. As an example, a user seeking leave application may need to be validated against the available leaves for his profile.
There are no fixed patterns in humans interact for seeking information. A users message may be broken into multiple sentences or single sentence. As an example, If someone wants to apply for leave. They may say, “I want leave” or “I want SL for tomorrow” or “Apply SL” so on and so forth. Unlike earlier where fixed format messages where used in conversations, A Chatbot’s role is to maintain the entire conversation thread so that user patterns are handled and a decision to respond is arrived at.
Once the intent is known and bot has clearly identified what it is supposed to do (through conversational probing), the response can then be prepared and sent to the end user
While the 5 step flow is what typically goes through, there is some learning happening throughout.
A). User Feedback based learning:
A simple mechanism to know, if the bot is doing it right is having a like or dislike button and if a bot understands the user’s messages. Although this quick feedback mechanism may not have many likes, the dislikes will definitely help the administrator to take corrective actions.
B). Trained or Guided learning:
This process involves training the bot with various utterances in which human may try to ask the same question. The training helps the bot better match and arrive at the intent to handle the conversation further.
Even training may at times not be enough to know what user needs. Hence, suggestion (based on closest match) when a bot is confused is the best way to handle the situation. Further, a user may choose from that given suggestion. This crowd sourced data can be used to auto-train the bot.
Having explained how the Chatbot works and the learning mechanisms, the next integral part of the system would be analytics. Common analytics like which transaction was performed, User preferred channel of communication (Anroid, iOS, Facebbook), etc are already built.
However, when it comes to analytics there are two categories of analytics that would be of use. These include;
- Conversation engagement: Helps to find out how long a user has been engaged to complete the conversation. This insight helps to understand messaging style a user interacts to complete a transaction or query with the bot. Further, assisting in reducing the time to complete transactions.
- User Expectations: When users interact with Bots, they are open to seeking any information for which the bot may not be plugged in. In such cases, a bot may not be able to answer at the immediate hour. However, this metric helps to understand queries or transactions expected from Bot by the mass, helping to build a system over user needs.
With all the user information, analytics and bot learning, we ultimately come down to the next level of how AI could ease our tasks, i.e. Suggestive decision making.
Bot being aware of the available data points further can assist in decision making. For example, when a manager receives a leave for application for approval, the bot knowing the team members mapped to the manager can suggest if there are overlapping leaves within the team. This would offer assistance while making such decisions.
“As we see above, Chatbot brain may have been developed by many players in market, hwever, for the brain to be called a Mind, Chatbots will need to be continuously Trained, Learn and Improve from user experiences. This is where closed domain bot like H#, helps an organization to have a well-developed mind than just providing a brain.”
Try deep learning using MATLAB