Monday, 14 September 2020

Build a smart chat bot in under 10 min


What exactly is a chatbot?

A chatbot is an artificial intelligence (AI) software that can simulate a conversation (or a chat) with a user in natural language through messaging applications, websites, mobile apps or through the telephone.

In this tutorial, we will use a fast and easy way to create a chatbot using a ChatterBot library in python.

Why chatbots are important

Chatbot applications streamline interactions between people and services, enhancing customer experience. At the same time, they offer companies new opportunities to improve the customers engagement process and operational efficiency by reducing the typical cost of customer service.

To be successful, a chatbot solution should be able to effectively perform both of these tasks. Human support plays a key role here: Regardless of the kind of approach and the platform, human intervention is crucial in configuring, training and optimizing the chatbot system.


About ChatterBot

ChatterBot is a Python library that makes it easy to generate automated responses to a user’s input. ChatterBot uses a selection of machine learning algorithms to produce different types of responses. This makes it easy for developers to create chat bots and automate conversations with users. For more details about the ideas and concepts behind ChatterBot see the process flow diagram.

How ChatterBot Works

ChatterBot is a Python library designed to make it easy to create software that can engage in conversation.

An untrained instance of ChatterBot starts off with no knowledge of how to communicate. Each time a user enters a statement, the library saves the text that they entered and the text that the statement was in response to. As ChatterBot receives more input the number of responses that it can reply and the accuracy of each response in relation to the input statement increase.

The program selects the closest matching response by searching for the closest matching known statement that matches the input, it then chooses a response from the selection of known responses to that statement.


The code for a simple ChatBot using python ChatterBot library is implemented and provided below. Try it on your own favourite editor to get a proper grasp of the process of building a ChatBot.

Actual Code

# run these commands on your terminal 
pip install chatterbot
pip install chatterbot_corpus

# open a 'chatbot.py' and write these codes inside it

from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer

my_bot = ChatBot(name='MeroBot', read_only = True, logic_adapters = ['chatterbot.logic.MathematicalEvaluation', 'chatterbot.logic.BestMatch'])

from chatterbot.trainers import ChatterBotCorpusTrainer

corpus_trainer = ChatterBotCorpusTrainer(my_bot)
corpus_trainer.train('chatterbot.corpus.english')


print("Bot: Ask me anything.")

exit_list = ['close', 'exit', 'bye', 'quit', 'stop']

while True:
    user_input = input()
    if user_input.lower() in exit_list:
        print("Hope you liked by service")
        break
    else:
        print(my_bot.get_response(user_input))


This bot is capable of answering questions to the topics it was trained on like sports, science, health, etc. If you want more advanced and detailed knowledge on building a chatbot specific to your purpose or business then let me know in comment section.

Hope you liked the post. Be sure to try it out once.

2 comments:

  1. Chatbot for beginners I think this is an informative post and it is very useful and knowledgeable. therefore, I would like to thank you for the efforts you have made in writing this article.

    ReplyDelete
  2. chatbot on website Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, would you mind updating your blog with extra information? It is extremely helpful for me.

    ReplyDelete

Let's make it better!
Comment your thoughts...

Whatsapp Button works on Mobile Device only

Start typing and press Enter to search