There has been a massive surge in the development and usage of Chatbots and conversational User Interface (UI) over the last few months. A quick search can give you insights into the journey of Chatbots, starting from ELIZA back in 1966 which was designed to mimic the human conversation to SIRI launched in 2010 by Apple. These two names above are merely representing the long list that exists, and there is a continuous attempt to use technology for automating human conversation. It would be fair to say that evolution of AI and ML in this decade have paved the way for the era of Chatbots and Personal assistants.
I am sure by now most of us have experienced chatbot and the first reaction is always WOW followed by the question, how does this thing work? To answer this question, firstly let’s look at a simple definition of the Chatbot, “It’s a service powered by Rules and Workflows, combined with Artificial Intelligence and Machine Learning that enables interaction with a human through chat”. To dig deeper, I have highlighted key terms in the definition, these terms refer to the key building block of Chatbot technology and we will look at each one of them in details through the rest of the post.
To begin with, Rules and Workflows represent the business scenario that one intends to automate using Chatbot interface. As this is mostly part of the business layer of any existing application, it gets reused by means of APIs but there is an essential step of transforming existing workflow to fit into conversational steps and embed rules in between as applicable. As conversation will be driven based on how the user chooses to interact with the Chatbot, it’s important for Chatbot to understand what user intends to do. This is where ongoing evolution in AI and ML has been a big factor in the emergence of Natural Language Processing (NLP) services used in Chatbot to map human input to actions and responses. NLP comprises of processing utterances, intents, entities and context. An utterance is a textual input from the user, that Chatbot needs to interpret. An intent represents actions a user wants to perform which is derived from an utterance. If intents are verbs, then entities are nouns. Contexts are state information of user interaction i.e. keeping track of the topics in a conversation. Some of the leading platforms that provide NLP service are api.ai, Microsoft LUIS, Wit.ai, Amazon Lex, and IBM Watson.
As implementing robust conversations using NLP is critical to overall user experience, the medium through which this experience is delivered is equally important. Due to this, NLP systems listed above provide seamless integration with multiple channels. Channels are all the services in which a chatbot can be integrated, for example, Skype, Facebook messenger, Kik, Slack, SMS, email and so on. Additionally, SDKs are provided to integrate Chat interface into existing mobile applications or develop a web client.
Components discussed so far give us multiple options to create conversations and an interface for same, missing piece is connecting to existing application interfaces and data sources for dynamic and context specific details. There are different mechanisms provided for such integration scenarios by platforms and services listed above such as Webhooks, AWS Lambda functions etc. Microsoft provides a Bot Framework and Bot Service (currently launched for preview) can be used to call APIs based on the intent match. Microsoft has also enabled integration of Bing search service into conversations to enable integrated search functionality, we may get more options from other search engines like Google in near future.
On the high level, this covers the key components of Chatbot implementation and leading technology options respectively based on work we have done at Harbinger. I would encourage you to share your thoughts and comments, it will be interesting to know any additions to the tools discussed in the post or your perspective on how chatbot can be applied in your HRTech product.
Want to know more about our recent Chatbot implementation, feel free to reach us to arrange a demo walkthrough and detailed discussion or visit our case study section here.