0% found this document useful (0 votes)
52 views24 pages

Hith Pariwala

This document is an industrial training seminar report submitted by Hith Pariwala in partial fulfillment of the degree of Bachelor of Technology in Computer Science and Engineering (Artificial Intelligence). The report discusses identifying problems with chatbots, defining the project scope of a chatbot, outlining common intended users of chatbots such as customers and students, and tools used in early chatbot development in Python including Python programming language, IDEs, natural language processing libraries, and version control systems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views24 pages

Hith Pariwala

This document is an industrial training seminar report submitted by Hith Pariwala in partial fulfillment of the degree of Bachelor of Technology in Computer Science and Engineering (Artificial Intelligence). The report discusses identifying problems with chatbots, defining the project scope of a chatbot, outlining common intended users of chatbots such as customers and students, and tools used in early chatbot development in Python including Python programming language, IDEs, natural language processing libraries, and version control systems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 24

A INDUSTRIAL TRAINING SEMINAR REPORT

SubmiHed in Partial fulfillment for the award of degree of

Bachelor of Technology Computer Science and Engineering (Artificial Intelligence)

Mentor Submitted By:


Mr Pawan Kumar Patidar HITH PARIWALA
CSE, SKIT 22ESKCA048

Coordinator: Head of Department:


Mr. Manish Bhardwaj Dr. Mukesh Kumar Gupta
CSE,SKIT CSE, SKIT

DEPARTMENT OF COOMPUTER SCIENCE & ENGINEERING

SWAMI KESHVANAND INSTITUTE OF TECHNOLOGY, MANAGEMENT AND GRAMOTHAN

RAMNAGARIA (JAGATPURA), JAIPUR-302017

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.

2. E-commerce Shoppers: Chatbots on e-commerce websites help users with product


recommendations, order tracking, and general shopping assistance. Intended users are
online shoppers.

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:

Designed By: HITH PARIWALA 2


PARIWA,22ESKCA001
II year Industrial Training Report 2023

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.

2. IDE (Integrated Development Environment): Choose a Python-friendly IDE to


facilitate coding, debugging, and testing. Options include Visual Studio Code, PyCharm,
and Jupyter Notebook.

3. Natural Language Processing (NLP) Libraries:


- NLTK (Natural Language Toolkit): NLTK is a comprehensive library that provides tools
and resources for NLP tasks like tokenization and part-of-speech tagging.
- spaCy: spaCy is a fast and efficient NLP library for text processing, including
entity recognition and dependency parsing.

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.

Designed By: HITH PARIWALA 3


PARIWA,22ESKCA001
II year Industrial Training Report 2023

CHAPTER 2

METHODOLOGY

2.1 Software Model Used.


The Waterfall Model is a traditional and linear approach to software development that follows a
strict and sequential progression of phases. It was one of the earliest methodologies used in
software engineering and is characterized by its well-defined stages, with each phase serving as a
prerequisite for the next. The primary phases of the Waterfall Model typically include:

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.

Designed By: HITH PARIWALA 4


PARIWA,22ESKCA001
II year Industrial Training Report 2023

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

2.2 Product User Interfaces


1. User-Friendly Design
2. Chat Window

Designed By: HITH PARIWALA 5


PARIWA,22ESKCA001
II year Industrial Training Report 2023
3. Text Formatting

Designed By: HITH PARIWALA 6


PARIWA,22ESKCA001
II year Industrial Training Report 2023

4. User Input Area


5. Feedback Mechanism
6. Accessibility

2.3 Product Features


The features of a chatbot can vary widely depending on its purpose, target audience, and the
technologies used in its development. Here are some common product features and capabilities that
chatbots may possess:

1. Natural Language Processing (NLP):


- Understanding and processing natural language inputs from users, allowing for
conversational interactions.
2. User Authentication:
- Providing secure user authentication, especially in applications where user identity is important.
3. Intent Recognition:
- Identifying user intents and extracting key information from user messages.
4. Multi-Platform Support:
- The ability to be deployed on various platforms, including websites, messaging apps, and
voice assistants.
5. Personalization:
- Offering personalized responses and recommendations based on user profiles and preferences.
6. Context Awareness:
- Maintaining context throughout the conversation to understand follow-up questions and
user needs.
7. Multi-Language Support:
- The capability to communicate in multiple languages to cater to a global audience.
8. Knowledge Base Integration:
- Accessing and retrieving information from knowledge bases or external databases.
9. API Integration:

Designed By: HITH PARIWALA 7


PARIWA,22ESKCA001
II year Industrial Training Report 2023

- 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.

11. Natural Language Generation (NLG):


- Generating human-like responses in natural language for more engaging interactions.
12. Multi-Modal Interaction:
- Supporting both text and voice input and output for versatile user engagement.
13. Search and Recommendations:
- Providing search capabilities and recommendations for products, services, or information.
14. Transactional Capabilities:
- Enabling users to complete transactions, such as making reservations, ordering products,
or booking appointments.
15. Feedback Collection:
- Allowing users to provide feedback on the chatbot's performance and user experience.

2.4 Design and Implementation Constraints


1. Operating system Constraint
• System should be compatible and will smoothly run on Android version 6.0 or above
2. Device Constraint
• Restro's core system and its user interface should be compatible with tablets.
However, running on small android mobile devices in not necessary.

Designed By: HITH PARIWALA 8


PARIWA,22ESKCA001
II year Industrial Training Report 2023

2.5 E-R Diagram

roles
. name CHARACTER VARYI£JG(255)
version INTE G ER
description C HARACTER VARYI MUGS(2

user roles chatbotuser


username CHARACTEP username CHARACTER VARYING(255
rolename CHARACTEP
version I£JTE G E R
lecturer BOOLEAN
firstnams CHARACTER VARY IMG(255t
lastname CHARACTER VARYI MG(255t
email CHARACTER VARYING!255t
password CHARACTER VARY INJG(255
account_enabIed BOOLEAN
ac<ount_non_expired BOOLEAN
account_non_locked BOOLEAN
credentiaIs_non_expired B0 OLEALJ

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)

2.6 Use Case Diagram

Designed By: AKSHAT NEPALIA 9


,22ESKCA001
DII year Industrial Tra ning Repo 2023

Use Case
Punctonal
Requkemens

Press chatbot
button

Select a
question

View questions

Public CTI StaP

Adds question

Sees contact
information

Adds contact
information

2.7 Sequence and Activity Diagram

Designed By: AKSHAT NEPALIA 1


,22ESKCA001 0
ear Industrial Trainin Re 2023

Designed By: AKSHAT NEPALIA 11


,22ESKCA001
II year Industrial Training Report 2023

CHAPTER 3

DEPENDENCIES

3.1 Assumption and Dependency


When developing a chatbot, it's important to acknowledge certain assumptions and dependencies
that shape its capabilities and functionality. Assumptions include the expectation that the chatbot
possesses effective natural language understanding capabilities, assuming users will provide clear
input, and that the chatbot operates within a predefined scope or domain of knowledge

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.

3.2 Hardware Requirements


Certainly, here's a description of the hardware requirements for creating a chatbot using Python:
1. Processor: For basic chatbot development in Python, a dual-core processor is sufficient.
However, if you're working on a more complex or resource-intensive project, a quad-core or
higher processor is recommended to ensure smooth performance.
2. RAM (Memory): A minimum of 4 GB of RAM is suitable for small to medium-sized
chatbot projects. For larger and more demanding projects, it's recommended to have 8 GB or
more to handle the processing requirements of NLP and machine learning tasks efficiently.
3. Storage: You'll need at least 50 GB of available storage space for Python, development
tools, libraries, and chatbot-related data. If you're working on projects with extensive datasets
or large models, consider having 100 GB or more.
4. Operating System: Python is versatile and can run on Windows, macOS, or Linux. Choose
the operating system that you're most comfortable with. For server-based chatbot deployments,
Linux is commonly preferred for its stability and performance.

Designed By: AKSHAT 12


NEPALIA ,22ESKCA001
II year Industrial Training Report 2023

5. Internet Connection: An internet connection is required for data retrieval, updates,


and potentially for cloud integration if your chatbot interacts with cloud services. For
production deployments, a high-speed and reliable internet connection is essential.
6. Development Machine: A typical laptop or desktop computer is sufficient for chatbot
development. However, for more intensive development tasks or large-scale projects, consider
using a workstation with more processing power and memory to speed up development and
testing processes.

3.3 Software Requirements

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.

2. Python Libraries for NLP:

- 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.

Designed By: AKSHAT 13


NEPALIA ,22ESKCA001
II year Industrial Training Report 2023

CHAPTER 4

NON-FUNCTIONAL REQUIREMENTS

4.1 Security Requirements


Security requirements for chatbots involve several key considerations. Firstly, robust user
authentication and authorization mechanisms should be in place to control access. Data
encryption, both in transit and at rest, is crucial for protecting sensitive information. Secure
APIs and connections are essential to prevent unauthorized access to external services.
4.2 Scalability Requirements
Scalability requirements for chatbots are crucial for accommodating increased user demand and
ensuring optimal performance. Key considerations include load balancing to evenly distribute user
requests, elastic scaling for automatic resource allocation, a distributed architecture for horizontal
scaling, caching to reduce data retrieval overhead, asynchronous processing to handle
time-consuming tasks efficiently, stateless design for flexibility, and scalable database solutions.

Designed By: AKSHAT 14


NEPALIA ,22ESKCA001
II year Industrial Training Report 2023

CHAPTER

IMPLEMENTATION

CODE:

import random
# library that we use in order to choose
# on random words from a list of words

name = input("What is your name? ")

# Here the user is asked to enter the name first

print("Good Luck ! ", name)


print("instruction:1)all the character should be in lower case"
"2)all the names of cricketers are very popular and had played in recent times" )

words =
['viratkohli','rohitsharma','msdohni','rishabhpant','jaspritbumrah','hardikpandya','ravindrajadeja']

# Function will choose one random


# word from this list of words
word = random.choice(words)

print("Guess the characters")

guesses = ''

# any number of turns can be used here


turns = 12

Designed By: AKSHAT 15


NEPALIA ,22ESKCA001
II year Industrial Training Report 2023
while turns > 0:

# counts the number of times a user fails


failed = 0

# all characters from the input


# word taking one at a time.
for char in word:

# comparing that character with


# the character in guesses
if char in guesses:
print(char, end=" ")

else:
print("_")

# for every failure 1 will be


# incremented in failure
failed += 1

if failed == 0:
# user will win the game if failure is 0
# and 'You Win' will be given as output
print("You Win")

# this print the correct word


print("The word is: ", word)
break

# if user has input the wrong alphabet then


# it will ask user to enter another alphabet
print()

Designed By: AKSHAT 16


NEPALIA ,22ESKCA001
II year Industrial Training Report 2023
guess = input("guess a character:")

# every input character will be stored in guesses


guesses += guess

# check input with the character in word


if guess not in word:

turns -= 1

# if the character doesn’t match the word


# then “Wrong” will be given as output
print("Wrong")

# this will print the number of


# turns left for the user
print("You have", + turns, 'more guesses')

if turns == 0:
print("You Loose")

Designed By: AKSHAT 17


NEPALIA ,22ESKCA001
II year Industrial Training Report 2023

OUTPUT:

Designed By: AKSHAT 18


NEPALIA ,22ESKCA001
II year Industrial Training Report 2023

Designed By: AKSHAT 19


NEPALIA ,22ESKCA001
II year Industrial Training Report 2023

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:

Websites and Articles

1. ChatGPT by OpenAI (https://chat.openai.com/)


2. Geek of greeks

AKSHAT NEPALIA 21

You might also like