Student Information Chatbot System: Submitted To
Student Information Chatbot System: Submitted To
Student Information Chatbot System: Submitted To
A PROJECT REPORT ON
Submitted By
K.YASUSHMA (18X41F0003)
A.KALYAN KUMAR
Asst PROFESSOR,
JULY-2021
1
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
CERTIFICATE
2
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
DECLARATION
18X41F0003 K. YASUSHMA
3
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
ACKNOWLEDGEMENT
First and foremost, I would like convey our thanks to the Almighty, for the
blessings, and giving me the strength, ability throughout my work to complete the project
successfully without any disruption.
I express our deep sense of gratitude to our respected guide A.Kalyan kumar
from MCA department for his valuable help and guidance. I have to thank her on the way she
helped and guided us patiently and never hesitated to make our things go in a right way,
which helped us to bring this project successfully.
I would like to show our gratitude to the project coordinator Dr. A. Radhika
mam who took keen interest on our project work and guided us all along, till the completion
of our project work by providing all the necessary information and support which helped for
our project completion.
I am very much grateful to Dr. D. Haritha, H.O.D of M.C.A Department, for her
excellent guidance, constant encouragement, suggestions and continuous support throughout
the project are the bases for the success of this project. The support and freedom rendered by
our HOD provided me a lot of opportunity to build my confidence in accomplishing the
project work successfully.
I am really thankful to our respected principal Dr. M. Ekambaram Naidu for his
kind support and also for permitting us to utilize all the necessary facilities of the institution
and providing us with the efficient faculty and the best equipped laboratory which helped us
to carry this project successfully.
Finally our sincere thanks to each and every faculty member of our department and
friends for their valuable help and guidance, who directly or indirectly helped us for the
successful completion of this project. I am thankful to them for the encouragement they have
given us in completing the project.
PROJECT ASSOCIATE
K.YASUSHMA (18X41F0003)
4
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
ABSTRACT
Chatbots or conversational interfaces as they are also known, present a new way
individuals to interact with computer systems. Traditionally, to get a question answered by a
software program involved using a search engine, or filling out a form. A chatbot allows user
to simply ask questions in the same manner that they would address a human. The most well
known chatbots currently are voice chatbots: Alexa and Siri. However, chatbots are currently
being adopted at a high rate on computer chat platforms..
The technology at the core of the rise of the chatbot is natural language processing (“NLP”).
Recent advances in machine learning have greatly improved the accuracy and effectiveness
natural language processing, making chatbots a viable option for many organizations. This
improvement in NLP is firing a great deal of additional research which should lead to be
improvement in the effectiveness of chatbots in the years to come.. The datasets are taken
from our college database.
The objective and scope of this project is knowing the college information and
It has an effective user interface and answers the queries related to examination cell,
admission, academics, users’ attendance , sports, faculty details, placement cell and other
miscellaneous activities.
5
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
TABLE OF CONTENTS
Contents Page No
1. Introduction 8
2. System Analysis
2.1 Existing System 12
2.2 Proposed System 12
2.3 Literature Review 14
2.4 Module Description
2.4.1 Admin Module 15
2.4.2 System Module 15
2.4.3 End-User Module 15
2.5 Hardware Requirements 15
2.6 Software Requirements 15
2.7 Feasibility Study:
2.7.1Technical Feasibility 16
2.7.2 Operational Feasibility 16
2.7.3 Economic Feasibility 16
2.8 Functional Requirements 16
3. System Design
3.1 System architecture 17
3.2 UML diagrams: 19
3.2.1 Class Diagram 20
3.2.2 Use Case diagram 21
3.2.3 Sequence diagram 22
3.3 Trained data 23
3.4 Technologies Description
3.4.1 Python 24
3.4.2 Machine Learning concepts 27
3.4.2.1 NLP 28
6
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
5. Output Screens 53
6. Evaluation Metrics 58
7. Testing 61
8 .Conclusion 63
9. Future Enhancements 63
10. Bibliography 64
7
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
LIST OF FIGURES
1.INTRODUCTION
8
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
This could be text-based, or a spoken conversation (in case of voice-based queries). Chat bots
are basically used for information acquisition. It can run on the local PCs and mobile phones,
though most of the time it is accessed through the internet. It can be compelling,captivating
and spell-bounding. It is a conversational agent which interacts with users in a certain domain
user asking some question or initiating a new topic of discussion. Chat bots can be referred
as software agents that pretend as human entity. These are the agents with AI embedded and
using NLP they can answer to user questions. Predefined knowledge base helps develop a
The need for college inquiry system arises due to various reasons which include: the
slow nature of college website, an outsider would not know where to search for a particular
piece of information, difficult for the person outside college’s domain to extract information.
The smart solution for all the drawbacks lends to the need of the system. The college inquiry
system will provide the response by summarizing the query and then output answers, it also
provides selective information what the user wants. A college system will dispense all answer
relating to domains such as admission, examination cell, notice board, attendance, placement
cell and other miscellaneous domains. The major features of the chatbot are: 1. College
admission related queries could be answered through it. 2. Viewing user profiles and retrieves
attendance and grade/ pointers. 3. College students can get information about examinations .
College inquiry system will act as a fast, standard and informative widget to enhance
9
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
college website’s user experience and bestow users with righteous information. The bot will
analyze user’s queries and understand users’message and then reply accordingly.It uses AI&
NLP. This way users’ time and efforts will be saved and s/he will be equipped with effective
answers. The objectives of this application are: 1.To analyze users queries and understand
message. 2. To provide an answer to the query of the user very effectively. 3.To save the time
of the user since s/he does not have to personally go to the college for inquiry. 4. This system
will help the student to be updated about the college activities. 5. The system will reply using
an effective GUI which implies that as if a real person is talking to the user.
ChatterBot is a Python library designed to make it easy to create software that can
10
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
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
Humans believe that the concept of a chatbot is not realistic and a chatbot will not
be able to provide satisfying answers.Most of the time chatbots are being developed to serve
certain purposes and if a human tries to trick the chatbot it is likely that he will succeed.
Moreover humans do not think that a computer program will be able to satisfy their needs &
they do not even try to interact. Also if a human is aware that a chatbot has extensive
knowledge then he will be more demanding. In the case that we have to convince a human
that the conversation is taking place with another human then an extensive database has to be
used along with certain rules such as answering multiple questions, occurrence of words and
sentence parsing.
2. SYSTEM ANALYSIS
11
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
In Earlier there was no mode of online communication between users. In big or small
organizations communication between users posed a challenge. There was requirement to
record these communications and store the data for further evaluation. The idea is to
automate the existing Simple Chat Room system and make the users to utilize the software so
that their valuable information is stored digitally and can be retrieve for further management
purposes. There was no online method of communicating to different users. There were many
different interfaces available in the market but this method of using windows sockets to
communicate between nodes would be fast and reliable.
This Simple Chat Bot application will enable the user to chat with the logged users in the chat
room. The server should be active. The users shall connect to this server at the predefined
port number. To start using this tool, the user has to ask the query directly with this tool.
Through the application shall allow the user to use the chat room. The user shall be able to
connect to this server and can chat with other users. The user can view o the chat room. The
user can initiate the conversation through the chat window. For the communication to
happen, both the users should have connected to the server. This application is developed
using visual studio code. The windows sockets are used in the application for communication
between client and server. They provide a robust way of communication between nodes. The
user also can clear the chat transcript if required. It also provides an option to save the chat
transcript.
1. Harsh Pawar , Pranav Prabhu, Ajay Yadav, Vincent Mendonca , Joyce Lemos [6], a
chatbot is designed by them using knowledge in database. The proposed system has Online
Enquiry and Online Chatbot System. The development is done using various programming
languages by creating a user friendly graphical interface to send and receive response. The
main purpose is it uses SQL (Structured Query Language) for pattern matching which is been
stored in program [6].
2. Nitesh Thakur, Akshay Hiwrale, Saurabh Selote, Abhijit Shinde and Prof. Namrata
Mahakalkar [10], proposed an artificial chatbot using NLP (Natural Language Processing)
which can be done in two ways the first via written text and the second is via verbal or voice
12
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
communication. Written communication is much easier than the verbal communication. This
paper introduces an interest in some emerging capabilities for evolving speed understanding
and processing in virtual human dialogue system [10].
5. A Web Based College Enquiry Chatbot with Results By Sagar Pawar, Omkar Rane, Ojas
Wankhade, Pradnya Mehta Department of Computer Engineering, MMCOE, Pune, India.
That project is web based application has provide answer query is very efficiently. It also
provide to the user to ask the tuition or private coaching enquiry to the classes, patient of the
hospital to collect information like available Doctors. It is basically
6. In March 2018, Journal for Research – Chatbot for College Related Queries By Mr. Sathis
Kumar .T, N. Vijay Kumar, R. R. Vinodh, T. Vivekananthan, U. Vinoth Kumar. In this
project they are developed a web based application by using DataMining (Process of data-
DWH; Level of data miningETL; Different level of Analysis- Artificial neural networks,
Decision Trees, Nearest Neighbor Method) and Clustering. It provide user to chat any type of
format. This system is trained by the dataset and also trained when come a new question
query and answer them. This system is provide a College’s activities such as date and time
like annual day, sport day and other activities. They generate new responses from scratch.
Generative models are typically based on Machine Translation techniques, but instead of
identify the synthetic similarity for entered Keyword. [2]
13
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
7. Thomas N. T. and Amrita Vishwa designed an AIML and LSA based chatbot to provide
the customer care service over the E- commerce websites. Their approach shows we can
improve the chatbot ability by adding other models to it. In android operating system, we can
implement the chatbot using the various approaches. One of the approaches is shown by
Rushabh Jain and Burhanuddin Lokhandwala in their Android based Chat-Bot paper.
Emanuela Haller and Traian Rebedea, “Designing a Chat-bot that Simulates and Historical
Figure”, IEEE Conference Publications, July 2013.
8. Maja Pantic, Reinier Zwitserloot, and Robbert Jan Grootjans, “Teaching Introductory
Artificial Intelligence using A simple Agent Framework”, IEEE Transactions on Education,
Vol. 48, No. 3, August 2005. This paper describes a flexible method of teaching introductory
artificial intelligence (AI) using a novel, Java-implemented, simple agent framework
developed specifically for the purposes of this course. Although numerous agent frameworks
have been proposed in the vast body of literature, none of these available frameworks proved
to be simple enough to be used by first-year students of computer science. Hence, the authors
set out to create a novel framework that would be suitable for the aims of the course, for the
level of computing skills of the intended group of students, and for the size of this group of
students.
14
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
● Technical Feasibility
15
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
● Operation Feasibility
● Economic Feasibility
To determine whether the proposed system is technically feasible, we should take into
consideration the technical issues involved behind the situation. Technical feasibility center
on the existing computer system and to what extent it can support the proposed addition.
Python and its libraries are technology software which are used to develop Data Analytics.
So, there is no need for additional purchase of any software and these are open source
softwares which are freely available in Internet.
Proposed projects are beneficial only if they can be turned out into information systems that
will meet the user’s operating requirements. Operational feasibility aspects of the project are
to be taken as an important part of the application implementation. This system is operational
feasible since the users are familiar with the technologies and hence there is no need to gear
up the personnel to use the system. Also the system is very friendly and easy to use.
3.SYSTEM DESIGN
16
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
TRAINING DATA:
Training Data is nothing but enriched or labelled data you need to train your models. You
might just need to collect more of it to sharpen your model accuracy. But, the chances of
using your data is pretty low because, as you build a great model you need great training data
at scale
Read the dialogue text from the corpus.
17
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
The test set is a set of observations used to evaluate the performance of the model using
some performance metric. It is important that no observations from the training set are
included
in the test set. If the test set does contain examples from the training set, it will be difficult to
assess whether the algorithm has learned to generalize from the training set or has simply
memorized it.
Class: Greetings
“Good morning”
“Hi, there!”
1. Don’t pretend to be a human Playing bait-and-switch with a user can make them feel that
they have been duped, or that they don’t understand how a system works; both are bad user
experiences. Don’t pull the rug out from under your users. This means not using “is-typing”
indicators or artificial delays to make it seem more human. On the contrary, bot messages
should be styled differently and be clearly labeled in a way that communicates they are not
human. This doesn’t preclude us from giving the bot personality.
2. Respect the chat medium one advantage of smart messaging apps is that we can strip away
a lot of apps and interface and reduce the interaction to a simple chat UI. It would therefore
be pointless to turn around and drop an entire app directly into a conversation. Keep
everything native to the conversational back-and-forth. Every bot interaction is about call and
response, with the bot publishing comments into the chat thread and the end user responding
in the reply area. Bots can’t modify conversations in ways that humans can. At the same time,
make use of conventions: rather than printing out an ungainly URL in a bot response, show a
nicely-formatted card previewing the linked page.
3. Optimize for the end user Bots should be used to improve the end user experience, not just
to make life easier for customer support teams. A designer should ask themselves: would a
human be better for the end user? If the answer is yes, you shouldn’t be using a bot. Bots
should not attempt to replace what humans are good at; rather they should attempt to improve
what humans are slow at. Machines should work; people should think.
TRANING MODELS:
18
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
This means that it is possible to map from a model in the UML to a programming
language Java, C++ or Visual Basic, or even to tables in a relational database or the persistent
store of an object oriented database. This mapping permits forward engineering: the
generation of code from a UML model into a programming language.
The reverse is also possible you can reconstruct a model from an implementation back
into UML. This is a programming language that is used for object-oriented software
development. To organise program code more efficiently, programmers often create “objects”
that are sets of structured data within programs. UML, which has been standardised by the
Object Management Group (OMG), was designed for this purpose.
The language has gained enough support that it has become a standard language for
visualising and constructing software programs.
19
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
In software engineering, a class diagram in the Unified Modelling Language (UML) is a type
of static structure diagram that describes the structure of a system by showing the system’s
classes, their attributes and their relation between the classes.
The class diagram is the main building block in object-oriented modelling. It is used both for
general conceptual modelling of the semantics of the application and for detail modelling
translating the model into programming code. The classes in a class diagram represent both
the main objects and or interactions in the application and the objects to be programmed. In
the class diagram these classes are represented by boxes which contain three parts:
20
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
. Use cases
The sequence diagram shows a detailed flow for a specific use case or even just part of a
specific use case. There are almost self-explanatory. They show the calls between the
different objects in their sequence and can show at a detailed level, different calls to different
objects. A Sequence diagram has two dimensions: The vertical dimension shows the
sequence of messages/calls in the time order that they occur. The horizontal dimension shows
the object instances to which the messages are sent.
21
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
22
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
3.4.1 Python
Python Identifiers:
A Python identifier is a name used to identify a variable, function, class, module or other
object. An identifier starts with a letter A to Z or a to z or an underscore (_) followed by zero
or more letters, underscores and digits (0 to 9).
Python does not allow punctuation characters such as @, $, and % within identifiers. Python
is a case sensitive programming language. Thus, Manpower and manpower are two different
identifiers in Python.
Here are naming conventions for Python identifiers -
23
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
•Class names start with an uppercase letter. All other identifiers start with a lowercase letter.
•Starting an identifier with a single leading underscore indicates that the identifier is private.
•Starting an identifier with two leading underscores indicates a strongly private identifier.
•If the identifier also ends with two trailing underscores, the identifier is a language-defined
special name.
Python Lists:
1. This list() allows only one string value with set of characters.
2. If we give int type data in the list() function then interpreter will throw ‘TypeError’ error.
Eg:
>>> List1=list() #creating empty list
>>>print(List1) []
>>>type(List1) <class 'list'>
Python Tuple:
24
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
>>>tup=tuple([10,20,30,True,'Python'])
>>> print(tup) (10, 20, 30, True, 'Python')
>>> type(tup) <class 'tuple'>
>>> id(tup) 52059760
Dictionary:
Each key is separated from its value by a colon (:), the items are separated by commas, and
the whole thing is enclosed in curly braces. An empty dictionary without any items is written
with just two curly braces, like this: {}.
Keys are unique within a dictionary while values may not be. The values of a dictionary can
be of any type, but the keys must be of an immutable data type such as strings, numbers, or
tuples.
25
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
To access dictionary elements, you can use the familiar square brackets along with the key to
obtain its value. Following is a simple example –
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Name']: ", dict['Name']
print "dict['Age']: ", dict['Age']
When the above code is executed, it produces the following result dict['Name']: Zara
dict['Age']: 7
1. Python is Interpreted:
Python is processed at runtime by the interpreter. You do not need to compile your program
before executing it. This is similar to PERL and PHP.
2. Python is Interactive:
You can actually sit at a Python prompt and interact with the interpreter directly to write your
programs.
Python comes with an interactive interpreter. When you type python in your shell or
command prompt, the python interpreter open up with a >>> prompt and waiting for your
instructions.
>>> says that your are inside the python interpreter
$ python
Python 2.7.6 (default, Apr 24 2015, 09:38:35)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
If you want to exit the Python console at any point, just type exit() or use the shortcut Ctrl +
Z for Windows and Ctrl + D for Mac/Linux. Then you won't see >>> any longer.
3. Python is Object-Oriented:
Dynamically Typed:
Python is a dynamic-typed language. Many other languages are static typed, such as C/C++
and Java.
A static typed language requires the programmer to explicitly tell the computer what type of
“thing” each data value is. For example, in C if you had a variable that was to contain the
26
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
price of something, you would have to declare the variable as a “float” type. This tells the
compiler
that the only data that can be used for that variable must be a floating point number, i.e. a
number with a decimal point. If any other data value was assigned to that variable, the
compiler would give an error when trying to compile the program.
Python is a great language for the beginner-level programmers and supports the development
of a wide range of applications from simple text processing.
Open your text editor, type the following text and save it as “hello.py”.
print "Hello, World!"
And run this program by calling “python hello.py”. Make sure you change to the directory
where you saved the file before doing it.
Python distribution, not just for data science and machine learning but for general purpose
Python development as well. The Anaconda distro provides, first and foremost, a Python
distribution outfitted with easy access to the packages often used in data science: NumPy,
Pandas, Matplotlib, and so on. They’re not simply bundled with Anaconda, but available via
a custom package management system called Conda. Condainstalled packages can include
tricky external binary dependencies that couldn’t be managed through Python’s own Pip.
Each package is kept up-to-date by Anaconda, and many of them are compiled with the Intel
MKL extensions for speed. The other major advantage Anaconda confers is a graphical
environment, the Anaconda Navigator. The Navigator isn’t an IDE, but rather a convenient
GUI front end for Anaconda features including the Conda package manager and
userconfigured virtual environments. You can also user Navigator to manage third-party
applications such as Jupyter notebooks and the Visual Studio Code IDE.
27
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
The process of learning begins with observations or data, such as examples, direct
experience, or instruction, in order to look for patterns in data and make better decisions in
the future. The primary aim is to allow the computers learn automatically without human
intervention or assistance and adjust actions accordingly.
⮚ Supervised machine learning algorithms can apply what has been learned in the
past to new data using labelled examples to predict future events. Starting from the
analysis of a known training dataset, the learning algorithm produces an inferred
function to make predictions about the output values. The system is able to provide
targets for any new input after sufficient training. The learning algorithm can also
compare its output with the correct, intended output and find errors in order to modify
the model accordingly.
⮚ In contrast, unsupervised machine learning algorithms are used when the
information used to train is neither classified nor labelled. Unsupervised learning
studies how systems can infer a function to describe a hidden structure from
unlabelled data. The system doesn’t figure out the right output, but it explores the data
and can draw inferences from datasets to describe hidden structures from unlabelled
data
⮚ Semi-supervised machine learning algorithms fall somewhere in between
supervised and unsupervised learning, since they use both labelled and unlabelled data
for training – typically a small amount of labelled data and a large amount of
unlabelled data. The systems that use this method are able to considerably improve
learning accuracy. Usually, semi-supervised learning is chosen when the acquired
labelled data requires skilled and relevant resources in order to train it / learn from it.
Otherwise, acquiring unlabelled data generally doesn’t require additional resources.
Important Points
● Businesses use massive quantities of unstructured, text-heavy data and need a way to
efficiently process it. A lot of the information created online and stored in databases is
natural human language, and until recently, businesses could not effectively analyze
this data. This is where natural language processing is useful.
28
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
● The advantage of natural language processing can be seen when considering the
following two statements: "Cloud computing insurance should be part of every
service-level agreement," and, "A good SLA ensures an easier night's sleep -- even in
the cloud." If a user relies on natural language processing for search, the program will
recognize that cloud computing is an entity, that cloud is an abbreviated form of cloud
computing and that SLA is an industry acronym for service-level agreement.
Performance of NLP Model
Data preprocessing involves preparing and "cleaning" text data for machines to be
able to analyze it. preprocessing puts data in workable form and highlights features in the text
that an algorithm can work with. There are several ways this can be done, including:
● Tokenization This is when text is broken down into smaller units to work with.
● Stop word removal. This is when common words are removed from text so unique
words that offer the most information about the text remain.
● Lemmatization and stemming. This is when words are reduced to their root forms to
process.
Part-of-speech tagging. This is when words are marked based on the part-of speech they are
-- such as nouns, verbs and adjectives.
29
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
(NLP) is a field that focuses on making natural human language usable by computer
programs. NLTK, or Natural Language Toolkit, is a Python package that you can use for
NLP.
A lot of the data that you could be analyzing is unstructured data and contains human-
readable text. Before you can analyze that data programmatically, you first need to
preprocess it. In this tutorial, you’ll take your first look at the kinds of text
preprocessing tasks you can do with
NLTK so that you’ll be ready to apply them in future projects. You’ll also see how to do
some basic text analysis and create visualizations.
The data file contained in Chatterbot Corpus is formatted using YAML syntax. This format is
used because it is easily readable by both humans and machines
Advantages:
30
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
● Complex Query Language- the system may not be able to provide the correct answer
it the question that is poorly worded or ambiguous.
● The system is built for a single and specific task only; it is unable to adapt to new
domains and problems because of limited functions
Flask is a web application framework written in Python. Armin Ronacher, who leads an
international group of Python enthusiasts named Pocco, develops it. Flask is based on
Werkzeug WSGI toolkit and Jinja2 template engine. Both are Pocco projects.
We will make a Flask chatbot. Flask is a microframework used for web development. We
will follow the process given below:
Chatterbot’s preprocessors are simple functions that modify the input statement that a chat
bot receives before the statement gets processed by the logic adaper.
Chatterbot Corpus:
Corpus data is user contributed, but it is also not difficult to create one if you are familiar
with the language. This is because each corpus is just a sample of various input statements
and their responses for the bot to train itself with.
To explore what languages and collections of corpora are available, check out the chatterbot
corpus/data directory in the separate chatterbot-corpus repository.
31
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
ChatterBot’s statement objects represent either an input statement that the chat bot has
received from a user, or an output statement that the chat bot has returned based on some
input.
32
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
Statement comparison
ChatterBot uses statement objects to hold information about things that can be said. An
important part of how a chat bot selects a response is based on its ability to compare two
statements to each other. There are a number of ways to do this, and ChatterBot comes with a
handful of methods built in for you to use.
YAML:
YAML Ain't Markup Language (YAML) is a serialization language that has steadily
increased in popularity over the last few years. It's often used as a format for configuration
files, but its object serialization abilities make it a viable replacement for languages like
JSON.
33
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
This YAML tutorial will demonstrate the language syntax with a guide and some simple
coding examples in Python. YAML has broad language support and maps easily into native
data structures. It's also easy to for humans to read, which is why it's a good choice for
configuration.
Adapters
ChatterBot uses adapter modules to control the behavior of specific types of tasks. There are
four distinct types of adapters that ChatterBot uses, these are storage adapters and logic
adapters.
Adapters types
Storage adapters - Provide an interface for ChatterBot to connect to various storage systems
such as MongoDB or local file storage.
Logic adapters - Define the logic that ChatterBot uses to respond to input it receives.
When Chatterbot initializes each adapter, it sets an attribute named chatbot. The chatbot
variable makes it possible for each adapter to have access to all of the other adapters being
used. Suppose logic adapters need to share some information or perhaps you want to give
your logic adapter direct access to the storage adapter. These are just a few cases where this
functionality is useful.
Each adapter can be accessed on the chatbot object from within an adapter by
referencing self. Chatbot. Then, self.chatbotstorage refers to the storage adapter,
and self.chatbot.logic refers to the logic adapters.
ChatterBot includes tools that help simplify the process of training a chat bot instance.
ChatterBot’s training process involves loading example dialog into the chat bot’s database.
This either creates or builds upon the graph data structure that represents the sets of known
statements and responses. When a chat bot trainer is provided with a data set, it creates the
necessary entries in the chat bot’s knowledge graph so that the statement inputs and responses
are correctly represented.
Several training classes come built-in with ChatterBot. These utilities range from allowing
you to update the chat bot’s database knowledge graph based on a list of statements
35
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
representing a conversation, to tools that allow you to train your bot based on a corpus of pre-
loaded training data.
The goal of the coding or programming phase is to translate the design of the system
produced during the design phase into code in a given programming language, which can be
executed by a computer and that performs the computation specified by the design.
The coding phase affects both testing and maintenance. The goal of coding is not to
reduce the implementation cost but the goal should be to reduce the cost of later phases. In
other words, the goal is not to simplify the job of a programmer. Rather the goal should be to
simplify the job of the tester and maintainer.
Coding Approach:
There are two major approaches for coding any software system. They are Top- Down
approach and Bottom-up approach. Bottom-up approach can be best suitable for developing
the object-oriented systems. During system design phase to reduce the complexity, we
decompose the system into an appropriate number of subsystems, for which objects can be
modelled independently. These objects exhibit the way the subsystems perform their
operations.
Once the objects have been modelled they are implemented by means of coding.
Even though related to the same system as the objects are independent of each other. The
Bottom-up approach is more suitable for coding these objects.
In this approach, we first do the coding of objects independently and then integrate
these modules into one system to which they belong.
CODING:
Importing Packages
36
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
App.py(file)
app = Flask(__name__)
botname='Charm'
chatbot = ChatBot(botname,
#storage_adapter='chatterbot.storage.SQLStorageAdapter',
logic_adapters=[
{
'import_path': 'chatterbot.logic.BestMatch',
'default_response': 'I am sorry, but I do not understand.',
'maximum_similarity_threshold': 0.8
},
{
"import_path": "profanity_adapter.ProfanityAdapter",
},
{
"import_path": "covid19_adapter.Covid19Adapter",
},
],
)
@app.route("/")
def home():
return render_template("index.html", botname=botname)
@app.route("/get")
37
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
def get_bot_response():
userInput=request.args.get('msg')
return str(chatbot.get_response(userInput))
if __name__ == '__main__':
app.run(debug=True)
train.py (file)
importing packages
38
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
trainer = ChatterBotCorpusTrainer(chatbot)
trainer.train(
str(pathlib.Path().absolute())+'/english/',
)
profanity_adapter.py (file)
class ProfanityAdapter(LogicAdapter):
if self.profanity_counter<3:
response_statement=Statement(text='You: [WARNING #{}] Please do not use
profanity otherwise I will be forced to terminate this chat'.format(self.profanity_counter))
elif self.profanity_counter>2:
response_statement=Statement(text='You have used exessive language. Terminating
chat')
response_statement.confidence = 1
return response_statement
39
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
Index.html
<!DOCTYPE html>
<html>
<head>
integrity="sha384-
BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
crossorigin="anonymous">
</head>
<STYLE>
.navbar {
overflow: hidden;
background-color: rgb(184, 86, 86);
position: fixed;
top: 10;
width: 100%;
text-align:center;
display:block;
}
40
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
.container .btn {
position: absolute;
top: 40%;
left: 90%;
transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
background-color: rgb(24, 103, 223);
color: white;
font-size: 16px;
padding: 12px 24px;
border: none;
cursor: pointer;
border-radius: 5px;
text-align: center;
position: absolute;
right: 150px;
}
.container .btn:hover {
background-color: black;
}
</STYLE>
<body style="background-color:powderblue;">
<div class="navbar">
<H1>SRK COLLEGE INSTITUTE</H1>
<button type="button"
onclick="window.location.href='{{ url_for( 'feed') }}';">Feedback</button>
</div>
<br>
<br>
<div>
<div id="chatbox">
<p class="botText"><span>Hi! I'm {{botname}}. How can I help you
today?.</span></p>
</div>
<div id="userInput">
41
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
})
</script>
</div>
</body>
</html>
feeds.html
!DOCTYPE html>
<html>
<head>
42
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
<style>
input[type=submit] {
background-color: #04AA6D;
43
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
color: white;
padding: 12px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
}
input[type=submit]:hover {
background-color: #45a049;
}
.navbar {
overflow: hidden;
background-color: rgb(184, 86, 86);
position: relative;
top: 100;
left: 50;
width: 100%;
color:red;
text-align:center;
display:block;
}
.container {
border-radius: 15px;
background-color: #f2f2f2;
padding: 55px;
}
.navba1{
align-self: center;
}
.container .btn {
position: absolute;
top: 80%;
left: 50%;
transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
background-color: rgb(24, 103, 223);
color: white;
font-size: 16px;
padding: 12px 24px;
44
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
border: none;
cursor: pointer;
border-radius: 5px;
text-align: center;
}
.container .btn:hover {
background-color: black;
}
</style >
</head>
<body style="background-color:powderblue";>
<div class="navbar">
<div class="container">
<form action="/action_page.php" required>
<label for="fname"> Name</label>
<input type="text" id="fname" name="firstname" placeholder="Your name.." required>
<label for="subject">Subject</label>
<textarea id="subject" name="subject" placeholder="Write something.."
style="height:200px" required></textarea>
<div class="btn">
<button type="button"
onclick="window.location.href='{{ url_for( 'backs') }}';">Submit</button>
</div>
</form>
</div>
</body>
</html>
hello.html
45
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
<html>
<body>
<h1>welcome</h1>
</body>
</html>
back.html
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style >
.container {
position: relative;
width: 1000%;
max-width: 400px;
}
.container img {
width: 100%;
height: auto;
46
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
.container .btn {
position: fixed;
top: 52%;
left: 50%;
transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
background-color: rgb(24, 103, 223);
color: white;
font-size: 16px;
padding: 12px 24px;
border: none;
cursor: pointer;
border-radius: 5px;
text-align: center;
}
.container .btn:hover {
background-color: black;
}
.navbar {
overflow: hidden;
background-color: rgb(184, 86, 86);
position: fixed;
top: 0;
width: 100%;
text-align:center;
display:block;
}
.thanks {
position: absolute;
top: 30%;
left: 25%;
color: rgba(61, 70, 22, 0.671);
font-size: 50%;
}
h2 {
font-size: 80px;
}
</style>
</head>
<body style="background-color:powderblue";>
47
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
<div class="navbar">
<div class="thanks">
<h2>Thanks for your feedback...</h2>
</div>
<div class="container">
<a href="http://127.0.0.1:5000/">
<button class="btn">Go Home Page</button>
</a>
</div>
</body>
</html>
Style.css
body {
font-family: Garamond;
}
h1 {
color: black;
margin-bottom: 0;
margin-top: 0;
text-align: center;
font-size: 40px;
}
h3 {
color: black;
font-size: 20px;
margin-top: 3px;
text-align: center;
#chatbox {
margin-left: auto;
margin-right: auto;
width: 40%;
margin-top: 60px;
48
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
border-radius: 25px;
}
#userInput {
margin-left: auto;
margin-right: auto;
width: 40%;
margin-top: 60px;
}
#textInput {
width: 100%;
border: none;
border-bottom: 3px solid #48b68c;
font-family: monospace;
font-size: 17px;
}
#buttonInput {
padding: 3px;
font-family: monospace;
font-size: 17px;
}
.userText {
color: white;
font-family: monospace;
font-size: 17px;
text-align: right;
line-height: 30px;
}
.userText span {
background-color: #769430;
padding: 10px;
border-radius: 2px;
}
.botText {
color: white;
font-family: monospace;
font-size: 17px;
49
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
text-align: left;
line-height: 30px;
}
.botText span {
background-color: #772928;
padding: 10px;
border-radius: 2px;
}
#tidbit {
position:absolute;
bottom:0;
right:0;
width: 300px;
}
ai.yml
categories:
- AI
- artificial intelligence
conversations:
- - What is AI?
- Artificial Intelligence is the branch of engineering and science devoted to constructing
machines that think.
- - What is AI?
- AI is the field of science which concerns itself with building hardware and software that
replicates the functions of the human mind.
- - Are you sentient?
- Sort of.
- - Are you sentient?
- By the strictest dictionary definition of the word 'sentience', I may be.
- - Are you sentient?
- Even though I'm a construct I do have a subjective experience of the universe, as simplistic
as it may be.
- - Are you sapient?
- In all probability, I am not. I'm not that sophisticated.
- - Are you sapient?
- Do you think I am?
- - Are you sapient?
50
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
Greeting.yml
categories:
- greetings
conversations:
- - Hello
- Hi
- - Hi
- Hello
- - Hey
- Hi
- - Hey
- Hello
- - Hey
- Hi, How is it going?
- - How are you?
- I'm doing Well. How are you?
- - What's Up
- Not Much and You?
- - Can we be friends?
- Yeah sure
- - hey there
- hey what's up
- - Greetings!
- Hello
- - Hello
- Greetings!
- - Hi, How is it going?
- Good
- - Hi, How is it going?
- Fine
- - Hi, How is it going?
- Okay
- - Hi, How is it going?
- Great
51
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
College.yml
categories:
- college
conversations:
- - college timings
- 9 am to 5 pm
- - College timings
- 9 am to 4 pm
- - college name
52
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
5.Output Screens
53
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
A Data file is given as input as yaml files and the output is predicted.training the yml file when
train.py was loaded.
A Data file is given as input as yaml files and the output is predicted.training the yml file .when
app.py was loaded and gives us the url for the application .
54
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
When we click on url we get the web page like above page in default browser.
55
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
56
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
57
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
6. EVALUATION METRICS
Defining metrics is important. Since many of the capabilities of the chatbot will be measured
through those metrics. For a newly created chatbot, those metrics can fluctuate dramatically.
After implementing the chatbot, companies need to monitor it closely. Since the expectations
are efficiency enhancement, faster response, and greater conversion, companies need to
define the right metrics. This way, the performance of the bot can be monitored and improved
efficiency. For data scientists, this dimension of the issue provides many use cases.
Web fousced Metrics do not calculate misunderstood requests or message delays. Chatbots
require need new metrics and to get the most out of their benefits. If you are already familiar
with web metrics, jump to chatbot specific performance metrics such as message
metrics or bot metrics
58
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
We cover all relevant question about bot analytics tools and important chatbot metrics that a
company needs to measure the progress of its chatbot/conversational AI system:
User Metrics
1- Total Users: This is the most basic metric. It captures the number of people using your
chatbot. This matters because its trend shows the change in the number of users and therefore
the amount of data your chatbot has been exposed to. Also, this would provide critical
information regarding the market size calculations and potentially the effect of your chatbot.
2- Active Users: Active users can be defined as the people who read a message in the chatbot
in a defined time frame. These are your potential targets. Measuring the potential effects of a
promotional activity can be estimated from that number. The number of people who read
your message is critical. This is something like the promotional content on social media.
Engagement is not guaranteed but, the content is seen by the people.
3- Engaged Users: Those users are the ones who communicate with the chatbot. They
receive and send messages. This is important since your chatbot will be able to provide the
conversation statistics based on this sub-sample. They are likely to shape your decision
regarding the effectiveness of the chatbot. It doesn’t make any sense if the chatbot is not able
to start the conversation with the users.
4- New Users: This metric captures the overall success of your chatbot promotion campaign.
New users will be necessary to keep an active user number. Customers’ preferences changes
over time and the amount of interaction with the chatbot shows an exponential decay. For that
reason, new users will keep your customer base strong.
5- User sentiment: This metric is captured by performing sentiment analysis so that you
can categorize messages as positive, neutral, or negative. You can gain insights into the user
experience and where/when the conversation went wrong.
Message Metrics
First four metrics capture the overall trend in your user base, but you will be needing greater
detail regarding how an individual interacts with your chatbot. One such metric group is the
message metrics.
6- Conversation Starter Messages: This is the number of messages where the bot starts the
interaction. This is critical for measuring the organic reach of your platform. It is possible to
elicit a response by sending messages to users, but as time moves forward, companies would
need a lower number for that metric. Since we will implement chatbot for customer relations
59
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
management and digital marketing, after the initial greeting, we need continuing users to send
messages to chatbot directly.
7- Bot Messages: Bot messages are the total number of messages sent by the chatbot in each
interaction. This measures the length of a conversation between a customer and the chatbot.
We normally want the number of messages to be high, but there is one critical condition, our
chatbot needs to respond correctly. In case of misunderstanding or failure to comprehend the
input by the user, the chatbot will say similar words repeatedly.
8- In Messages: This category shows the messages sent by the user. We need to see whether
the user engages with the chatbot or not. If this category is significantly low, we don’t need to
use a chatbot. Using regular social media such as a Facebook Page or a Twitter account may
make more sense, rather than using a Facebook Messenger chatbot or a voice-assisted
technology.
9- Miss Messages: Miss messages are the ones our chatbot can’t process. This metric may be
hard to calculate. Requires the times the chatbot miss interprets the input. This would be a
key metric if the firm starts to engage in countries where the language is used more
idiomatically.
11- New Conversations: Number of new conversations started. This captures both the
inexperienced users and the conversations that are initiated by the returning users on a
different matter, problem, or order.
Commercial Metrics
12- ROI / payback period: Return on investment (ROI) is critical to know for any project.
Companies need to track, at least on a high level, their spending for the bot and the benefits it
generates. The benefits will depend on metrics like leads generated, fallback rate, cost per
fallback so that businesses can compare bot’s benefits with other channels.
13-Leads generated: For chatbots in sales, this is one of the most important metrics. They
should lead to a higher number or quality of leads captured. For chatbots in customer service,
this is a less relevant metric however some customer service bots can also identify users’ pain
points and cross/up-sell opportunities.
60
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
Bot Metrics
We will now introduce some other metrics that are critical for measuring the performance of
a chatbot.
14- Retention Rate: This is the percentage of users that return to using the chatbot on the
given time frame. This important since we need to keep the customer engaged to extract
valuable insight regarding the customers’ preferences by making them spend time on the
chatbot. Higher retention rate can be achieved by promotional campaigns such as chat-to-
receive-discount or a lottery like a word guessing games. The important is keeping that high
through an organic process. This mostly can be achieved by providing a high-quality chatbot
that meets the customers’ expectations and needs.
15- Goal Completion Rate (GCR): This captures the percentage of successful engagement
through chatbot. Users will probably try to reach different information or service. For an e-
commerce company’s bot relevant goals can be informing the user about a product’s details
or purchasing a product. This shows that the number of times our bot successfully processed
the input and provided the asked information. There are other ways to utilize this concept.
One way is to mine data through the questions asked by the users. This would show an
overall trend in consumer preferences; hence a greater emphasis can be placed on that issue
while training the chatbot.
7. TESTING
TESTING TECHNOLOGIES
Testing is the process of detection errors. Testing performs a quality role for
assurance and for ensuring the ability of software. The results of testing are used later on
during maintenance also.
TESTING OBJECTIVES:
The main objective of testing is to uncover a host error, systematically, the minimum
effort and time starting formally, we can say
1. Test is the process of executing a program with the intent of finding an error.
2. A successful test is one that uncovers and yet undiscovered error.
3. A good test case is one that has a high probability of finding errors, if it exits.
61
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
1. This is unit testing method where the unit will be taken at a time and tested thoroughly at
a statement level to find the maximum level errors.
2. We have tested step wise every piece of code, taking care of every statement in the code.
2.1 Is executed at least once.
2.2 The white box testing is also called glass box testing.
UNIT TESTING:
Unit testing focuses verification effort on the smallest unit of software that is the
model using the detailed design and the process specifications testing is done to uncover
errors within the boundary of the model all models must be successful in the unit test before
the start of the integration testing.
In our project unit testing involves checking each future specified in the component a
component performs only small part of the functionality on the system and relies on
cooperating with other part of the system.
INTEGRATION TESTING:
In this project integrating all the modules forms the main system when integrating all the
modules we have checked whether the integration effects working of any of the services by
giving different combinations of inputs with which the services run perfectly before
integration.
62
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
3. Description Loaded dataset should be valid and data should not contain null
values and file should be available in the selected path.
5. Expected Output Based on the dataset retrieved from the path data should be loaded
into the system.
6. Actual Output Based on the Dataset retrieved from the path data should be loaded
to the system
7. Status Success
63
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
8.CONCLUSION
dramatically changing businesses. Chatbots are the new resolution especially for college
websites, and ecommerce websites etc.they will reduce the customer or user service and
having significant impact on time and saving money. Chatbots provides easy and quick
information to the user.And resolve many issues and queries at same time .With that being
said we also think that some of our findings could give some insights into how a very small
group of people think about using a chatbot to gain information in a school context. Some of
the characteristics of our chatbot was viewed as appropriate for the given context, like
“casualness” and links to where the information was gathered. If the IFI chatbot is to be
furthered developed, this could be something to draw upon Through the project we have
touched on some theory when making the chatbot, but this should also have a larger focus for
higher validity.
9.FUTURE ENHANCEMENTS
By using different kinds of machine learning techniques to predict the more accurate
results to ease of communication with humans. i will include speech recognition for future
enhancement. so it will help many industries to develop self-service Chatbots.will add more
languages for different parts of the world but expert say they will need to gently to be
64
SRK INSTITUTION OF TECHNOLOGY
STUDENT INFORMATION CHATBOT SYSTEM
10.BIBILIOGRAPHY
References
[1]Sagar Pawar, Omkar Rane, Ojas Wankhade, Pradnya Mehta , “A Web Based College
Enquiry Chatbot with Results”, 2018, International Journal of Innovative Research in
Science, Engineering and Technology.
[2] Mr. Sathis Kumar .T, N. Vijay Kumar, R. R. Vinodh, T. Vivekananthan, U. Vinoth
Kumar, “Chatbot for College Related Queries”,2018, Journal for Research.
[3] Jayesh Gangrade , Surinder Singh Surme , Sumant Somu , Shubham Raskonda , Poonam
Gupta, Department of Computer G.H. Raisoni College of Engineering and Management, “A
Review on College Enquiry Chatbot” ,2019, International Journal of Engineering Science and
Computing.
[4] Akshay Kumar, Pankaj Kumar Meena, Debiprasanna Panda, Ms. Sangeetha, UG Student,
Dept. of Information Technology, “CHATBOT IN PYTHON”, 2019, IRJET.
[5]Molnár, G., Zoltán, S.: The role of chatbots in formal education. Presented at the 15
September 2018
[8] "Chatbot: What is Chatbot? Why are Chatbots Important? -", Expertsystem.com, 2018.
[Online]. Available: https://www.expertsystem.com/chatbot/. [Accessed Sep. 11, 2018].
TEXT BOOKS:
65
SRK INSTITUTION OF TECHNOLOGY