Mini Project Report b16
Mini Project Report b16
Submitted in partial fulfillment of the requirement for the award of the degree of
By:
20B16
(for Women)
July 2023
i
ACKNOWLEDGEMENT
We would like to express our sincere thanks to Dr K. Ramesh Reddy, Principal, G. Narayanamma
Institute of Technology and Science for providing the working facilities in the college. Our sincere
thanks and gratitude to Dr I. Ravi Prakash Reddy, Professor and HOD, Dept. of IT, GNITS for all the
timely support and valuable suggestions during the period of our Project.
We are extremely thankful and indebted to our Internal guide, Mrs. P.N Ramya, Assistant Professor,
Dept. of Information Technology, GNITS and project coordinators, Sesha Bhargavi, Jyothi, Assistant
Professors, Dept. of Information Technology, GNITS for their constant guidance, continuous advice,
encouragement and moral support throughout the project.
Finally, we would also like to thank all the faculty and staff of IT Department who have helped us
directly or indirectly, parents and friends for their cooperation in completing the project report work.
ii
ABSTRACT
The main goal of this project is to implement a web-based campus application for further
development of educational institutions by building a chatbot. In an institution,
information is distributed to students in the form of notifications, handwritten manuals.
The college website has been developed to overcome problems with the existing manual
system. The proposed system is specialized in creating a chatbot to be employed by
students to urge their queries responded easily from the college website. Many students
use live chat service because it is easy, fast and comfortable. A chatbot may be a program
that may do real conversations with textual method, built using NLP and python. The
Chatbot will engage in friendly conversations, respond to the course and college
information and answer frequently asked questions, among other things. It also responds
to queries related to placements preparation for specific companies. Students can ask
questions to the chatbot at any time of the day and get a reply very quickly. The chatbot
is able to handle a large number of concurrent users without any degradation in
performance or response time. It works towards making it easier for students to learn and
reach out to all the activities that they can do during their course of study.
iii
CONTENTS
1. INTRODUCTION
1.1 General / Domain Description…………………………………………… 1-2
1.2 Objective & Scope of the Project………………………………………… 3-4
1.3 Project Definition………………………………………………………… 5
1.4 Organization of Project Report…………………………………………… 6
2. LITERATURE SURVEY
2.1 Existing Approaches / System…………………………………………… 7-16
2.2 Drawbacks in Existing System…………………………………………… 17
2.3 Motivation for Proposed System………………………………………… 18
3. REQUIREMENT SPECIFICATION
3.1 Overall Description of the Project (Use Case Diagrams)……………… 19-23
3.2 Functional & Non-functional Requirements Specification………………24-25
3.3 Design Specification (UML Diagrams / DFD / E-R Diagrams) with
Normalized Database…………………………………………………… 26-35
3.4 Software and Hardware Requirements……………………………………. 36
4. IMPLEMENTATION
4.1 Methodology (with Flowchart)………………………………………… 37-38
4.2 System Architecture…………………………………………………..… 39-40
4.3 Modules Description with Algorithms / Pseudo-code…………………… 41
5. TESTING
5.1 Test Cases (Minimum of 5 to be included)………………………………42-44
iv
Appendix
I. Code………………………………………………………………………… 52-66
II. Bibliography / References…………………………………………………… 67
LIST OF FIGURES
1. Use Case diagram Figure-1
2. E-R diagram Figure-2
3. Class diagram Figure-3
4. Activity diagram Figure-4
5.Collaboration Figure-5
6. Object Figure-6
7. Sequence diagram Figure-7
8. Flow chart Figure-8
9. System Architecture Figure-9
v
1. INTRODUCTION
The emergence of the College Website Chatbot marks a significant leap forward in
reshaping the way users interact with educational institutions' digital platforms. Tailored
to cater specifically to the needs of students, parents, and visitors accessing the college's
website, this intelligent virtual assistant employs the cutting-edge technology of natural
language processing (NLP) to forge a new era of seamless communication and immediate
access to a wealth of comprehensive information.
For prospective students embarking on the journey of selecting the right college and
program, the chatbot serves as a beacon of convenience. Its prowess in responding to
queries about courses, admissions, and various departments ensures that users receive
detailed and timely information. This transforms what was once a potentially convoluted
process into an effortless and streamlined experience, allowing students to make well-
informed decisions about their educational path.
Beyond the academic realm, the chatbot extends its reach to foster a vibrant campus
community. It becomes a gateway to the world of extracurricular activities and events by
providing insights into different clubs and their upcoming gatherings. This ensures that
users are constantly updated about opportunities to engage beyond the classroom,
contributing to a well-rounded college experience.
The College Website Chatbot transcends its role as a mere utility and becomes a
cornerstone of the college's digital ecosystem. It acts as a catalyst in creating a thriving
and successful college community by facilitating admissions, disseminating essential
placement information, and offering a window into the world of campus activities. With
its intelligent insights and personalized interactions, this chatbot cements its status as an
indispensable asset in shaping a dynamic and prosperous college environment.
The central goal of integrating a chatbot into the college website is to significantly
elevate communication, accessibility, and overall user experience for all individuals
interacting with the platform. Through the deployment of an intelligent virtual
assistant, the project seeks to provide valuable assistance and information to students,
parents, and visitors, ultimately enriching their interactions with the college's online
presence in a manner that is both efficient and engaging.
The expansive capabilities of the chatbot will extend to a broad spectrum of user
inquiries encompassing various facets of college life. Users can expect quick and
precise responses regarding subjects ranging from available courses and admission
procedures to placement opportunities, campus amenities, upcoming events, and other
pertinent college-related details. By furnishing rapid answers to these inquiries, the
chatbot obviates the need for users to navigate through different sections of the
website manually, thereby saving them valuable time and effort.
The overarching goal of this project is to create an intuitive and accessible chatbot
tailored for the college's website, utilizing the power of Python and Natural Language
Processing (NLP). Through this advanced technology, the chatbot is set to serve as an
interactive and intelligent intermediary, seamlessly bridging communication gaps among
the diverse stakeholders of the college: students, faculty, and visitors. By emulating
human-like understanding, the chatbot aims to interpret and comprehend user queries
adeptly, enabling real-time access to precise and pertinent information. Whether it's
inquiries about admissions procedures, comprehensive course details, upcoming events,
or intricate placement information, the chatbot is primed to be a comprehensive
information repository. Notably, the chatbot is poised to offer invaluable assistance to
students navigating the intricate landscape of placements, providing guidance and
insights.
Beyond its practical utility, the chatbot aspires to foster a more engaging and
interactive ambiance for all users, contributing to the college's sense of community and
support. By offering a dynamic platform for interaction, the chatbot will not only provide
information but also cultivate a richer engagement among users, nurturing a stronger
sense of belonging. This amalgamation of cutting-edge technology and user-centered
design principles underscores the project's commitment to modernizing communication
channels and fortifying the college's digital presence.
We were inspired to develop a chatbot for our college website to address the
common challenges faced by students, faculty, and visitors in finding information and
navigating the various resources available on the website. Recognizing the increasing
popularity of chatbots and their potential to enhance user experience, we saw an
opportunity to make a positive impact on our college community.
One of our primary goals was to create a user-friendly and conversational chatbot
that feels approachable and helpful. We focused on developing a friendly personality for
the chatbot, so users feel comfortable interacting with it and are encouraged to use it as
their go-to resource for information. We also provided feedback form to the user if the
query related information is not present in dataset.
We are grateful for the opportunity to implement this chatbot as it will continue to
evolve and serve as a valuable resource for current and prospective students, faculty, and
visitors, promoting engagement and facilitating seamless interactions.
To implement this advanced chatbot system, the research study employs the
BotPress platform. This platform serves as the foundation upon which the chatbot is
built, and its capabilities are further enriched by incorporating Natural Language
Understanding (NLU) functionalities. By integrating NLU into the chatbot's
architecture, it gains the capacity to decipher users' intentions and react appropriately
to their inquiries. This means that the chatbot can now not only comprehend user
inputs but also deduce the context and meaning behind them, leading to more relevant
and contextually accurate responses.
WordPress, renowned for its versatility and user-centric design, provides the ideal
canvas for hosting the chatbot. Its widespread use in creating visually appealing
websites ensures a seamless integration of the chatbot into the user interface. On the
other hand, the field of Natural Language Processing (NLP) equips the chatbot with
the ability to comprehend users' input by deciphering syntax, semantics, and intent.
For the frontend, technologies like HTML, CSS, AJAX, jQuery, and JavaScript
are harnessed to create an intuitive and user-friendly interface. This interface becomes the
platform through which users interact with GALGOBOT, enabling seamless
communication and query resolution.
At the heart of this project lies a tailored chatbot accessible via the college
website. The chatbot's versatility shines through as it accommodates both text and audio
inputs, creating an interactive and intelligent experience that transcends basic, predefined
responses. Its ability to engage in insightful discussions sets it apart, fostering a human-
like interaction that provides users with the information they need promptly.
The chat-bot was designed based on the questions collected from Padlet during
the period of September 2018 – January 2019. There were a total of 35 questions asked
by students during this duration regarding the course. The questions were then coded
using in vivo coding . The codes from the in vivo coding were then further organized into
three categories based on the areas to be addressed by the query throughout the course: -
before, during or after internship. It was intentionally done this way to facilitate the
maintenance of the agent when the course is rotated to another staff. At each rotation, it
was noted that the staff first familiarizes him/herself with the course processes –
deliverables, deadlines and supporting events and tasks that students are required t o
attend/fulfil during the course. The results of the in vivo coding yielded 13 codes. Each of
these codes form the ‘intents’ or the purpose of the students’ questions while all related
The chat-bot was deployed for a period of two weeks. A survey was designed to
collect feedback on student’s perception of the use of the developed chat-bot as a source
of information compared to the regular method of communication – emails. The
questionnaire contains three parts: demographic information, chat-bot performance
evaluation and students’ preference. The evaluation of the chat-bot was based on two
close-ended 7-point Likert scale questions to evaluate how well the responses of the
chatbot addresses the questions raised. The questionnaire was administered at the end of
the conversation to ensure that the respondents have at least tried the chat -bot before
giving their views.
Here, the design and implementation of a chat-bot built from a small bank of
questions to handle students’ queries for a compulsory internship course. The chat -bot
was deployed on Telegram and instructions were provided for students to access the chat-
bot through the LMS. The conversation logs from the deployment were analysed and
further used to improve the knowledge bank of the chat-bot showing that the chat-bot can
be a viable tool to collect questions from students and a platform to disseminate
information to students.
Summary:
Developing an effective educational chatbot is a challenging and time-consuming
process. One of the main challenges in a co-creation process, is ensuring multiple
stakeholders, as professionals in a variety of roles such as academics, learners,
researchers, and subject experts, are all able to contribute successfully. More common
online learning resources are designed using traditional methods such as group
storyboarding workshops. With chatbot design, it is especially difficult to maintain a
group focus on pedagogical requirements while minimizing technological interactionThis
paper describes the development of a web-based chatbot design tool formed to break
down these barriers and support the overall design process.
The paper describes the development of a web-based chatbot design tool aimed at
overcoming the challenges associated with co-creating effective educational
chatbots.Traditional methods for designing online learning resources are less effective in
the context of chatbot design due to the complex interplay between pedagogical
requirements and technological aspects.
Learners provide initial data based on their knowledge and experiences, including
questions, statements, and expected responses for chatbots. Academics verify and
validate learner-entered data, while others like learning technologists and software
developers prepare the verified data for export in a format suitable for chatbot software.
While the development of the web-based chatbot design tool presents promising
solutions to challenges in co-creating educational chatbots, there are potential drawbacks
to consider. One drawback is the reliance on stakeholders' accurate input and validation,
which might be subject to inconsistencies or errors. Additionally, the tool's effectiveness
could be limited by the simplicity of the interface, potentially constraining the depth and
complexity of chatbot interactions that can be created. Moreover, the use of predefined
templates and data formats might hinder the flexibility required for more specialized or
innovative chatbot designs. Finally, the tool's success heavily depends on user
engagement, which could vary, impacting the quality and quantity of contributed data and
potentially affecting the overall utility of the chatbots produced.
• Less Efficient Student Support: Without a chatbot, students and parents may need
to rely on traditional support channels, such as email or phone, which may not be
as efficient as a real-time chatbot interaction.
The motivation behind the proposed system, an AI-powered chatbot for college-
related inquiries, can stem from several factors. Here are some common motivations for
implementing such a system: The primary motivation is to enhance the user experience
for students and parents who seek information about college-related activities. By
providing a user-friendly and interactive chatbot, colleges aim to offer a more convenient
and efficient way for users to access the information they need without navigating
complex websites or going through lengthy phone inquiries. Navigating through a college
website or making phone calls to inquire about various college-related activities can be
time-consuming and require significant resources, both for the institution and the users.
By implementing a chatbot, colleges can automate the process of addressing common
inquiries, reducing the need for manual assistance and freeing up resources for more
complex tasks. Unlike traditional methods of inquiry, a chatbot can operate 24/7,
providing round-the-clock access to information. This is especially beneficial for students
and parents who may have inquiries outside regular working hours or in different time
zones. The motivation is to ensure that users can get their questions answered promptly
and at their convenience. With a growing number of inquiries from prospective students
and parents, it can be challenging for college staff to handle each request individually. By
implementing a chatbot, colleges can scale their support services to handle a larger
volume of inquiries simultaneously, ensuring that all users receive timely responses and
assistance. Ultimately, the motivation for implementing the chatbot for college-related
inquiries is to provide a seamless and efficient communication channel that empowers
users to obtain the information they need while optimizing resources and improving the
overall user experience.
The primary motivation for this project stems from the need to simplify and
expedite the process of acquiring college-related information. By integrating cutting-edge
Natural Language Processing (NLP) techniques and AI capabilities, the chatbot is poised
to serve as an efficient and user-friendly alternative. The envisioned system is designed to
empower users to pose queries in natural language, thereby eliminating the cumbersome
navigation process and rendering the information-seeking journey seamless. Whether it's
details about courses, admission requirements, application procedures, or campus
amenities, the chatbot endeavors to promptly provide tailored responses, creating a
personalized experience that closely mirrors human interaction.
The scope of the project encompasses multiple dimensions. The core functionality
revolves around the creation of a chatbot interface that mimics conversation, catering to
the inquiries posed by users in real time. This requires the integration of advanced NLP
algorithms to understand user intent, extract relevant entities, and generate contextually
accurate responses. Furthermore, the system incorporates a comprehensive knowledge
base meticulously compiled with up-to-date information about the college's offerings.
This knowledge base serves as the repository from which the chatbot draws accurate and
timely data to address users' questions.
Figure-1
As the person responsible for managing the entire website, the admin plays a
crucial role in ensuring the smooth operation and functionality of the platform.
Here are the specific tasks and responsibilities of the admin in detail:
Database Management:
• The admin has access to the website's database, which stores all user
information, placement details, courses, clubs, and other relevant data.
• Admin can make updates to the database, ensuring that the information is
accurate and up-to-date.
• The admin can add new entries to the database, such as ad ding new companies,
clubs.
• Similarly, the admin can also remove data from the database when necessary.
The admin's role is vital in overseeing and managing the website, including database
updates, user, website updates, and user support.
• User can explore information about courses, placements and college in the
website.
• On the home page, a detailed description of the courses is provided along with the
chatbot.
• The user can ask queries related to college, courses, clubs, events and placements
to the chatbot and get an instant reply.
3.2.1 Introduction
This document specifies the requirements for Chatbot for College Website. The
requirements are grouped by their stakeholders, and functional and non-functional
requirements are separated.
3.2.2 Stakeholders
• U User
• A Admin
Scalability
• The system should be able to accommodate an increasing number of users and
inquiries without significant degradation in performance.
Maintainability
• The system should be maintainable, allowing for updates, bug fixes, and
enhancements.
Integration
• The chatbot should be seamlessly integrated into the college's website or
messaging platform.
• The system should support integration with the existing college database.
Availability
• The system shall always be available, without fail.
• The system shall be fast and responsive.
Security
• User data should be stored securely and protected from unauthorized access or
data breaches.
• The system should adhere to data protection and privacy regulations.
E-R Diagram
Figure-2
Figure-3
User Class:
• User can have username, password and mail id.
• User can also give feedback based on the performance of the chatbot.
Admin Class:
• Admin adds users to the system, implying an association between Admin and
User classes.
• Admin updates the database, indicating an association between Admin and
Database classes.
• Admin monitors the chatbot, suggesting an association between Admin and
Chatbot classes.
Chatbot Class:
• The Chatbot class takes input as a string and performs actions like tokenization
and generate a response.
Figure-4
The Activity Diagram provides a clear flow of actions, ensuring a smooth and user-
friendly experience for individuals to resolve their queries.
Figure-5
• The user initiates the interaction by sending a message to the chatbot, asking
about requirements for a specific program.
• The chatbot collaborates with the NLP module by passing the user's inquiry for
processing. This interaction represents the relationship between the chatbot and
the NLP module.
• The chatbot sends the requirements to the user as a response to the original
inquiry.
Object Diagram:
Figure-6
The object diagram provides a static snapshot of the system, showcasing the instances of
classes and how they interact at a specific moment. It's particularly useful for
understanding relationships, associations, and the structure of objects within the system.
Interactions in the Object Diagram:
• The "User" object interacts with the "Chatbot" object, representing the user's
message to the chatbot.
• The "Chatbot" object interacts with the "NLP Module" object, indicating the
chatbot's utilization of the NLP module for processing.
• Chatbot: The "NLP Module" object communicates back to the "Chatbot" object,
providing processed information.
• The "Chatbot" object sends the admission requirements to the "User" object as a
response.
Figure-7
The Sequence Diagram illustrates the chronological order of interactions and messages
exchanged between the User, Chatbot. The sequence diagram visually represents the flow
of interactions between the user, chatbot, NLP module, and database, showing how
messages are exchanged and processed at each step of the scenario.
• The user clicks the chat icon on the website to initiate the interaction with the
chatbot. This action sends a synchronous message from the user to the chatbot.
• The user types a message inquiring about admission requirements for a specific
program. This message is sent from the user to the chatbot.
• The chatbot forwards the user's message to the Natural Language Processing
(NLP) module for processing. This is an asynchronous message indicating the
chatbot's intent to understand the user input.
• The NLP module processes the user's message, extracts the intent and relevant
entities. It sends back the processed information to the chatbot.
• The chatbot sends the requirements as a response to the user's original inquiry.
Figure-8
Figure-9
The system architecture for the Chatbot website is depicted in the figure and follows a
step-by-step process. The user initiates an interaction by typing a query in the chat
window on the UI.
When users engage with the chatbot, they type their inquiries into the chat window
available on the user interface (UI). This initial query is then directed to the chatbot
engine, a central processing component. The chatbot engine forwards the user's input to
Within the NLP module, a comprehensive analysis of the user's query takes place. The
NLP module goes beyond the surface level of the text, delving into the intent behind the
words. It skillfully identifies the purpose of the user's query and extracts important details
or entities embedded within it.
Once the response is formulated, it's relayed back to the user interface. The user can
instantly view the chatbot's response within the chat window. At this juncture, the user
holds the power to shape the conversation's trajectory. They can opt to provide feedback
on the response's relevance or continue the conversation by posing further questions or
offering remarks.
If the user decides to continue interacting, the process enters a fresh iteration. Their new
input is sent back to the chatbot engine for analysis. This iterative exchange cultivates a
dynamic and adaptive dialogue between the user and the chatbot. Over time, the chatbot's
proficiency in understanding user intent and delivering pertinent responses is honed,
leading to an enhanced user experience. This iterative loop embodies the essence of a
fruitful human-computer interaction, characterized by continuous learning and
refinement.
4.3.1 Admin:
• Admin has complete access to the entire dataset.
• Admin inserts, updates, and deletes the data from dataset.
• Admin manages the chatbot's content, such as adding or modifying responses to
frequently asked questions or updating information.
• Admin manages the website's content, including adding or modifying pages,
updating course descriptions, uploading new images, and managing multimedia
content.
4.3.2 User:
• The user module provides a chat interface for users to interact with the chatbot,
including the ability to send messages and receive responses.
• The user module might include resources for students, such as study guides,
placement preparation and tutoring services.
• The user module allows users to access various aspects of the website, such as
course information, admission process, and campus events.
The development of a chatbot for the college website using Python and Natural
Language Processing (NLP) is a valuable addition to the institution's digital presence.
The chatbot serves as an interactive and user-friendly tool that enhances communication
between the college and its students, faculty, and visitors. Throughout the project, we
have successfully implemented NLP technique to understand and respond effectively to
user queries, streamlining the access to relevant information. Moreover, the iterative
development process and incorporation of user feedback have enabled us to continuously
enhance the chatbot's capabilities, making it more efficient and reliable over time.
There are several opportunities to further expand and improve the college website
chatbot. One potential way is to integrate machine learning algorithms into the NLP
techniques, enabling the chatbot to learn from interactions and adapt its responses based
on user behavior. This would lead to a more personalized user experience, as the chatbot
can tailor answers according to individual preferences and historical interactions.
Incorporating voice recognition and speech synthesis technology would enable users to
interact with the chatbot through voice commands, making it even more convenient for
visually challenged people and individuals too.
Chat.py-
import random
import json
import torch
from model import NeuralNet
from nltk_utils import bag_of_words, tokenize
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
with open('intents.json', 'r') as json_data:
intents = json.load(json_data)
FILE = "data.pth"
data = torch.load(FILE)
input_size = data["input_size"]
Models.py-
import torch
import torch.nn as nn
class NeuralNet(nn.Module):
def __init__(self, input_size, hidden_size, num_classes):
super(NeuralNet, self).__init__()
self.l1 = nn.Linear(input_size, hidden_size)
self.l2 = nn.Linear(hidden_size, hidden_size)
self.l3 = nn.Linear(hidden_size, num_classes)
self.relu = nn.ReLU()
def forward(self, x):
out = self.l1(x)
out = self.relu(out)
out = self.l2(out)
out = self.relu(out)
out = self.l3(out)
return out
nltk_utils.py-
import numpy as np
import nltk
from nltk.stem.porter import PorterStemmer
stemmer = PorterStemmer()
def tokenize(sentence):
return nltk.word_tokenize(sentence)
def stem(word):
return stemmer.stem(word.lower())
Base.html-
<div class="card-body">
<h5 class="card-title">Business Management for Women</h5>
<a href="https://soim.edu.in/" class="btn btn-primary">Click here</a>
</div></div>
</div></div>
</section>
<section class="colored-section about" id="cta">
<div class="container-fluid">
<h2 class="section-heading">Accreditation's & Affiliations</h2>
<div class="row2">
<div class="column2">
<img src="https://www.gnits.ac.in/wp-content/uploads/2020/08/NIRF2020-
1.jpg"" alt="Snow" style="width:100%">
</div>
<div class="column2">
<img src="https://www.gnits.ac.in/wp-content/uploads/2020/08/NACC.jpg"
alt="Forest" style="width:100%">
</div>
<div class="column2">
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img class="d-block w-100 image-fluid image-h-cust"
src="https://gnits.ac.in/wp-content/uploads/2020/09/7-scaled.jpg" alt="1">
</div>
<div class="carousel-item">
<img class="d-block w-100 image-fluid image-h-cust"
src=https://www.gnits.ac.in/wp-content/uploads/2023/01/SWE02507.jpg alt="2">