Chatbots have recently risen in popularity. I have met many chatbot startups in London and spoken to more than a couple at San Fransisco. Guardian has a section for them, and there is also the Chatbots magazine.
The main promise behind chatbots is that they can provide a more natural interface to interact with computers. However, I think this is not always a good idea and chatbots are overhyped. Some interfaces, e.g. like checking the weather, can be done more easily by conventional means (e.g. googling “weather london”), rather than speaking in natural language.
Also, chatbots are still not nearly as smart as many will have you believe. They are basically “intelligent flowcharts”, that offer functionality that is a bit more advanced than following a flowchart with predetermined choices.
However, chatbots still have their uses in different areas (e.g. customer support). I decided to get a go at them to get a better understanding of the current state of the art. My goal was to create a chatbot that can teach you a few things about machine learning. I called the bot ADANbot, named after my automated data analysis product: adan.io.
There are various platforms that help you build chatbots. Some of them are:
I tried most of them went with wit.ai because it is easy to use and can integrate with various platforms, including Facebook.
In order to kickstart a conversation with the ADANbot, click on “send message” and simply say “hi” or “hello”. It will ask you if you want to analyse a dataset and explain the different options you have depending on your objective. The bot is anything but perfect, but it can help you learn a thing or two about machine learning. Please be patient, because wit.ai can bit a bit laggy when coming up with the responses. Sometimes it can take more than a few seconds. Here is an example of a typical conversation:
Wit.ai is still in beta version, and it was not built for this kind of bot. So, it can be a bit cumbersome to train and it was frustrating at times, as the training can crush, or the bot would learn wrong patterns. I believe the domain should move towards training chatbots by using natural language. If I had to do ADANbot again I might have tried some different tool, or maybe tried to build it from scratch in Python. As it stands it is more of a proof of concept, rather than something that could be properly functional.
Nevertheless, play around with it and let me know what you think!