Level Set – What is a Chatbot?
A chatbot is a conversational interface that understands natural language – which means that it is an AI-powered application that responds to users via messaging apps(like Slack and Skype) by understanding Natural Language.
If we run an X-Ray on a Chatbot..
So, we now know what a chatbot is but want to dive deeper and see what it is made up of. What components does it need to operate intelligently and give an outstanding digital experience to your users? Let us divide the components within a Chatbot as Essential Components and Optional Components and then discuss each of their functionalities.
Before we start, check out the video below!
Essential Components
Bot Middleware
The Bot Middleware is the heart of the bot’s implementation that can be implemented and deployed similar to the backend(server) component of a web (or) mobile application. It acts as the central controller that handles the following tasks,
- Receive messages from voice and messaging channels
- Check the context of the message in the overall conversational dialog
- Interact with the NLP Engine to extract Intents and Entities from user’s message
- Integrate with Backend Systems of Record to retrieve user-related information
- Log conversations to an analytical store for future analysis
Channel Connector
The channel connectors bring together the bot’s backend with the user interfaces which in this case are messaging channels like Facebook Messenger, Skype for Business, Slack and others. The connectors provide the channel supported method of integration along with mapping capabilities that allow a standard generic message format to be used by your middleware while still supporting multiple channels.
Facebook Rich Text Message -> Channel Connector -> Generic Bot Message Generic Bot Message -> Channel Connector -> Facebook Rich Text Message
NLP Engine
This is where the AI starts coming in, the Natural Language Processor helps to extract user’s intent and any possible entities from their message. This helps the bot’s decision tree to identify what action needs to be taken in the conversation.
For example, I would like to book a ticket from Detroit to Boston on June 19th The NLP understands : {From : Detroit, To : Boston, Date : 6/19/18}
Context Store
Every conversation that has multi-turn dialogs will need context. This is what keeps the conversation going in messaging channels which are asynchronous in nature, unlike a phone call. The bot checks its context store to identify where a user is within a conversation’s dialog and hence continue from that point onwards. This functionality allows bots to ask follow up questions and continue conversations over hours apart.
Enterprise Backend(SoR)
Technically this is not needed for a bot to operate, but for a bot to be successful we feel that it is absolutely critical. Bots feel shallow and generic when they lack the connectivity to the enterprise. A travel bot that understands who you are and what your preferences are is so much better than one that just understands English.
Connectivity to ERPs, CRMs and more allow end users to experience the business through the power of messaging!
Change is inevitable, Growth is OPTIONAL - John C Maxwell
Optional Components
The following components are optional, but help to add immense value to the experience your bot provides.
Cognitive Services
While using an NLP itself is a cognitive service, there are always other things that you can do to enhance the end user’s experience. Here are a few,
- Image Recognition – Use images to search for similar products, process insurance claims, and more right through your chatbot
- Sentiment and Tone Analysis – Analyze your user’s messages to understand them better, respond in a personalized way and ensure that they stay happy
- Language Translation – Convert your chatbot to a global hero in a few clicks by adding a language translation service on top of your NLP layer
Bot Insights
Just as performance insights is important for applications, analyzing your bot’s performance and constantly improving it is just as important. Through conversational logging, you can apply a number of actions such as,
- Analyze user adoption and bot performance
- Visualize the abandonment rate and critical errors the bots are making
- Understand new areas for training the bot to respond to user’s queries
Agent Escalation
Bots cannot answer every question, that is not what they are meant to do. They are meant to answer the most frequently asked questions and handle those for the majority of users. So how do you handle those one-off requests that need a human’s touch?
Bots can escalate conversations to agents so that your users can continue in their messaging channel and speak with an agent, either on request (or) through a trigger mechanism such as angry tone. The agent can visualize the previous conversation with the bot and continue on from there.
Identity and Authentication
The final piece of the puzzle is what every enterprise needs and every developer wants to skip 🙂 Bots are just like applications and in critical industries like Healthcare and Banking they need to be able to authenticate users and validate their identities.
Multiple mechanisms can be implemented to achieve this including standard login, oAuth tokens, and Multi-Factor Authentication with mechanisms like SMS One Time Passwords and Image Recognition.
Want to know more about how to build bots and what you need to get started? Reach out to us at innovation@miraclesoft.com today!
Great assessment thank you for laying it out this way.