A chatbot is a computer program which conducts a conversation via auditory or textual methods. Those bots can perform tasks or services for an individual that are currently offered by websites and mobile apps. According to Gartner’s survey, chatbots will take over the jobs now handled by myriad mobile apps. That may come as a relief to those of us who suffer from app fatigue. It estimates that within four years, 20% of phone interactions will rely on what the company calls Virtual Personal Assistants (or VPAs).
The most growing type of those assistants are the chatbots. Today, chatbots are mainly used for reminding users about their staff, searching the internet, business support, and booking. This trend opened a new approach for conducting online business. For example, Facebook Messenger is now allowing users to interact with businesses to make purchases, chat with customer services and order Uber cars within the app.
No doubt, bots are growing even faster than apps did. There was around 30,000 bots built in 2016 alone, 6,000 were voice activated. Many analysts predicted that chatbots adoption will pick up in 2017. As most chatbots are utilizing existing messaging platforms (e.g. facebook messenger, slack, twitter, skype, etc.), they have a golden chance to overcome all traditional mediums that can reach the users. According to business insiders, messaging apps suppressed social networks by end of 2015. As customers are moving to messaging apps, this will definitely come in favor of chatbots.
How to build chatbots?
There’re many online services that can help in building chatbots. All those services rely on two key concepts: intents and entities. An entity represents a class of object or a data type that is relevant to a user’s purpose. The entities that are used in a particular chatbot will depend on the parameter values required by the service it offers. For example, if there is a bot built for delivering pizza, the entities could be its type, its size, staffing, etc. On the other side, the intent represents the action to be done by the bot to the user. For example, if a bot is designed to handle music, intents can be playing specific track, searching a one on the internet, getting the artist information, buying an album, etc.
Every bot requires some training before going live. This training will make it understand what different users might say. Consider a bot that was built for food recipe; if the user said “hot meal” or “warm one”, then both should be mapped to the same thing. Keep in mind that the more training the bot gets, the better results it will give. Furthermore, training the bot with many keywords will make it understand more users.
NLP online services
There are many online services that eases the development of the Natural Language Processing (NLP) part of the chatbot. NLP is a field of Artificial Intelligence (AI) concerned with the interactions between computers and human languages. Some of those services are free (like wit.ai or api.ai) and some others are paid (like Luis.ai).
Deciding which service fitting a certain business isn’t easy. In our next post, we’ll compare the most well-known service providers, showing the strength and weakness of each one.
If you’ve any question, feel free to type a comment below!