Hith Pariwala
Hith Pariwala
September, 2023
ACKNOWLEDGEMENT
It is my pleasure to be indebted to various people, who directly or indirectly contributed in the development
of proposed work and who influenced my thinking, behavior, and acts during the course of study.
I express my sincere gratitude to Dr. Mukesh Kumar Gupta, Professor and Head, Department of Computer
Science and Engineering for providing me an opportunity to undergo In-house Internship programme at
SKIT, Jaipur. I am thankful to Mr. Manish Bhardwaj, Coordinator (II year In-house internship 2023-24, for
his support, cooperation and motivation provided during the internship for constant inspiration, presence and
blessings. I also extend my sincere appreciation to Dr. Megha Gupta who helped me in learning Python.
At last I must express my sincere heartfelt gratitude to all the staff members of Department of Computer
Science and Engineering & Department of Information Technology, who helped me directly or indirectly
during this course of work.
HITH PARIWALA
22ESKCA048
Table of Contents
1. Introduction
1.1 Problem Identification 1
1.2 Project Scope
1.3 Intended Users 1
1.4 Tools and Technologies to be used
2. Methodology
2.1 Software Model Used 1
2.2 Product Feature 2
2.3 Product User Interfaces 2
2.4 Design and Implementation Constraints 2
2.5 E-R Diagram... 2
2.6 Use-Case Diagrams 2
2.7 Sequence and Activity Diagrams.....................................................................................2
3. Dependencies
3.1Assumptions and Dependencies..........................................................................................2
3.2 Hardware Requirements.................................................................................................2
3.3 Software Requirements...................................................................................................2
4. Nonfunctional Requirements
4.1 Security Requirements 3
4.2 Scalability Requirements 3
5. Implementation and Testing
5.1 Flow Chart......................................................................................................................4
5.2Database snapshot...........................................................................................................4
5.3Code snipets..................................................................................................................4
6. Conclusion and Future Scope
References
CHAPTER 1
INTRODUCTION
1.1 Problem Identification
Identifying problems with a chatbot is crucial for improving its performance and user
satisfaction. Common issues include ineffective communication, where the chatbot may
misunderstand queries, provide inaccurate responses, or struggle with natural language inputs.
Limited scope is another problem, as some chatbots can only handle a narrow range of topics,
frustrating users with queries outside their domain. Personalization is often lacking, with
chatbots failing to tailor responses to individual users or remember previous interactions. Poor
user experience is a concern when interactions feel robotic or lack conversational flow.
Integration issues, limited multimodal capabilities, and sensitivity to user emotions are other
challenges. Security and privacy, a clear purpose, and data quality also play a role in problem
identification, which should lead to iterative improvements based on user feedback and testing.
1.2 Project Scope
The project scope of a chatbot is a critical framework that delineates the project's objectives,
constraints, and deliverables. It offers a clear understanding of the chatbot's intended purpose,
ensuring that all stakeholders are aligned. The scope outlines the main objectives and use cases,
specifies the target audience, and defines functional requirements, conversation flow, and
integration points. It also considers multilingual support, security and privacy measures,
scalability requirements, and plans for maintenance and updates. Additionally, the scope should
address data and training needs and incorporate mechanisms for user feedback and ongoing
evaluation. By establishing a well-defined project scope, teams can effectively plan, develop,
and implement chatbots that meet specific business needs and user expectations.
1.3 Intended Users
The intended users of a chatbot can vary depending on its purpose and design. Chatbots are
versatile and can be developed to serve a wide range of user groups. Here are some common
categories of intended users for chatbots:
II year Industrial Training Report 2023
1. Customer Support Chatbots: These chatbots are designed to assist customers with
inquiries, support issues, or product information. Intended users include customers of a
business or organization seeking help or information.
3. Healthcare Patients: Chatbots in the healthcare sector can help patients schedule
appointments, check symptoms, or access medical information. Intended users are individuals
seeking medical advice or services.
5. Travelers: Travel chatbots assist users with booking flights, hotels, or providing
travel recommendations. Intended users are individuals planning trips.
6. Educational Chatbots: Students and learners are the primary users of educational
chatbots, which help with answering questions, providing explanations, and delivering
learning content.
The intended users of a chatbot should be carefully defined during the design and development
process to ensure that the chatbot's functionalities, language, and responses align with their needs
and expectations. Tailoring the chatbot to its target audience is crucial for delivering a valuable
user experience.
1.4 Tools and Technologies
Creating a chatbot in Python involves using a combination of tools and libraries to handle
various aspects of chatbot development, including natural language processing (NLP), dialogue
management, and integration with different platforms. Here's a breakdown of what is typically
used in Python for creating a chatbot:
Certainly, here are some tools used at the early stages of chatbot development specifically in
Python:
1. Python: Python is the primary programming language for chatbot development due to
its versatility and the availability of various libraries and frameworks for NLP and AI.
5. Version Control:
- Git: Utilize Git for version control to track code changes and collaborate with team
members. You can use platforms like GitHub, GitLab, or Bitbucket for code hosting.
CHAPTER 2
METHODOLOGY
1. Requirements Gathering and Analysis: In this initial phase, the project team gathers and
documents all the requirements and specifications for the software. This phase involves
discussions with stakeholders to understand their needs and define the system's scope.
2. System Design: Based on the gathered requirements, the system's architecture and design
are developed. This phase results in the creation of detailed design documents, which outline
the system's structure and components.
3. Implementation (Coding): The actual coding or programming of the software takes place in
this phase. Developers write code based on the design specifications, and the system begins to
take shape.
4. Testing: After the code is developed, the software is thoroughly tested to ensure that it meets
the specified requirements and functions correctly. This phase often includes unit testing,
integration testing, system testing, and user acceptance testing.
5. Deployment: Once the software passes testing and quality assurance checks, it is deployed to
a production environment or delivered to the end-users.
6. Maintenance and Support: This phase involves ongoing maintenance and support of
the software to address any defects, add new features, and ensure it continues to meet user
needs.
The Waterfall Model is known for its rigidity and lack of flexibility because it assumes that all
requirements can be defined upfront and that changes are discouraged once a phase is completed.
It is best suited for projects with well-understood and stable requirements, where there is little
expectation of change during the development process.
While the Waterfall Model has been largely replaced by more iterative and flexible development
methodologies like Agile, it is still used in certain scenarios, such as in industries where
regulatory or compliance requirements necessitate a highly documented and sequential approach
- Connecting with external APIs to provide services, such as weather updates, news,
or e-commerce functionalities.
10. Voice and Speech Recognition:
- Enabling chatbots to process voice commands and engage in voice-based conversations.
roles
. name CHARACTER VARYI£JG(255)
version INTE G ER
description C HARACTER VARYI MUGS(2
information fdback
id BIGINT id BIGINT
question CHARACTER VARYING(235a mark INTE GER
answer CHARACTER VARYING(235) message C HARACTE R VARYING(255\
keywordl CHARACTE P VARYING(2551
keyword2 CHARACTER VARYI£JG(2551
keyword3 CHARACTER
VARYING(2551 keyword4
CHARACTER VARYING(255)
keyword5 CHARACTER VARYING(255\
log
id BIGIMT
question CHARACTER VARYI£JG(235]
answer CHARACTER VARYILJG(255)
Use Case
Punctonal
Requkemens
Press chatbot
button
Select a
question
View questions
Adds question
Sees contact
information
Adds contact
information
CHAPTER 3
DEPENDENCIES
On the other hand, dependencies are factors that chatbots rely on for their operation. They
include NLP tools and libraries for effective language processing, access to external data sources
and APIs, and the availability and quality of training data for machine learning-based chatbots.
Hardware and infrastructure resources, regular maintenance, and updates are also dependencies,
as well as privacy and security measures to safeguard user data.
Certainly, if you're developing a chatbot using Python, here are the key software requirements
specifically in Python:
1 Python: Ensure you have Python installed on your system. Python 3.x is the recommended version
for chatbot development.
- nltk (Natural Language Toolkit): NLTK is a comprehensive library for natural language
processing in Python. It provides tools for text processing, tokenization, and other NLP tasks.
3. Chatbot Frameworks:
-ChatterBot**: ChatterBot is a Python library for creating rule-based chatbots and is suitable for
simple chatbot development.
4. Version Control:
-Git: Implement Git for version control to manage code changes and collaborate with team
members. You can use platforms like GitHub, GitLab, or Bitbucket for code hosting and
collaboration.
CHAPTER 4
NON-FUNCTIONAL REQUIREMENTS
CHAPTER
IMPLEMENTATION
CODE:
import random
# library that we use in order to choose
# on random words from a list of words
words =
['viratkohli','rohitsharma','msdohni','rishabhpant','jaspritbumrah','hardikpandya','ravindrajadeja']
guesses = ''
else:
print("_")
if failed == 0:
# user will win the game if failure is 0
# and 'You Win' will be given as output
print("You Win")
turns -= 1
if turns == 0:
print("You Loose")
OUTPUT:
CHAPTER 6
CONCLUSION
In this game, there is a list of words present, out of which our interpreter will choose
1 random word. The user first has to input their names and then, will be asked to
guess any alphabet. If the random word contains that alphabet, it will be shown as the
output (with correct placement) else the program will ask you to guess another
alphabet. The user will be given 12 turns (which can be changed accordingly) to guess
the complete word.
AKSHAT NEPALIA 20
II year Industrial Training Report 2023
REFERENCES
When referring to chatbots or conducting research on the topic, you can use a variety of sources,
including books, academic papers, websites, and articles. Here are some references and sources
related to chatbots:
AKSHAT NEPALIA 21