What’s all the chatter about?

“Please hold and a representative will be with you shortly.” *Plays awful waiting music.*

Yes, we all know that infuriating feeling of being put on hold. They say you will be helped shortly but 20 minutes later you’ve given up and the phone is on speaker as you start doing other things. When someone finally answers the phone you’ve waited so long that you partially forgot what you called for. Then 15 minutes after the call ended you remember but it’s too late and there is no way you’re going to call again. You think, “there has got to be a better way to get help,” and you’re right. There is. It’s called chatbots.

What is a chatbot?

In simple terms, a chatbot is a computer program that is designed to simulate conversations with humans. These conversations typically take place over the internet and can be as simple as asking for the time.

The different types

There are two main types of chatbots used today: the rule-based approach and self-learning chatbots.

Rule-based chatbots can only answer questions based on the specific rules it was trained by. The rules can be simple or complicated but the chatbot just follows the rules. These types of chatbots can be useful when you need a better guarantee of the experience, as self-learning chatbots can be a little less predictable. They are also generally faster and easier to train. Some disadvantages of rule-based chatbots are that they take longer to code as you have to manually write out all the rules. They also have less flexible conversation flow which can decrease user experience.

Self-learning chatbots or AI chatbots can answer questions based on the data that they are given by using AI to determine an appropriate response. Advantages of these types of chatbots include more flexible conversations for better user experiences and continuous improvement as they learn more about human behavior. They also have better decision making skills as their choices include what they have learned and not just their rules. Disadvantages of self-learning chatbots are that they take longer to train because they don’t have set behavioral rules. This lack of rules also means that they are less predictable and sometimes don’t answer very well.

Recently I made a self-learning chatbot using python that answers questions about artificial intelligence. The information is taken from my articles explaining AI and put into an attached document which the chatbot has access to. When you ask it a question it does a quick search into the document to find the answer to respond to your question. The answers were not perfect as sometimes it didn’t respond in the best way but all in all, the project was a success.

Anatomy of a chatbot

How do chatbots work?

First, you have your platforms like a web page or a mobile app that you are using to run the chatbot. These platforms are where you see the input and output of the bot. Once you input a response, the words are processed by a natural language processor (NLP) so that the bot understands what you are saying. After it has understood the response it uses its code to respond appropriately. The code can include machine learning, rules, and / or knowledge given by a data source. The response uses natural language generators (NLG) to transmit the information into the original input language. Then the response appears on the platform.

What are they good for?

Other than using chatbots to eliminate being on hold, what else can they do? You may have noticed that when you say “Hey Google” or “Siri” there is usually a response from your phone. That’s because these are both examples of chatbots. They can be used for personal service like turning on the lights or locking the door. Chatbots are also commonly used these days on websites. A small message pops up in the corner asking if they can help you with anything so that the company can improve their user experience. A less known use of chatbots is in beneficiary apps like Woebot (for mental health) or Duolingo (for language learning). In the case of Woebot, it checks in with you every day to see how you’re doing and provides tips and tricks in managing your health. With Duolingo, you can chat with the bot in any language so you can improve your skills in that language.

Can I make my own chatbot?

Yes! If you are interested in knowing more about chatbots and want to create your own go for it! Your chatbot does not have to be complicated, especially if you are a beginner. If you have never coded before I would recommend learning how to code in python before you start the project, but it is possible to learn as you go. Don’t worry about making your chatbot into some fancy app, it can simply be an online computer program. The best way to learn more about a chatbot is to build one, so go ahead! Build away!

I hope you enjoyed this article on chatbots and will leave a comment down below letting me know what you liked and what I can improve upon.

If you want to read more of my articles check out The science behind a modern day craze; Artificial Intelligence.