I recently got a question from a reader who asked if I could help build out a website chatbot similar to a demo bot he linked to.
This question made me realize that people refer to everything as a chatbot (which is great as it expands the industry and leads to more innovation in my opinion) but not everyone notice that there are actually three levels of chatbot AI and they all lead to completely different types of bots - in terms of bot intelligence, skills required to develop, maintainability etc.
Conditional Logic Bot
The first level of chatbot AI is one which doesn't actually have any AI. It is actually a visual if-this-then-that type of chatbot, and can be useful to get going when you are first looking at chatbots.
A good example is the WP Chatbot plugin (which appears to be defunct now unfortunately) that I had on my site previously. Other examples include the various drag-and-drop chatbot builders such as ManyChat, HelloTars etc.
Here is a picture of the builder inside the WP Chatbot plugin:
- Very easy to implement your chatbot
- The most successful "chatbot" case studies are usually conditional logic bots which have no AI. This means it is not so much an "AI breakthrough" as much as a "UI breakthrough" 🙂 People just love chatting with humans/cyborgs/machines etc on the internet.
- You cannot actually capture user's intention. It is a take it or leave it approach where the users have to choose between the choices you provide them.
- If you ever get to a point where you need to add some AI into your chatbot to make it more sophisticated, these conditional logic bot platforms usually don't have any provisions to do that.
A second level of AI is the keyword matching approach used by Chatfuel.
They are mostly conditional logic based, but they allow you to specify the type of keywords that a user might say, and then use that to trigger a corresponding action.
This approach is extremely limited though, and I explain why in another post.
- Easy to get started
- Many successful case studies
- In theory, you can extend it to add some very primitive AI
- Again, it is quite hard to capture the user's intent with plain keyword matching as it can easily fail on negation (I don't want mushrooms on my pizza) as well as sarcasm (yes, your offer is all that I ever want and my life will be complete)
- You cannot build proper dialogs without good NLU, so plain keyword matching will likely be very restricted in its AI capabilities
These are actual NLU (Natural Language Understanding) based bot frameworks. I am most familiar with Dialogflow, but this article also applies to other frameworks such as Microsoft Bot Framework and Amazon Lex.
For example, you can ask basic questions to my SupportBot which was built using Dialogflow - it will revert to selection mode if it cannot understand what you are saying.
So with a bot framework, you have the ability to understand what the user says (based on predefined patterns you supply). If you want to understand how Dialogflow works, you can take a look at my step by step guide.
- It is possible to capture the user's intent
- They provide a lot of flexibility and you can build complex dialogs
- Much steeper learning curve when compared to conditional logic chatbots.
- You may need to hire someone with at least some knowledge of subjects like Machine Learning and Natural Language Understanding if you want to make the most of these frameworks.
Before you start building out your chatbots using a specific bot platform, make sure you understand your goals for building out the chatbot and then choose a suitable platform. For example, it would not even be possible to build a bot like my sports stats bot without using a full fledged bot framework.