Conversing with Bots

by Sumit Raj

When starting to build a chatbot, it is very important to understand what chatbots do and what their nature is.

You've heard of Siri, IBM Watson, Google Allo, and more. The basic purpose that these bots try to serve is to become an intermediary, and help users become more productive. Bots remove the work from the user about how certain information will be retrieved, or the input format that they may need to provide, to get specific data. Bots tend to become more and more intelligent in handling user data input over time as they gain more insights from it. Chatbots are successful because they eventually learn to give you exactly what you want.

Does it irritate or frustrate you when you have to enter the same name, email ID, address, and pincode every time on different websites? Imagine a single bot that does all of your tasks: ordering food from different vendors, shopping online from various e-commerce companies, or booking a flight or train tickets -- and you don’t have to provide email IDs, shipping addresses, or payment information each time. The bot has the capability to know it already and is intelligent enough to retrieve what is needed when you ask it in your own language (or what in computer science is known as Natural Language.)

Chatbot development is much easier than it used to be. Chatbots did exist decades ago, but their popularity has increased exponentially in recent years.

If you are a technical person or have some idea of how a web or mobile application works, you are familiar with APIs. Any kind of data that you need is available to be consumed in the form of APIs provided by different service providers and institutions. If you are seeking access to weather information, booking tickets, ordering food, getting flight information, converting one language to another language, or posting on Facebook/Twitter, all of it can be done using APIs. These APIs are used by web or mobile based applications to do these tasks. Chatbots can also use these APIs to achieve these same tasks based on our requests.

The reason why chatbots have an edge over traditional methods of getting things done online is that you can do multiple things with the help of a chatbot. It is not just a chatbot, but your virtual personal assistant. Chatbots fulfill the need of being multi-purpose and therefore save a lot of time and money.

Bots are simply machines which are intelligent enough to understand your request and then formulate your request in such a way that is understandable by other software systems to request the data you need.

About the Author

Sumit Raj is a techie at heart who loves coding and building applications. He is a Python expert with a keen interest in Machine Learning and Natural Language Processing. He believes in the idea of writing code which directly impacts revenue of the company. Sumit has worked in multiple domains like Personal Finance Management, Real-Estate, E-commerce, Revenue Analytics to build multiple scalable applications. He has helped various early age startups with their initial design & architecture of the product which got funded later by investors and governments. He comes with a good experience of cutting-edge technologies used in high-volume internet/enterprise applications for scalability, performance tuning & optimization and cost-reduction. In his free time, he likes to write on his blog and answer questions on Computer Programming, Chatbots, Python/Django, Career Advice & Web Development on Quora, having over 1 million views together. Currently, he is working as Senior Solutions Architect at GeoSpark R&D, Bangalore, India building a developer platform for location tracking. You can get to know more about him from his website. http://sumitraj.in/

This article was contributed by Sumit Raj, author of Building Chatbots with Python.