DEV Community

loading...
Cover image for What Is a Chatbot?

What Is a Chatbot?

Gospel Darlington
Gospel Darlington is a remote Fullstack web developer, prolific with technologies such as VueJs, Angular, ReactJs, and API development.
・8 min read

In this tutorial, you will gain a well-rounded understanding of chatbots, what they are, how they came about, their types, and how they can solve your problems today?

Prerequisites

An enthusiastic mind for web technologies and their use.

Introduction

From sunrise to sunset, technologies keep evolving to try to make human life a lot easier on the planet. A major part of this desire spans from the need for people to simplify their lives and properly manage their time, energy, and resources. We started with oral communication and now we have chat apps and chatbots. We may have used chat apps and also possess some degree of understanding of their operations. But do we really know what chatbots are and how they work? If no, let's jump in and demystify it.

What is a Chatbot?

Pixabay: Mohamed Hassan

A chatbot in its basic form is a computer program that takes a human natural language as an input, processes it, and generates human interpretable results.

Wikipedia classifies a chatbot as a software application used to conduct an online chat conversation via text or text-to-speech, instead of providing direct contact with a live human agent.

To break it down for you, a chatbot takes human input such as text or voice, structures, synthesizes, and processes that input to produce a human simplified response.

A Brief History of Chatbots

pixabay: Geralt

Before the introduction of personal computers, the earliest chatbot was developed. It was built by Joseph Weizenbaum in 1966 and was called Eliza by the MIT Artificial Intelligence Laboratory.

Eliza evaluated the incoming input keywords and then activated them according to a set of criteria. Multiple chatbots still utilize this way of producing output.

Following then, other virtual helpers have been developed. The first to introduce chat engaging aides was Siri by Apple. The idea became popular and shortly after Google debuted its Google Android Assistant. After then, Cortana came into being from Microsoft.

With this in mind, intelligent speakers were created that enabled speech interaction between human beings and chatbots. Another category of chat interface is Amazon's Alexa & Google Home.

Chatbots Use-Cases

Pixabay: D1 TheOne

The following are areas where chatbots are predominantly used for:

  1. Answering Questions And Inquiries.
  2. Booking Tickets To Events/Shows.
  3. Finding Products, Check Inventory and Recommend Items.
  4. Building Remarkable Customer Experience.
  5. Processing Returns and Exchange Requests.
  6. Confirming Orders And Track Shipping.
  7. Collecting Customer Feedback Efficiently.
  8. Assigning Customer Requests To Support Teams.
  9. Promoting Products With Fun Conversations.
  10. Doing Quizzes, Promotions, And Contests With Customers.
  11. Introducing New Products/Services.
  12. Becoming Personal Shopping Assistants, etc.

Before Chatbots - Helpdesk System

Photo by Arlington Research on Unsplash

Before the advent of chatbots, the traditional system used for supporting customers was the helpdesk. The helpdesk system was used for providing timely support for the users enquiring about an institution, product, or service.
This traditional system takes in a pool of incoming calls from well-meaning users around the world and distributes them across an array of available support agents.

Regardless of the empathetic gestures, these companies have towards their customers in resolving their unique issues, the helpdesk system was faced with an inevitable challenge. And this problem is associated with delays and insufficient resources to cater to all user's complaints. Below are the predicaments faced by the helpdesk system to cater to all their customers.

The Problem of The Helpdesk System

Pixabay: islandworks

The helpdesk system was helpful, but not enough to cater to the growing need of the ever-increasing population of our world. This limitation often results in an outburst of quarrels and dissatisfaction on the part of the customers. Because of this handicapping situation of the helpdesk system, businesses, products, and services often bag a negative review from the multitude of customers who had a bad experience resolving their problems with the helpdesks.

The prevailing causes of the annoying situations faced by the customers are classified as follow:

  • The waiting time is unbearable, especially for the customer who urgently wants his problem resolved, the helpdesk quite often can't handle all the incoming calls and emails on a timely basis.

  • The high use of resources often becomes a problem for the company, so companies could only pay for a few helpdesk assistants.

  • The high infrastructural cost also quickly becomes a burden as a business expands, there will always be an inevitable need for workspace expansion and the purchase of new gadgets.

  • The human limitations, working hours daily comes to an end and the workers are always eager to go home for family and other affairs of life.

The Chatbot Solution

The Chatbot Solution

In the course of developing a computer program to handle a chunk of the helpdesk limitations, it was discovered that 90% of the complaints coming from the customers are often common. As such, a computer program was needed to be developed to help customers resolve the problems linked to the most frequent questions asked on the platform, this was how the chatbot came about.

The criteria were that the chatbots must be able to take user input (text or voice) in a human natural language, process, and return a human-understandable response. With this, chatbots were developed and deployed on both web and mobile platforms.

Types of Chatbots

Types of Chatbots

There are generally two types of chatbots which are the traditional or rule-based chatbots and the conversational or AI-based chatbots.

Instead of AI, a rule-based chatbot utilizes a tree flow design pattern to aid visitors with their questions. In other words, the chatbot will help you to get to the right resolution through follow-up questions. All structures and replies are predefined so that the dialogue is under your control.

An AI-based chatbot simulates a user conversation with a natural language through messaging applications. It uses machine learning and natural language processing (NLP) to deliver near human-like conversational experience.

For example, a user name Mark wishes to order an item on an e-store, the conversation will flow in this manner for an AI-based chatbot.

Mark: Hello, I want to place an order.
Chatbot: Hi Mark, I think I can help you here, what do you wish to order?

Mark: A Macbook Air M1 laptop.
Chatbot: Ok, here is a list (1, 2, 3, etc) of available options.

Mark: Cool, can you please add the second one to the cart?
Chatbot: Would you like the one with the 8GB or the 16GB of ram?

Mark: 8GB will be great!
Chatbot: Ok, it's been added to your cart, would you like any more items or you want to checkout?

Mark: No, I'm ok with just that, please checkout.
Chatbot: Ok, your order has been checked out and the details sent to your email. Do you want any other help with our store?

Mark: No, I'm good.
Chatbot: Thanks for shopping with us, do have a great day!

Chatbot & AI

Artificial Intelligence

Chatbots in artificial intelligence constitute a cozy niche (AI). They have several similar components with AI, ML, and DL, to be more exact. Below are definitions of words.

Artificial intelligence (AI) in comparison with natural intelligence shown by people or animals is intelligence shown by machinery.

Machine Learning (ML) is artificial intelligence and informatics discipline that uses data and algorithms to gradually improve the accuracies of the learning process and replicate how people learn.

Deep learning (DL), by contrast, is an artificial intelligence (AI) mechanism that mimics the functioning of the human brain in data processing and decision-making processes.

Modern chatbots use technologies such as natural language processing (NLP), natural language understanding (NLU), and automatic voice recognizing (ASR) in artificial intelligence, machine learning, and deep learning.

Natural language processing (NLP) or Linguistic processing, in particular, how computers processes and analyze vast quantities of natural language input, is a topic of linguistics, computer science, and artificial intelligence.

Natural language understanding (NLU) or natural-language interpretation is a subtopic of natural language processing in artificial intelligence that deals with machine reading comprehension.

Automatic speech recognition (ASR) is the use of computer hardware and software-based techniques to identify and process human voices. It is used to identify the words a person has spoken or to authenticate the identity of the person speaking in the system.

How Chatbots Work

Chatbot Processes

A basic chatbot will take natural input from the user, this could be text or voice data, and send it into the system. The natural language processing (NLP) of the chatbot immediately goes to work in synthesizing the input data. In reality, this natural language processing is composed of unstructured data which is then structured by the natural language understanding layer.

The natural language understanding finds out the actual user intent and queries the knowledge base of the chatbot system thereby returning appropriate answers.

Within the chatbot system, if user input is text-based, natural language understanding (NLU) is used to structure the data. Whereas, if it's a voice input, the automatic speech recognizer (ASR) is used.

Chatbot Frameworks

Chatbot Frameworks

A chatbot framework is a development platform shipped with the necessary software codes and libraries for building a chatbot from scratch.

With a chatbot framework, you can build your own chatbot from scratch and some of these frameworks require only a fragment of coding skills. Below is the list of chatbot frameworks and their respective links.

  1. Wit.ai
  2. IBM Watson
  3. Dialogflow
  4. Pandorabots
  5. BotPress
  6. Microsoft Bot Framework
  7. Rasa Stack
  8. BotKit, etc.

Conclusion

In conclusion, we have learned quite a lot about chatbots in this tutorial. We have covered the basic nitty-gritty of chatbots, what they are, how they operate, and how they can make your life and business better.

CometChat is dedicated to always sensitize you to new technologies, especially as regards web and mobile communications. You can also check our latest products such as the ChatAPI or the ChatSDK on our site.

About Author

Gospel Darlington is a remote full-stack web developer, prolific in Frontend and API development. He takes a huge interest in the development of high-grade and responsive web applications. He is currently exploring new techniques for improving progressive web applications (PWA). Gospel Darlington currently works as a freelancer and spends his free time coaching young people on how to become successful in life. His hobbies include inventing new recipes, book writing, songwriting, and singing. You can reach me on LinkedIn, Twitter, Facebook, or GitHub.

Key resources to learn more about APIs

Discussion (0)