Many would agree that instant messaging has become a big part of our online lives in the last couple of years .. especially with services like Skype, Facebook Messenger, Kik, Whatsapp, Viber, Telegram and Slack (for us techies). Now, with the advent of chatbots, pretty soon (if not already) instant messaging is likely to get a whole lot bigger and better.
“What’s a chatbot?” I hear you say. Well, think of a chatbot (ok let’s say ‘bot’ from now on) as an app for one of your favorite messaging services. So instead of another human user at the end of your text (or voice) conversations, there is a bot. A bot is the human-like, “intelligent” piece of software on the other end of the chat that you are actually conversing with.
In theory, a bot can potentially do all the things that we already do in conventional websites and mobile apps: search for, or purchase products and services, or make reservations albeit in a more natural and familiar fashion – especially when voice is added to the mix (more on voice later). It’s also probable that bots will do all sorts of things that we just cannot yet imagine.
Doesn’t this sound like Siri? Yes, but while Siri, Google Now, Cortana, etc., can do a lot of general tasks like answering questions and setting reminders, bots can also be developed to perform tasks that are very business specific. Imagine you have a business that sells thousands of services in hundreds of cities and you would like to allow a user to be able to search, choose, and book these services effortlessly through a simple conversation that does not involve an actual salesperson on the other end of the conversation – and all without even asking the customer to install an app on their phone or visiting their website! A bot could definitely be your solution.
Better still, the bot can be developed once and enabled to support all the instant messaging channels that are out there. And with services out there like Twilio they can even work with good old SMS messages – remember those?
So just imagine ordering your favorite pizza on Facebook Messenger, or Whatsapp, etc.
So why now ? In the past, developing artificially intelligent (AI) software that can understand text (in even just plain English) has been a pretty complex area – in fact it still is. However, with the arrival of many third party Natural Language Processing (NLP) services, this task has just gotten much easier. NLP services, such as those offered by innovators like api.ai, Microsoft LUIS and IBM Watson’s Conversation, really make this stuff a breeze to develop.
Using such NLP services’ “agents” – which can be thought of as the brains of our bots – can be created, configured, and trained to parse and understand user text interactions, collect important parameters from the text, and make these available to our bots. A bot can then use these parameters to do some custom processing, e.g. query an internal city/product database based on parameters that the NLP agent was able to pull out of the conversation. Add to this the fact that many of these NLP services can also translate speech to text, and vice versa, then you basically have Siri on steroids.
Here at Boyle Software we recently developed a chatbot proof of concept for a client of ours. We were able to easily develop the chatbot using Node.js and we even integrated it with a choice of two different NLP services: api.ai and Microsoft LUIS. We were particularly impressed with api.ai’s offering which made creating and training our bot very simple indeed. Api.ai support is also excellent!
We are definitely on board the bot bandwagon! If you would like to see some sample code for a simple chat bot, why not head on over to our github repository for a look. Alternatively if you would like us to develop your next bot, do get in touch!