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.
fromchatterbotimportChatBotfromchatterbot.trainersimportChatterBotCorpusTrainerBOTNAME="Pyter"defstart():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}")whileTrue:try:bot_input=input("You: ")bot_respose=bot.get_response(bot_input)print(f"{BOTNAME}: {bot_respose}")except(KeyboardInterrupt,EOFError,SystemExit):breakif__name__=="__main__":start()
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.