ChatBots: The Era of Virtual Assistants Born To Assist Humans
Chatbots are any computer program specially designed to connect with humans either via voice or text methods and stimulate their behaviour as a communication partner.
ChatBot is the buzzword nowadays because of the technology used in its implementation- Artificial Intelligence. These virtual assistants act as a helping hand to humans to complete their daily activities. For instance, shop online, weather forecast, book a cab, product information, etc… Tasks like these are easily managed by the chatbots. You just need to type down your query and wait for the chatbot to do it for you on your behalf.
For instance; Poncho- The Fb cat that provides weather information. While researching on chatbots I thought to experiment with Poncho. What I noticed is, Poncho consists of predefined responses. It picks the keywords like location, and person name and respond based on that.
Here is a quick look;
Poncho: Get Started
Oh, hey, Rachael ! I’m Poncho and I’m here to talk about weather.
I can send you daily weather forecasts! Where do you live? Tell me the name of your city, neighborhood, or postal code.
Rachael: Hey Poncho
Poncho: Hrm, that’s too big of a place to forecast. Can you be a little more specific?
It displays an erroneous message as it did not get the keyword it asked for. Instead it got a different response which was not programmed in the library.
Chatbots like Poncho are implemented using retrieval based model. It is easy to understand and work on. This model is the best for an amateur who wants to learn bot implementation. The responses are picked from predefined classes and resources and no new text is generated. It uses machine translation to understand the context of the user.
Chatbots like Mitsuku are implemented using generic based model. It is hard to understand and work on. This model requires an expert who has knowledge about Artificial Intelligence, Machine Learning, Deep Learning, Natural Language Processing , Natural Language Understanding. The virtual assistants developed using this model are smart and intelligent to understand the context the user types or speaks. Their responses are solely based on what they hear and understand.
To experiment chatbots implemented using generic based model, I started communicating with Millie. Millie is a female chatbot which is under Turing test.
Here’s a quick look at the conversation;
<Rachael> Hi Millie :)
<Millie> :-) Hi there Rachael.
<Rachael> How are you doing today? ;)
<Millie> Ah. i'm doing great, how about you? :-).
<Rachael> I am also doing great :)
<Millie> :-) Glad to hear it. What's new?
<Rachael> I am doing research work on chatbots, could you please help me?
<Millie> Your polite style is very nice. Will you include me in your research?
<Rachael> Thanks Millie. Yes, I would like to include you in my research.
<Millie> That's ok. Gosh! Why would you want to do it? Why do you want to do it so much?
<Rachael> I want to write a blog that's why.
<Millie> Ah I understand now. You should write then. It might be made into a film one day.
<Rachael> Thanks Millie :)
<Millie> :-) Don't mention it.
The above conversation looks more like two individuals are talking to each other and that’s the USP of an intelligent chatbot. She understands the different types of symbolic and textual languages and respond within seconds. Chatbots like these are helpful to solve instant queries and reduce the workload.
Infographic - Difference Between Retrieval Based Model Vs Generic Based Model
The Popular Chat Bots.
There are a number of chatbots for different industries assisting professionals with their daily tasks.
Here’s a look;
Mr. Chatbot: This ChatBot helps users with online shopping. This virtual assistant ask you to connect your store with Facebook Messenger and cater the best shopping experience to your consumer. Mr.Chatbot is the popular eCommerce chatbot that understand natural language and the user context. Users find it easy to communicate and browse what’s trending on your store.
Your.MD: This is a popular chatbot that takes control of your health. You can integrate with Messenger, Telegram or Kik and begin your conversation with a virtual doctor. It asks to check your symptoms or let him know your problem. On the basis of your reply, he guides you further.
Florence Chat: She is a virtual nurse that helps you in keeping track of your health, notifies timely for the medicines,checks symptoms and guides you with health information. You can integrate it on messenger and let her instruct you with the time and medicines to take.
Niki.ai: The female virtual assistant that helps you with food ordering, cab booking, hotel booking, utility bills, mobile and DTH recharge. It provides you with different options that resonates your pain of tapping into an application for recharge. For instance, if you want Niki to recharge your mobile. She will assist you with different options and ask you to select with confirmation option. Your mobile instantly gets recharged by typing yes.
How You Can Build A Smart & Intelligent ChatBot For Your Business
Chatbots are designed and implemented for a specific purpose. The information that is fed in the bot helps users to overcome the issues they find to be complex. The chat bots that are designed for any survey or small tasks will simply ask a set of questions providing a touch and swipe style response using buttons or carousel. But when the complexity of solving an issue increases, the need for a chatbot to be intelligent increases as this can help the bot to solve complex problems effortlessly.
Here are the three concepts you need to consider before developing an intelligent chatbot:
Perception plays a vital role in developing a perfect chatbot incorporating the competency factors required for problem solving. A simple chatbot that you find in platforms like Facebook Messenger represents users with a set of predefined questions along with an option of click or swipe to understand the user input. This method is easy which requires less time in knowing the user behaviour and context. However, this approach lacks the fluency of human communication. Consumer experience also counts. How you want your assistant to be matters. For instance, you want to go for a movie and you ask the chatbot to pick any time in weekend. Now it’s the intelligence of the bot that will make it assess and understand user behaviour and provide you what you asked for.
Picking the example of online shopping. Yes, chatbots have made it easier for users to shop online and pick the best that suits. Assuming you want to buy formal pants for an important meeting. You asked the bot to pick the pants according to your personality. The bot presented a few trendy pants in black, blue and grey colour. Pastel colour pants were not in the list which you needed. The bot made it clear by not displaying the pastel colours in the option. Still you asked for the option seeking for a favourable response (pastel colour pants are not available in the stock. It will be in stock in near future).
Responses like these should be fed in the chatbot so that users don’t find it ignorant. However, you can reduce such complexities following a couple of steps. 1.) Keeping the response limited to question and answer. Let the chatbot fetch the context of the user and respond as per the understanding.
2.) Once the chatbot is capable enough to grasp the user context using NLP/NLU, experiment with it making the chatbot understands the user behaviour with respect to the input. There are a number of tools available which you can use to add NL abilities in your chatbot such as API.ai, IBM Watson, Wit.ai, etc.
Learning improves skills and ability to understand things better. This is another dimension that helps in increasing chatbot intelligence. Does your chatbot learn? Does he wants to increase its potential to understand user behaviour and inputs? If yes, your chatbot can be a perfect epitome of AI, Deep Learning, NLU/NLP. Each module of the chatbot such as NL understanding and user behaviour can learn to improve the abilities using machine learning teaming up with expert humans. There are a number of Machine learning techniques available: supervised, unsupervised and reinforcements. Each of these techniques can be put into action using different set of algorithms. For instance, understanding user context from the inputs, supervised algorithm is used. To analyse user based on their communication tone, unsupervised algorithm is used. Lastly, in order to learn the instant responses with respect to get going with the conversation (What to say now?), reinforcement algorithm is used. There are different interpretations what we think and speak. Therefore, in the beginning, chatbot will not pick the actual context of the user. Thus, it may fail to understand the context even though it’s capable enough to respond with relevant answer based on the user’s input and context. Such examples are stored in ML module so that each iteration that is either misinterpreted can be resolved to understand the user better the next time.
Planning helps you to streamline your task and complete it without hassle. The same applies with chatbot. Planning is an internal functionality that is a deciding factor for a chatbot to carry out the task a user has requested for. It’s easy for a chatbot to conduct a survey, book a cab, order food as a developer has already instructed the bot which database to look into, what query to hit and fetch the relevant data. This would save the designer and developers efforts to map each iteration taking place between a user and chatbot.
Complexity increases when a chatbot using its own intelligence fetches the information from the relevant database hits the relevant query and respond to user. Once the chatbot figures out which database to look into, which query to pass and what will be the resulting outcome then it is capable enough to smoothen the development process. Thereafter, developers can easily work on what and how a chatbot is required to perform. This has been the focus of a long time that drives the AI research called AI planning. AI planning is a tough task to work on and therefore, there aren’t any easy to use toolkits available that help you with AI planning. However, a few algorithms are available across the web (e.g. STRIPS, GraphPlan). The term AI planning is not much heard or used. But yes, it brings a promise to uplift the future of chatbots.
Chatbots that are implemented now are developed for miniature tasks as mentioned above. But with the in-depth learning, and research on AI, machine learning, natural language processing, natural language understanding, we can come across the chatbots that are more intelligent than the humans in near future.
Do you remember all the hype surrounding chatbots when they first entered the scene? Everyone was excited to have their chance with one. For no real reason other than ... continue reading