Ho ho ho! Santa is a robot?
Having recently joined IBM Watson the world of Artificial Intelligence and Cognitive technologies is something I have had to get up to speed with pretty quickly. One of the most recognisable ways to interact with this technology is through a chatbot.
So I released Santabot into the wild recently, Santa bot is available through Facebook. Santabot can answer most questions that you might have about Christmas or festivities!
So why build a Chatbot?
‘Chatbots are the new apps,” said Microsoft’s CEO Satya Nadella earlier this year
With Facebook now boasting more than 30,000 chatbots on messenger, and tools being built left right and centre to enable developers to build and deploy bots to various platforms everyday, being a person who prefers to do rather than read I thought I would use my limited technical knowledge and give it a try — it can’t be that hard?
As I work with IBM Watson, I was also influenced by our launch of the Watson Conversation service — an ideal platform for aspiring bot-makers like myself.
Chatbots are not really new technology, some have been introduced as far back as the 60’s so why the current hype? Well as consumers we now demand more from our interactions, whether that be with large multi nationals or small man and van traders. Chatbots offer a unique way to achieve great customer service, coupling the hallmarks of quality service quick response time and answering the question the user asks in the way the user wants.
As veteran developer and Twitter hashtag inventor Chris Messina wrote in his blog in January: “2016 will be the year of conversational commerce … you and I will be talking to brands and companies over Facebook Messenger, WhatsApp, Telegram, Slack, and elsewhere before year’s end, and will find it normal.”
How does this all work?
Chatbots are a fairly simple concept to grasp, therefore provide a solution that can be easily rolled out (matter of days or weeks!) and also allow those unfamiliar with the technology to become accustomed to interacting. The vision of text chatting to brands and companies as well as to friends and family — is what’s driving the chatbot excitement in 2016.
Talking to these chatbots works just like messaging a friend, once you’ve added them as a contact. Kik has its own “bot shop” to browse bots in categories including entertainment, lifestyle and games, while business messaging app Slack has a “brilliant bots” list for its corporate users. Facebook messenger allows you to message them directly as if they were a contact.
Being slightly technical I was intrigued by how all this was going to pan out as not only would I have to build a chatbot from scratch 😳 but also interact with what I later found out is called “back end” developing.
So naturally I tried to find the quickest and easiest way to achieve building a chatbot that answered questions Santa would get asked and putting this on facebook — sounds simple? Well actually it is.
I begin by building the basic chatbot within Watson Conversation this uses IBM Watson to power a conversation outlined by you, for those more technically inclined and for the critiques of Watson Conversation most of the what is achieved can be done via alternative methods (java etc.) however the real benefit, was how fast and easy I was able to get a chat going using Watson Conversation with hardly any prior experience! The Graphical interface made life so much more easier than staring at pages of code (for which I have little understanding).
- Watson Conversation is a cognitive bot platform. Conversation provides a machine learning system so that I can teach my bot by example how to understand the intent of questions that users ask of it — for example, “hello” and “hi” are both ways of expressing a greeting that share a common underlying intent. Conversation also includes a structured dialog system that allows me to configure answers to questions and conversational flows where you can have a back-and-forwards conversation with Santabot. These major capabilities of Conversation make it an ideal base for a bot platform.
All in all the process of building from scratch with no prior experience was achieved in around 2 hours. From that Santabot could answer basic Christmas questions such as :
- Who are your reindeer?
- What am I getting for Christmas?
As well as responding to hello etc.
Now the difficult part — “back end” 😰
So having made my Santabot work within Watson Conversation how can I get everybody to interact? Being new to this “bot game” I researched and uncovered:
BotMaster, a simple NodeJS framework for connecting a bot into messaging platforms like Twitter, Messenger and Telegram. BotMaster is engineered by my friend and colleague John-David Wuarin
This enabled me to connect the Watson Conversation service Facebook (tutorial coming soon).
Following this I later discovered Stamplay Giuliano Iacobelli tool that allows lots of API’s to be connected to almost anything! In a nice user interface that removes a lot of the scariness involved with coding! — Think lego for connecting lots of platforms. This allowed me to make my bot do lots of nice things very quickly such as:
- Send a text message to your phone if you get angry (Using Watson Tone analyser & Twilio)
- Create a naughty list of people who swear at Santabot (Using Watson Conversation and Google sheets)
Whilst this can all be achieved through other methods, Botmaster and Stamplay allowed this to all be achieved in a matter of minutes. The rapid development model I tried to take with Santabot (Learn as much as you can as quick as you can and find the easiest way to do it) even surprised me of how fast I could get a Chatbot working within Facebook and doing some really powerful things!
Tutorials of my journey into bot land will surface soon, however with less than a month to go until the big day, Santabot is preparing his sleigh! — whilst the sleigh may not be perfect (yet!) it can still fly!