How to Make a Rule based Chatbot in Python using Flask

Tags: python, chatbot, tutorial, machinelearning
Published: 2022-01-08 06:44:07

In this tutorial, we will build a rule based chatbot in python using a flask and deploy it on the flask. 


![How to Make a Rule based Chatbot in Python using Flask](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ffgswbqx7xa2nvia2mnr.png)

## What Exactly is a Chatbot?
Chatbots are computer programs designed to simulate or emulate human interactions through artificial intelligence. You can converse with chatbots the same way you would have a conversation with another person. They are used for various purposes, including customer service, information services, and entertainment, just to name a few.

## What is a Rule based chatbot?
A rule-based chatbot in python is a chatbot that is guided in a sequence; they are straightforward; compared to Artificial intelligent based chatbots, this rule-based chatbot has specific rules. 

We will use a straightforward and short method to build a rule-based chatbot.

![Chatbot chart](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/66ddj3k42wxt83deryyo.jpg)


###Advantages of Rule-based chatbot

* Very easy to develop.
* Time-saving

###Disadvantages of Rule-based chatbot
* Not power and advance as AI-based Chatbot.
* Requires a large number of codes to make a full-scale chatbot.

**Project Prerequisites:**

In this python project, you just need to know basic python. That includes.

* [Python print() function](https://pythonscholar.com/python-programming/python-print-function/)
* [Python Input / Output function](https://pythonscholar.com/python-programming/python-input-and-output/)
* Python flask framework
* [Python functions](https://pythonscholar.com/python-programming/python-function/)
* Basic HTML/CSS

## What will you learn?

* End to End development of python chatbot.
* Basic Input / Output implementation.
* Flask Framework Basic

## How to make rule based chatbot in python?

First, let make a very basic chatbot using basic python skills like input/output and basic condition statements, which will take basic information from the user and print it accordingly.

**Step 1:**  First, we will variables store user information.
```
User_Name  = None
User_Age  = None
User_Job = None
```

**Step 2:** Then, we will take input from the user.
```
print("Hello, I'm a Chatbot \n")
User_Name =  input("What is your name? ")
print("How are you {0}. \n".format(User_Name))
User_Age = input("What is your age? ")
print("Oh, so your age is {0}. \n".format(User_Age))
User_Job = input("What is your job profile? ")
print("So you're a  {0}. \n".format(User_Job))
```

When we run the above program, we will get the following output:

```
Hello, I'm a Chatbot
What is your name? pythonscholar
How are you pythonscholar.
What is your age? 26
Oh, so your age is 26.
What is your job profile? python developer
So you're a python developer.
```

So now, let start creating a real chatbot and deploy it on the flask.

We will use the chatterbot python library, which is mainly developed for building chatbots.
Click below to learn more about chatbot building and deployment.

## [How to Make Smart Chatbot and deploy it on flask](https://pythonscholar.com/python-projects/rule-based-chatbot-in-python-using-flask/)