Build Your First Python Chatbot In 5 Minutes - "Pyter".
Tags: python, machinelearning, computerscience, datascience
Published: 2020-07-17 16:31:00

This article was originally published at [CodePerfectPlus](http://codeperfectplus.herokuapp.com/build-your-first-python-chatbot-in-5-minutes)

In the age of AI, **chatbots** are getting popular day by day. It's industry’s newest tools designed to simplify the interaction between humans and computers. From E-commerce to Healthcare institutions, Everyone wants to use Chatbot for interaction with the user.

#### What is a Chatbot

A ***chatbot*** is a software application used to conduct an online chat conversation via text or text-to-speech, in lieu of providing direct contact with a live human agent.  — According to Wikipedia.

<div class="container text-center my-3">
<img src="https://cdn.pixabay.com/photo/2019/03/21/15/51/chatbot-4071274_960_720.jpg" class="img-fluid border border-white text-center" alt="Build Your First Python Chatbot In 5 Minutes">
</div>

#### Types of Chatbot

Chatbots can be categorized into two types

- Rules-Based
- Self Learning

***The Rules-Based***:- Rules-based chatbots trains a chatbot to answer question-based on pre-trained rules. these type of chatbot are good for simple queries.

***Self-learning chatbot***:- Self-learning chatbots are based on machine learning algorithms and they are smarter than rules-based chatbots. They can learn on their own.

#### How Chatbot Works
AI-powered chatbots are intelligent and can also learn on their own. They use Natural language processing and machine learning algorithm to learn and feed on data.

***E.g:*** Google Assistant, Alexa, Siri

Intelligent AI- chatbot feed on user data and learn and try to improve themselves. They analyze it with complex AI- Algorithms and output response as text or voice.
Since these bots can learn from behaviour and experiences, they can respond to a wide range of queries and commands.

##### Today, we will create python chatbot using [ChatterBot](https://pypi.org/project/ChatterBot) library. Let's get started!

#### 1. Create Virtual Environment

`pipenv` is a python library to create virtual environment easily.
```bash
pip install pipenv
pipenv install
```
#### 2. Install Libraries

We Will Use ChatterBot library to create Simple Python Chatbot. Install `chatterbot` and  `chatterbot_corpus` with the help of pip command.

```bash
pipenv install chatterbot
pipenv install chatterbot_corpus
```
#### 3. Create and Train the Chatbot

```python
from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer

BOTNAME = "Pyter"

def start():
	bot = ChatBot(BOTNAME,
		logic_adapters=[
        {
            'import_path': 'chatterbot.logic.BestMatch',
            'default_response': 'I am sorry, but I do not understand.',
            'maximum_similarity_threshold': 0.90,
        },        
    ],
		preprocessors = [
			"chatterbot.preprocessors.clean_whitespace",
		],
		input_adaptor="chatterbot.input.TerminalAdaptor",
        output_adaptor="chatterbot.output.TerminalAdaptor",
		database_uri='sqlite:///database.sqlite3')

	trainer = ChatterBotCorpusTrainer(bot)

	# Train based on the english corpus
	trainer.train(
		"chatterbot.corpus.english",
		"chatterbot.corpus.english.greetings",
		"chatterbot.corpus.english.conversations",
		)

	print(f"Hello I am {BOTNAME}")

	while True:
		try:
			bot_input = input("You: ")
			bot_respose = bot.get_response(bot_input)
			print(f"{BOTNAME}: {bot_respose}")

		except(KeyboardInterrupt, EOFError, SystemExit):
			break

if __name__ == "__main__":
	start()
```

#### Get Full Code On Github

{% github codePerfectPlus/Python-ChatBot %}

### More Articles by Author

- [What is Simple Linear Regression?](http://codeperfectplus.herokuapp.com/what-is-simple-linear-regression)
- [Logistic Regression for Machine Learning Problem](http://codeperfectplus.herokuapp.com/logistic-regression-for-machine-learning-problem)
- [5 Tips for Computer Programming Beginners](http://codeperfectplus.herokuapp.com/5-tips-for-computer-programming-beginners)
- [What Is Git and GitHub?](http://codeperfectplus.herokuapp.com/what-is-git-and-gitHub)
- [Difference Between Machine Learning and Artificial Intelligence](http://codeperfectplus.herokuapp.com/difference-between-machine-learning-and-AI)

### Join for Weekly Updates.

- [Whatapp Group](https://chat.whatsapp.com/H8lJop5N3AI0BgY9CbKze8)

- [Telegram Channel](https://t.me/codeperfectplus)

## React ❤️ to encourage Author.