AI Based Chatbot Using NLP to Facilitate Software Development Process
AI Based Chatbot Using NLP to Facilitate Software Development Process
SOFTWARE DEVELOPMENT
A PROJECT REPORT
Submitted by
of
BACHELOR OF TECHNOLOGY
in
May 2022
C.V. RAMAN GLOBAL UNIVERSITY
BONAFIDE CERTIFICATE
Certified that this project report “AI Based Chatbot using NLP to Learn
Software Development” is the bonafied work of “Chandan Kumar” who
carried out the project work under my supervision.
SIGNATURE SIGNATURE
Dr. Prabodh Kumar Sahoo
Head of the Department Supervisor
ETC
i
C.V. RAMAN GLOBAL UNIVERSITY
CERTIFICATE OF APPROVAL
This is to certify that we have examined the project entitled “AI Based Chatbot
using NLP to Learn Software Development” submitted by Chandan Kumar,
Registration No. – 1801227171, C.V. Raman Global University, Bhubaneswar
Odisha. We here by accord our approval of it as a major project carried out and
presented in a manner required for its acceptance for the partial fulfillment for
the Bachelor Degree of Technology in Electronics and Tele-Communication
Engineering for which it has been submitted. This approval does not
necessarily endorse or accept every statement made, opinion expressed or
conclusions drawn as recorded in this major project, it only signifies the
acceptance of the major project for the purpose it has been submitted.
ii
ACKNOWLEDGEMENT
Finally, I deem it a great pleasure to thank one and all who helped me directly
or indirectly in carrying out this thesis report.
iii
TABLE OF CONTENTS
ABSTRACT VI
1. INTRODUCTION 1
1.1. Objective 2
2. LITERATURE REVIEW 3
3. SYSTEM DESIGN 5
4.2.2 Tokenization 7
iv
4.3. Stemming 8
6. FUTURE WORKS 15
7. CONSLUSION 16
REFERENCES 17
v
ABSTRACT
This project provides an interface that can solve queries of students while
learning the most in-demand technologies like Software Development, Website
Development etc. This thesis demonstrates and presents the design and
development of a Learning Chatbot software integrated with a website that
handles queries through defined intents. The thesis covers the chatbot system
with Artificial Neural Network (ANN) for dealing the language part and
predicting the answers. The aim is to have a balanced user interface that is easy
to access and customized to all the target users.
vi
LIST OF FIGURES
3. Tokenization 7
4. Stemming 8
5. Bag of Words 8
7. Training Results 9
9. About Us Page 10
vii
LIST OF ABBREVIATIONS
1. AI Artificial Intelligence
viii
CHAPTER – 1
INTRODUCTION
NLU follows three specific concepts. They are entities, context, and expectations. Entities
represents an idea to the chatbot. For example, it may be a refund system in an e-commerce
chatbot. Setting implies when a characteristic language understanding calculation identifies
the solicitation and it has no chronicled background of discussion, it won't have the option to
review the solicitation to give the reaction. Assumptions implies Bot should have the option
to fulfil the client assumptions when they make ask for or ask a question client says sends a
request.
Natural Language Processing (NLP) bots are designed to convert the text or speech inputs of
the user into structured data. The information is additionally used to pick an applicable
answer. It comprises Tokenization, Sentiment Analysis, Normalization, Entity Recognition,
and Dependency Parsing.
Types of chatbots:
The chatbots are of two types:
Rule based chatbot.
AI chatbot
Rule Based chatbot are the one which works on the set of predefined rules. In this sort of
bots, discussions map out to imagine what the user may ask and how the chatbot should
respond. They even can’t answer the question outside their scope, like outside the predefined
1
set of rules. They don’t gain from the historical backdrop of discussions. These bots are used
as an FAQ resource.
The AI software powered chatbots use both machine learning and NLP to provide a more
conversational experience. AI powered chatbots also learn with more interactions using a
process based on human reasoning. Machine learning describes algorithms specifically built
to self-improve over time. The algorithm takes in an analyses data based on the performance
of the platform. NLP accounts for the human nuances of the average conversation. It allows
the chatbot to process the context surrounding even a simple question, using inputs that can
range from user credentials to the type of language used.
1.1 Objectives
The main objective of a chatbot is to engage with a user and provide the necessary
information which has been asked.
But as the query length increases the accuracy decreases. So another objective is to
increase the accuracy of the chatbot so that if the user gives his/her query which is
long or comprises multiple sentences the chatbot gives an intelligent reply.
2
CHAPTER – 2
LITERATURE REVIEW
In today’s era digital technology is making our life simple and convenient. Either its finance,
retail, sports, transport, education or health care industry, technology has played an
exceptional role. Let’s take an example of banking industry. It contains multiple electronic
delivery channels to provide services to their customers, one of them is the facility of online
banking. People no more required to wait in the long queues to avail the banking services,
they can now control the bank through their phone. Artificial Intelligence is substantially
changing the world. Banks implement technology to strengthen their processing capacity,
acquire a larger market capital with customer base and expand the services they could offer.
It leads to a better customer experience, assistance and satisfaction of another level to the
customer. The chatbots plays an important role in providing better assistance to the
customers.
Chatbots can analyses and understand not only the content but also the context of the
customer’s questions. As the thesis involves various terms like chatbots, perception and
attitude it becomes imperative to explain each of them. Chatbots are defined as an artificially
conversational agent which is enough intelligent to initiate and simulate human like
conversation.
A lot of work has already been done in this field including the development of conversational
specialist framework. Apart from traditional chatbot development techniques that use rule
based techniques, or simple machine learning algorithms. Many chatbots uses advanced
Natural Language Processing (NLP) techniques and Deep Learning Techniques such as
Artificial Neural Network (ANN).
2.2 Frameworks
There are many frameworks developed by different giants in the field of Artificial
Intelligence for creating and integrating bots. They are:
Botkit from Howdy, based on Node.js. It provides different NLP services, messaging
platforms and databases.
Chatterbot – it is a python library to implement conversational dialog engine for
chatbots using NLP and provides training and logic adapter to match the user input
3
against the training data.
Botpress – it is a framework for creating bots using independent modules and third
parties.
BotMan – it is a PHP library to build chatbot that can be used by itself or in a Laravel-
based bundle and supports several popular messaging channels as well as own drivers.
ANN is derived from Biological Neural Networks that develop the structure of human brain.
It contains neurons that are interconnected to one another in various layers of the networks.
These neurons are known as nodes.
Input Layer: It accepts inputs in several different formats provided by the programmer.
Hidden Layer: It is present in-between input and output layers. It performs all the
calculations to find hidden features and patterns.
Output Layer: The input goes through a series of transformations using the hidden layer,
which finally results in output that is conveyed using this layer.
Chapter – 3
SYSTEM4 DESIGN
This block diagram depicts how the connection between different layers are done and what
processes are performed in a specific layer.
In the presentation layer the user input his/her query and gets the output of that query from
the bot.
In the application layer the query received from the user is processed by the NLP model and
depending on the intents data in data layer the response of the chatbot is predicted by the
NLG model and that response is displayed back to the user in the presentation layer.
The website is designed using the fundamental languages for website development like
HTML, CSS and a little amount of JavaScript. The website contains a navigation menu
through with users can navigate to and browse content of different parts of the website.
The chatbot is linked to the website using the flask server. The chat mode can be activated by
clicking on the message icon on the bottom right corner of the website. The chatbot has its
own interface designed using the same technology.
Chapter – 4
IMPLEMENTATION
6
& TESTING
This chatbot system has been implemented in several steps. These are:
Corpus means the data that could be used to train the NLP model to understand the human
language as text or speech and reply using the same medium. Corpus is usually huge data
with a lot of human interactions.
Manual
Accumulated over time in an organised fashion
Before applying the NLP technique, the case of the corpus is converted either to upper
or the lower case. This will avoid any misrepresentation and misinterpretation of
words if spelt under lower or upper case.
4.2.2 Tokenization
4.3 Stemming
Stemming is done to find the similarity between words with the same root words. It helps in
7
reducing the bag or words by accessing similar words with their corresponding root words.
Since most of the statistical algorithms work with numerical data, therefore it is mandatory to
convert text into numbers. So it can be said that the bag of word is the representation of
words into vectors of numbers 0 (zero) and 1 (one). If the token is present in the given
original sentence the block corresponding to that token for the particular sentence will be
marked as 1 else 0.
A text classifier model is designed and trained on the corpus with respect to the target
variable i.e. the Tag from the corpus. Many classifiers can be used for this purpose like:
In this project, Neural Network Classifier, precisely Artificial Neural Network Classifier is
used. Neural Networks are one of the learning algorithms used within machine learning. They
consist of different layers for analysing and learning data.
A chat utility function is designed to interact with the user till the user calls a ‘quit’. The
predicted response is stored in a response variable and is returned and displayed to the user as
many time as this utility function is called.
CHAPTER – 5
Fig. No. – 7: Training Results
After the implementation of the chatbot and linking it with the website the results obtained
are as follows:
This is the home page of the website. It has a navigation menu at the top right corner
using which the user can navigate through different section of the website.
Fig. No. – 10: Contact Us Page
This is the contact us page. If the user is facing any issue with the system, he/she can
contact the admin or the developer by the help of this form.
Fig. No. – 11: FAQ Page
This is the section for frequently asked questions. The content of this section can be
modified depending on the need.
11
This is the window for chatting with bot. It is activated by clicking on the message icon
available at the bottom right corner of the website. User can write the message in the
space provided and can send it using the send button.
Fig. No. – 13: Initial Conversation 1
The next few figures provide an idea about the responses of the bot. It can be seen in this
image the user sent the message “Hi” to which the bot replied with a message “Hi There,
How Can I Help?”. The further images are the continuation of this chat session.
12
On asking the age the bot replied with “Few Months Old” and name it replied as “I’m
Jarvis”
Fig. No. – 15: Initial Conversation 3
13
Voice bot integration can be done to increase the count of targeted audience.
CHAPTER – 7
15
CONCLUSION
AI driven chatbots have already become an integral part of the technology stack in the
workplace.
Organizations that have adopted AI chatbots have many benefits over those who have
not yet moved to machine learning, automation and artificial intelligence.
AI based chatbots can contribute a lot to improvise the user experience and brand
recognition by offering an interactive tool to the users.
REFERENCES
16
[1] M. Adam, M. Wessel and A. Benlian, "AI-based chatbots in customer service and their effects on
user compliance," in Electronic Markets, Springer, 2021, pp. 427 - 445.
[2] A. Kumar, "AI - Based Chatbot to Improve Self - Guided Learning," IRJET, vol. 8, no. 07 July 2021,
pp. 1 - 8, 2021.
[3] Great Learning, "Basics of building an Artificial Intelligence Chatbot," Great Laerning, 1 Jan 2022.
[Online]. Available: https://www.mygreatlearning.com/blog/basics-of-building-an-artificial-
intelligence-chatbott.
[4] Geeks for Geeks, "Machine Learning," Geeks for Geeks, 11 April 2022. [Online]. Available:
https://www.geeksforgeeks.org/machine-learning/.