Building conversational chatbots
Notes from Nov’16 Charlotte Bots & AI Meetup
These are some of the questions that came up when presented at Charlotte Bots & AI meetup:
What is a chatbot and why is it relevant?
Yes – this is a good question. There are still a large number of audience outside silicon valley and tech hubs that want to know, what is it all about?
It is a software program designed to take your request and perform the task. Check out formal definition here
- It is Apple Siri for your business. Lets your business sell products, capture leads, stay customers engaged on Messaging platform like Facebook, Slack and Office 365 Teams.
- Assist your team with curated content and timely notifications (helps them to focus on work and stay away from email follow ups).
As customers keep spending more time on Messaging apps, it is important for businesses to cater and reach customers in the messaging platforms.
As Kik, famously said:
Messaging platforms are the new browsers and bots are the websites
Messaging platform is the new Mobile Operating System and bots are the apps
Except bots are “always on” and doesn’t need to be downloaded (and a lot of caveats).
Are we there yet?
NO – we are just beginning. There have been advancements made in messaging platforms and development of chatbots but we have a long road ahead for building smart bots that can handle business and consumer needs.
Today’s bots solve a specific purpose but with the current rate of development and adoption, we could reach maturity levels in next couple of years.
How does bots interact?
As shown, in the slide #3 – bots can interact in 3 different ways
- Human -> Bot directly (Facebook, Skype, Alexa)
- Human -> Human with Bot on the sideline (Google Allo, Slack mentions)
- Bot -> Human used for notifications (Facebook, Slack)
We have strict data policy. What are the options?
There are open source chat platforms that you can host in your data centers and build bots for it. See here:
What is best way to get started with development?
Choose a platform that you would like to target and follow the platform tutorial (with an exception for Slack – where it is better to start with botkit library).
This is an easy approach for internal or simple bots that solve a specific purpose but as the complexity grows, it would be good to checkout other options mentioned in the slide.
Also, the slides cover best practices building chatbots. Check them out.
How to build smart bots?
Smart bots are relative and constantly evolving. You get different level of mileage with different techniques.
- Keywords, regex and distance algorithms. Accuracy less than 50%.
- NLP techniques and packages such as stemming, lemma, bag of words, POS tagging and built-in trained models. Improves accuracy up to 75% (depends on domain and datasets used for training).
- Building custom machine learning or deep learning NLP models can improve the conversation intent but will add significant over head for the development.
Again, these are retrieval bots (as opposed generative bots) mentioned here.