They’re everywhere. Every company seems to have one. But what is a chatbot and how is it developed?

Chatbots are intelligent dialog systems that we interact with via text or voice, typically used for customer service or information acquisition. Some chatbots use sophisticated NLP systems, whereas simpler forms scan for keywords, then pull a reply with matching keywords from an existing database of responses. Those simpler chatbots can be easily deployed by using platforms such as Chatfuel, Botsify or FlowXO.

Those framework chatbots can be designed and built without coding or knowledge of AI or Machine Learning. The downside is that conversational capabilities are limited  and it’s a paid service on large scale.

Building a chatbot with a more complex NLP system using Machine Learning is in many cases the better solution. Here are 3 tutorials on how to build an AI chatbot.


How to Make an Amazing Tensorflow Chatbot Easily

Well, ok, it’s not that easy as it says in the title and Siraj speaks and writes code blazing fast, but this video gives a good intro on how chatbots work. He gives a rough overview of the tech behind the chatbot (Recurrent Neural Networks) and dives right into coding. The most important steps as usual: Get the data, build a model, train it, test it. There is no shorter and faster tutorial on chatbots than this one.

Language: Python
Library: TensorFlow


Make a Facebook Chatbot from Scratch in 20 Minutes | BOTS | Quick Code

blondiebytes is amazing! Within 20 min you set up a native Facebook Chatbot. You’ll write some server-side code, host it on Heroku, and then connect it to Facebook. Nice!

Language: Javascript
Framework: Node.js


Edward Bullen – Building a ChatBot with Python, NLTK and scikit

The last tutorial is a longer talk by Edward Bullen, who gives deeper and more detailed insights on language and the Natural Language Processing system that is driving the chatbot. Also, he is using the Machine Learning library Scikit-learn and NLTK, a classic and frequently used Python library for NLP tasks, such as tokenization, stemming, stop word removal, POS-tagging, …

Language: Python
Libraries: NLTK, scikit-learn

Leave a Reply