This article was originally published at CodePerfectPlus
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.
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 library. Let's get started!
1. Create Virtual Environment
pipenv
is a python library to create virtual environment easily.
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.
pipenv install chatterbot
pipenv install chatterbot_corpus
3. Create and Train the Chatbot
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
codeperfectplus / Python-ChatBot
Python ChatBot Implementation using chatterbot library
This article was originally published at http://codeperfectplus.herokuapp.com/build-your-first-python-chatbot-in-5-minutes
What is a Chatbot
A chatbot is a software application used to conduct an on-line chat conversation via text or text-to-speech, in lieu of providing direct contact with a live human agent. — According to Wikipedia.
Types of Chatbot
Chatbots can be categorized into two types
Rules- Based Self Learning The Rules Based:- Rules based chatobots 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.
Author
- Project: Python Chatbot
- Author: CodePerfectPlus
- Language: Pyton
- Github: https://github.com/codePerfectPlus
- Website: http://codeperfectplus.herokuapp.com/
More Articles by Author
- What is Simple Linear Regression?
- Logistic Regression for Machine Learning Problem
- 5 Tips for Computer Programming Beginners
- What Is Git and GitHub?
- Difference Between Machine Learning and Artificial Intelligence
Top comments (5)
I am having error.
NameError Traceback (most recent call last)
in ()
21 database_uri='sqlite:///database.sqlite3')
22
---> 23 trainer = ChatterBotCorpusTrainer(bot)
24 # Train based on the english corpus
25 trainer.train(
NameError: name 'bot' is not defined
That issue was due to indentation error. You can find full code error.
codePerfectPlus / Python-ChatBot
This article was originally published at codeperfectplus.herokuapp.com/buil...
What is a Chatbot
A chatbot is a software application used to conduct an on-line chat conversation via text or text-to-speech, in lieu of providing direct contact with a live human agent. — According to Wikipedia.
Types of Chatbot
Chatbots can be categorized into two types
Rules- Based Self Learning The Rules Based:- Rules based chatobots 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.
Author
problem resolved, thank you
Welcome
It's awesome brother