0% found this document useful (0 votes)
195 views75 pages

Python Chatbot: Oriental Institute of Science & Technology, Bhopal

The document describes a project to create a Python chatbot to provide information on a particular topic. The objectives are to develop a basic chatbot that can respond to words/phrases and discuss different topics, and also pull data from Google. The chatbot will be able to initiate topics of discussion rather than just responding. The software requirements include Python 3.7.4 and various Python libraries, while the hardware requires at least 8GB RAM, 20GB storage, and an Intel i5 processor. The feasibility analysis found the project to be technically, economically, and operationally feasible with no major investments required and minimal impact on existing systems.

Uploaded by

Zeeshan Khan
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)
195 views75 pages

Python Chatbot: Oriental Institute of Science & Technology, Bhopal

The document describes a project to create a Python chatbot to provide information on a particular topic. The objectives are to develop a basic chatbot that can respond to words/phrases and discuss different topics, and also pull data from Google. The chatbot will be able to initiate topics of discussion rather than just responding. The software requirements include Python 3.7.4 and various Python libraries, while the hardware requires at least 8GB RAM, 20GB storage, and an Intel i5 processor. The feasibility analysis found the project to be technically, economically, and operationally feasible with no major investments required and minimal impact on existing systems.

Uploaded by

Zeeshan Khan
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/ 75

Oriental Institute of Science & Technology,

Bhopal

Python Chatbot
Project Work
Submitted as Minor Project in Partial fulfillment for the award of Graduate Degree in
Bachelor of Engineering in Computer Science & Engineering.
Submitted to

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA


BHOPAL (M.P)

Submitted By—
Zeeshan Khan – 0105CS181127
Nandani Choudhary – 0105CS181066
Zoheb Siddiqui - 0105CS181065
Under the Guidance of--
Prof. Manjari Ma’am
(Department of Computer Science & Engineering)

OIST Page 1
Oriental Institute of Science & Technology, Bhopal
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
JAN-JUN 2021

Certificate
This is to certify that the project entitled “Title” being
submitted by Zoheb Siddiqui(0105CS181065) student of
6th Semester, B.Tech in Computer Science & Engineering
have done their work as MINOR PROJECT for Partial
fulfillment of the B Tech degree from RGPV, Bhopal
(M.P.) is a record of bonafide work carried out by him
under our supervision.

Prof. Manjari Ma’am Prof. Atul Bharve Sir


Guide Head

Department of Computer Science & Department of Computer


Engineering Science & Engineering

OIST Page 2
TABLE OF CONTENTS
ABSTRACT

LIST OF FIGURES

LIST OF TABLES

LIST OF ALGORITHMS

__________________________________________________________

CHAPTER 1:- INTRODUCTION

1.1 Overview

1.2 Project Objective & Scope

1.3 Organization of Report

CHAPTER 2:-BACKGROUND AND LITERATURE SURVEY

2.1 Software Requirement Specification

2.2 Feasibility Report

2.2.1 Innovativeness and Usefulness

2.2.2 Market Potential and Competitive advantages

CHAPTER 3:- PROCESS MODEL

3.1 Proposed Process Model

3.2 Project Plan

3.3 Project Estimation and Scheduling

OIST Page 3
CHAPTER 4:- DESIGN

4.1 Use case diagram

4.2 Sequence Diagram

4.3 Activity Diagram

4.4 Class Diagram

4.5 E-R Diagram

4.6 Data Flow Diagram

4.7 Standard Chatbot Architecture

CHAPTER 5:- TECHNICAL DETAILS

5.1 Software Specification

5.2 Hardware Specification

CHAPTER 6:- CODING

CHAPTER 7:- TESTING

7.1 Testing Used

7.2 Test Cases & Results

CHAPTER 8:- SCREEN LAYOUTS

CHAPTER 9:- FUTURE ENHANCEMENTS

CHAPTER 10:- CONCLUSION

BIBLIOGRAPHY & REFERENCES

OIST Page 4
CHAPTER-1
INTRODUCTION

OIST Page 5
1.1. OVERVIEW

 Digitalisation, the surge of mobile and internet connected


devices has revolutionised the way people interact with one
another and communicate with businesses. Millennials are
accepting and supporting new technology into the routine of
their everyday life, this is becoming more prevalent as
technology companies are streamlining Artificial Intelligence
(AI) into the products they offer, such as; Google Assistant,
Google Home and Amazon Alexa. The new and upcoming
generation are expected to be critical and game changing
customers for businesses. This project aimed to implement a
web-based chatbot to assist with online any particular
information of the specific topic. The chatbot will allow users
to view all the information from within the chatbot.

 A chatbot is a software tool that utilises natural language


processing (NLP) for human machine interaction (HMI) and
Machine Learning (ML). “The complexity of a chatbot is
directionally proportional to the scope of the domain”. An
open domain requires a larger knowledge base, whereas, a
closed domain has a more specific knowledge base that was
developed to achieve a specific goal. Chatbot technology

OIST Page 6
initially began in the 1960s to determine whether a chatbot
could be portrayed as a human. This is a chatbot you can
create through interaction as it will learn from previous
interactions to create its knowledge base.

 Major features of the Chatbot include the following: 


 With many people adopting Smart Assistant Devices such as
Google Home or Amazon’s Alexa.
 The chatbot was tested across a range of devices such as
Google Home and Assistant on android devices to outline the
key differences between the two modes of interaction ,
spoken and text dialog.
 These test were carried out to identify the value in integrating
such technology surrounding the recent interest in chatbots
and conversational interfaces.

OIST Page 7
1.2. PROJECT OBJECTIVE & SCOPE

 The chatbot is user friendly and it doesn’t


requires any training or extra effort to understand it
properly. It provides a number of facilities on a single
click of mouse. This system is aimed to ease the work
of a student pursuing engineering.  
 This work aims to provide a fast and convenient
way to provide the necessary info of the particular
topic. The online chatbot will help facilitate the user
with queries and assist accordingly to resolve the
issue.

To create an intelligent AIML based chat bot that can allow


a human interacting with the bot to have an ongoing,
interesting and enriched conversation featuring looked up
information from Google.

Main Objectives :-

 Basic functionality – ability to respond to basic


words/phrases
 Advanced logic – be able to talk about different topics
 Pull data from Google. E.g What’s the weather like etc,
current news events

OIST Page 8
 The bot should be able to pick topics to talk about rather
than waiting on user input.

OIST Page 9
CHAPTER-2
BACKGROUND & LITERAL SURVEY

OIST Page 10
s/w Requirement Specification
   Software and Hardware Specification

• the problem the project is overcoming.

• the design methodologies considered for


implementation.
• functional and non-functional requirements.
• software and hardware utilised to implement the project.
 Hardware Requirement:-
- 8 GB RAM or above
- 20GB hard disk
- 10 MBPS speed of internet
- Intel core i5 8th generation processor atleast
 Software Requirement:-
- Pycharm IDE
- Python version 3.7.4
- Python Libraries

OIST Page 11
2.2. FEASIBILITY

 Technical Feasibility:
It determines that work for the project is done with the
present equipment and existing software technology,
such as:

-Easy to access, doesn’t require technical skill.


-It is supposed to perform the specific task for
particular topic which is given by developer and
customer requirements
 Economical Feasibility:
It looks the financial aspects of the project. Economic
feasibility concerns with the returns of the investments
in the project.
- It doesnot require any capital investment and is
free to use.
-  It does not require any capital investment and
is free to use.

 Operational Feasibility:
It covers mainly two aspects. It determines that how the
proposed system will fit in the current operation and

OIST Page 12
what if the job retraining and restructuring may be
needed at the end of the implementation of the system.
It is operational feasible also because it does not affect
the other applications running on the system nor does it
affects the network traffic in any way. Besides being a
web based application it requires only limited resources
as it is license free so it does not affect the working of
other software on the system.

2.2.1 Innovativeness and Usefulness

This section summarises the scope


of Python-Bot’s
operations covering main Chatbot
functionalities; including
how it introduces itself to students,
shares programming
concepts and provides support
capability.
Introduction Python-Bot begins by
first introducing it-

OIST Page 13
self and asking the user to
introduce himself or herself.
This enables the Chatbot to keep
record of the user name
and conversation period (starting
time, ending time and
duration of the conversation).
Programming Concepts The
Python-Bot provides de-
tail explanation of Python
programming concepts in-
cluding Data Types, Expressions,
Control Statements,
Strings, Text Files, Lists,
Dictionaries, Tuples, Problem
Solving, and Algorithms.
Python-Bot can also discuss
algorithms that are free of

OIST Page 14
programming language syntax.
Examples of the some content
shared by Python-Bot to assist
novice programmers in
understanding the grammatical
structure of if statements is:
IF (logical condition(s)) THEN
Statement block 1
ELSE
Statement block 2
END IF
Python-Bot proceeds to explain to
the user the
process of writing or constructing
an algorithm. For
instance, to write an algorithm to
find the average

OIST Page 15
of two numbers. It displays an
explains these steps:
Algorithm: Find the Average of
Two Numbers
Step 1: Add the two numbers and
save this
result in a variable.
Step 2: Divide this new number by
the
number or constant ‘‘two’’
This section summarises the scope
of Python-Bot’s
operations covering main Chatbot
functionalities; including
how it introduces itself to students,
shares programming
concepts and provides support
capability.

OIST Page 16
Introduction Python-Bot begins by
first introducing it-
self and asking the user to
introduce himself or herself.
This enables the Chatbot to keep
record of the user name
and conversation period (starting
time, ending time and
duration of the conversation).
Programming Concepts The
Python-Bot provides de-
tail explanation of Python
programming concepts in-
cluding Data Types, Expressions,
Control Statements,
Strings, Text Files, Lists,
Dictionaries, Tuples, Problem
Solving, and Algorithms.

OIST Page 17
Python-Bot can also discuss
algorithms that are free of
programming language syntax.
Examples of the some content
shared by Python-Bot to assist
novice programmers in
understanding the grammatical
structure of if statements is:
IF (logical condition(s)) THEN
Statement block 1
ELSE
Statement block 2
END IF
Python-Bot proceeds to explain to
the user the
process of writing or constructing
an algorithm. For

OIST Page 18
instance, to write an algorithm to
find the average
of two numbers. It displays an
explains these steps:
Algorithm: Find the Average of
Two Numbers
Step 1: Add the two numbers and
save this
result in a variable.
Step 2: Divide this new number by
the
number or constant ‘‘two’’
This section summarises the scope
of Python-Bot’s
operations covering main Chatbot
functionalities; including
how it introduces itself to students,
shares programming

OIST Page 19
concepts and provides support
capability.
Introduction Python-Bot begins by
first introducing it-
self and asking the user to
introduce himself or herself.
This enables the Chatbot to keep
record of the user name
and conversation period (starting
time, ending time and
duration of the conversation).
Programming Concepts The
Python-Bot provides de-
tail explanation of Python
programming concepts in-
cluding Data Types, Expressions,
Control Statements,

OIST Page 20
Strings, Text Files, Lists,
Dictionaries, Tuples, Problem
Solving, and Algorithms.
Python-Bot can also discuss
algorithms that are free of
programming language syntax.
Examples of the some content
shared by Python-Bot to assist
novice programmers in
understanding the grammatical
structure of if statements is:
IF (logical condition(s)) THEN
Statement block 1
ELSE
Statement block 2
END IF
Python-Bot proceeds to explain to
the user the

OIST Page 21
process of writing or constructing
an algorithm. For
instance, to write an algorithm to
find the average
of two numbers. It displays an
explains these steps:
Algorithm: Find the Average of
Two Numbers
Step 1: Add the two numbers and
save this
result in a variable.
Step 2: Divide this new number by
the
number or constant ‘‘two’’
This section summarises the scope
of Python-Bot’s
operations covering main Chatbot
functionalities; including

OIST Page 22
how it introduces itself to students,
shares programming
concepts and provides support
capability.
Introduction Python-Bot begins by
first introducing it-
self and asking the user to
introduce himself or herself.
This enables the Chatbot to keep
record of the user name
and conversation period (starting
time, ending time and
duration of the conversation).
Programming Concepts The
Python-Bot provides de-
tail explanation of Python
programming concepts in-

OIST Page 23
cluding Data Types, Expressions,
Control Statements,
Strings, Text Files, Lists,
Dictionaries, Tuples, Problem
Solving, and Algorithms.
Python-Bot can also discuss
algorithms that are free of
programming language syntax.
Examples of the some content
shared by Python-Bot to assist
novice programmers in
understanding the grammatical
structure of if statements is:
IF (logical condition(s)) THEN
Statement block 1
ELSE
Statement block 2
END IF

OIST Page 24
Python-Bot proceeds to explain to
the user the
process of writing or constructing
an algorithm. For
instance, to write an algorithm to
find the average
of two numbers. It displays an
explains these steps:
Algorithm: Find the Average of
Two Numbers
Step 1: Add the two numbers and
save this
result in a variable.
Step 2: Divide this new number by
the
number or constant ‘‘two’’
This section summarises the scope
of Python-Bot’s

OIST Page 25
operations covering main Chatbot
functionalities; including
how it introduces itself to students,
shares programming
concepts and provides support
capability.
Introduction Python-Bot begins by
first introducing it-
self and asking the user to
introduce himself or herself.
This enables the Chatbot to keep
record of the user name
and conversation period (starting
time, ending time and
duration of the conversation).
Programming Concepts The
Python-Bot provides de-

OIST Page 26
tail explanation of Python
programming concepts in-
cluding Data Types, Expressions,
Control Statements,
Strings, Text Files, Lists,
Dictionaries, Tuples, Problem
Solving, and Algorithms.
Python-Bot can also discuss
algorithms that are free of
programming language syntax.
Examples of the some content
shared by Python-Bot to assist
novice programmers in
understanding the grammatical
structure of if statements is:
IF (logical condition(s)) THEN
Statement block 1
ELSE

OIST Page 27
Statement block 2
END IF
Python-Bot proceeds to explain to
the user the
process of writing or constructing
an algorithm. For
instance, to write an algorithm to
find the average
of two numbers. It displays an
explains these steps:
Algorithm: Find the Average of
Two Numbers
Step 1: Add the two numbers and
save this
result in a variable.
Step 2: Divide this new number by
the
number or constant ‘‘two’’

OIST Page 28
This section summarises the use and innovation of Python-
Bot’s

operations covering main Chatbot functionalities; including

how it introduces itself to students, shares programming

concepts and provides support capability.

Introduction Python- Bot begins by first introducing it-

self and asking the user to introduce himself or herself.

This enables the Chatbot to keep record of the user name

and conversation period (starting time, ending time and

duration of the conversation).

Programming Concepts The Python-Bot provides de-

tail explanation of Python programming concepts including


Data Types, Expressions, Control Statements,

Strings, Text Files, Lists, Dictionaries, Tuples, Problem

Solving, and Algorithms.

Python-Bot can also discuss algorithms that are free of

programming language syntax. Examples of the some


content

OIST Page 29
shared by Python-Bot to assist novice programmers in

understanding the grammatical structure of if statements is:

IF (logical condition(s)) THEN

Statement block 1

ELSE

Statement block 2

END IF

Python-Bot proceeds to explain to the user the

process of writing or constructing an algorithm. For

instance, to write an algorithm to find the average

of two numbers. It displays an explains these steps:

Algorithm: Find the Average of Two Numbers

Step 1: Add the two numbers and save this

result in a variable.

Step 2: Divide this new number by the

number or constant ‘‘two’’, and save this result

in a variable.

OIST Page 30
Step 3: Provide this number (result from

step 2) to the rest of the program

(or print it for the user).

2.2.2 Market Potential and Competitive advantages

Chatbots are gaining popularity in the enterprise space. According


to a survey conducted by Oracle, 80 percent of respondents
(consisting of chief strategy officers, senior marketers and sales
executives) said they either already use chatbots or plan to utilize
them by 2020.

Just you might expect the answer to how much does it


cost to build a chatbot is, it depends. It's specifically
dependent on your business requirements. Gam Dias, Co-
Founder at  San Francisco, Calif.-based  1080Bot  explains
that the overall cost of chatbot development essentially
boils down to 3 variables.

The Industry Vertical


Developing chatbots for heavily regulated sectors like
healthcare financial services will require security
protocols to be implemented, and this adds up to the
overall cost. B2C industries that have a lot of customer
engagement, like the travel and retail sector, will need
to incorporate a more diverse range of dialogs and will
require a robust design, which further adds to the
overall cost.

OIST Page 31
The Required level of interaction
If the chatbot is going to deliver a menu driven
approach that has a simple set of rules and uses pre-
defined options for the user to select, the cost would
be low. But if the chatbot incorporates a natural
language processor (NLP) which recognizes the underlying
tone and emotions underneath the sounds, gestures and
words provided by the user will lead to higher costs
due to further development time required. And the more
you try to accommodate the different tones, the more
complex and costly it becomes.

The Required Capabilities


For simple action steps, such as retrieving weather
updates, flight status and FAQs, then development costs
will be low. If you create a chatbot that books a flight
or place an order, these chatbots require a deeper
integration with the back-end system and will lead to
higher costs.

OIST Page 32
CHAPTER 3:- PROCESS MODEL

3.1 Proposed Process Model

Technology offers many learning


opportunities, and the
internet has tremendous potential
[46]. The introduction

OIST Page 33
of AI in Education is changing the
learning process [10].
Students learn and absorb
information through AI tools
like Chatbot [33, 47]. Today’s
teachers are able to offer
the learners with a customized
learning environment thanks
to AI. Researchers have developed
a number of learning
tools to improve the Education
system [48]. Chatbots,
as conversational agents, act as
game changers in the
innovative learning world [10, 49],
and are built to enhance
the interaction and collaboration
among the students and

OIST Page 34
their courses [50, 51].
Technology offers many learning
opportunities, and the
internet has tremendous potential
[46]. The introduction
of AI in Education is changing the
learning process [10].
Students learn and absorb
information through AI tools
like Chatbot [33, 47]. Today’s
teachers are able to offer
the learners with a customized
learning environment thanks
to AI. Researchers have developed
a number of learning
tools to improve the Education
system [48]. Chatbots,

OIST Page 35
as conversational agents, act as
game changers in the
innovative learning world [10, 49],
and are built to enhance
the interaction and collaboration
among the students and
their courses [50, 51].
Technology offers many learning
opportunities, and the
internet has tremendous potential
[46]. The introduction
of AI in Education is changing the
learning process [10].
Students learn and absorb
information through AI tools
like Chatbot [33, 47]. Today’s
teachers are able to offer

OIST Page 36
the learners with a customized
learning environment thanks
to AI. Researchers have developed
a number of learning
tools to improve the Education
system [48]. Chatbots,
as conversational agents, act as
game changers in the
innovative learning world [10, 49],
and are built to enhance
the interaction and collaboration
among the students and
their courses [50, 51].
In this work, we have developed an interactive chatbot
using the Flask framework in python, and the workflow
of the proposed framework is shown in Fig. User
discussion, as a rule, begins with the simple welcome
or general questions. User inquiries are first taken care
of by AIML check, to check whether the entered
inquiry is AIML script or not. AIML is characterized by

OIST Page 37
general inquiries, queries, and welcome which is
replied by utilizing AIML formats.

Once the bot-user types in the query in the chatbot,


the AIML developed chatbot will identify the category
that contains the query pattern. Here the bot-user is
expected to type in the query in a predefined pattern.
Once the query pattern is matched, the template of
the category that contains the response is sent back to
the bot-user.

OIST Page 38
3.2 Project Plan

Technical Details-
The application will be written using python chatterbot to
develop the responses to queries from the user. The AIML
is interpreted by the python library and outputted to the
web-based application. When search functionality is

OIST Page 39
implemented the application will use Google to source its
data. Other websites may come into play depending on
what topic is being discussed in the conversation for
example if the user asks the weather, the data could be
pulled from a weather forecast website. The application
will be able to store user details like Name, gender, age
and possibly some other information depending on the
conversation. This data will be stored for conversation
enhancement and will be stored securely.
Evaluation-
The system will be evaluated by test cases for each
functional requirement. The system will be evaluated to
the end user by having a mock conversation and testing
each of the functional requirements.

3.3 Project Estimation and Scheduling

To create an intelligent Python based chat bot that can


allow a human interacting with the bot to have an

OIST Page 40
ongoing, interesting and enriched conversation featuring
looked up information from Google.
Main Objectives-
 Basic functionality – ability to respond to basic
words/phrases
 Advanced logic – be able to talk about different topics
 Pull data from Google. E.g What’s the weather like etc,
current news events
 The bot should be able to pick topics to talk about rather
than waiting on user input Background Most Chat Bots
imitate conversation in a usually rather empty matter and
the conversation lacks any substance.

With basic chat bots the conversation is never really


flowing, the bot always relies on the user to bring up
topics which can make the conversation feel like a chore.
An inspiration for this project would be Apples “Siri”.
Although Siri isn’t really a chat bot it has the ability to
search Google for you and display data based on those

OIST Page 41
searches. For example, football results from last night.
Technical Approach- The application will be developed
using Python library, it is an Cpython language that is used
for creating natural language software agents. I will
combine this with Java to run the application. Special
resources required- No special resources required.

OIST Page 42
CHAPTER-4
DESIGN

OIST Page 43
4.1 Use case diagram

A Use Case Diagram is a type of behavioral diagram


defined by and created from a Use-case analysis. It is
used to identify the primary elements and processes
that form the system. The primary elements are termed
as "actors" and the processes are called "use cases."
The Use case diagram shows which actors interact
with each use case. The main purpose of a use case
diagram is to show what system functions are
performed for which actors.
The elements used for this representation are:
• Actors
• Use Cases
• System Boundary
• Associations
A use case can be related to another use case in three
ways:
 include - allows factoring common elements to
two or more use cases
 generalization - describes variation in normal
behavior
 extend - similar to generalization but the variation
is more formal as it is tied to the extension points

OIST Page 44

OIST Page 45
4.2 E-R Diagram

ER-Diagram is a visual representation of data that describes


how data is related to each other
It has 3 main components
1) Entity
2) Attribute
3) Relationship.

OIST Page 46
4.3 Class Diagram

A class diagram is a type of static structure


diagram that describes the structure of a system by
showing the system's classes, their attributes, and the
relationships between the classes. Class diagrams are
widely used to describe the types of objects in a
system and their relationships. Class diagrams model
class structure and contents using design elements
such as classes, packages and objects. Class diagrams
describe three different perspectives when designing a
system, conceptual, specification, and implementation.

OIST Page 47
The class diagram shown in Figure given below
illustrates the classes required to implement the
chatbot. This will act as a guide for implementing the
chatbot however other classes may be identified or
modified during development to meet the
requirements.

OIST Page 48
4.4 Data flow diagram

A data flow diagram (DFD) is a graphical


representation of the "flow" of data through an
information system , modelling its process aspects. A
DFD is often used as a preliminary step to create
an overview of the system, which can later be elaborated.
DFDs can also be used for the visualization of data
processing (structured design).

OIST Page 49
4.5. Sequence Diagram

It defines the interaction diagram that shows how


processes operate with one another and in what order. it is a
construction of message sequence chart.

OIST Page 50
OIST Page 51
4.6. ACTIVITY DIAGRAM

An activity diagram shows the flow from activity to


activity. An activity is an ongoing non-atomic execution
within a state machine. Activities ultimately result in some
action, which is made up of executable atomic
computations that result in a change in state of the system
or the return of a value. Activity diagrams are drawn to
specify the informational flow of the data and outline the
processes that are involved in the chatbot. They represent
the users’ behaviour when interacting with the chatbot and
how it responds to these actions through processes. These
will breakdown the distinct functionality of the chatbot.
Activity diagrams commonly contain:

 Activity states and action states


 Transitions
 Object

OIST Page 52
Fig :- Activity Diagram

OIST Page 53
4.7 Standard Chatbot Architecture

OIST Page 54
CHAPTER 5:- TECHNICAL DETAILS

OIST Page 55
5.1 Software and hardware requirements
Deciding upon an appropriate methodology is vital for the
overall development of any software application to ensure a
realistic timeframe is established for each stage of the
project and requirements are clearly outlined. Various
development methodologies will be discussed and
considered for the development and design of this software.
This section will highlight the development methodology
that is best suited to this project.
5.2  Software and Hardware Specification
• the problem the project is overcoming.
• the design methodologies considered for implementation.
• functional and non-functional requirements.
• software and hardware utilised to implement the project.
 Hardware Requirement:-
- 8 GB RAM or above
- 20GB hard disk
- 10 MBPS speed of internet
- Intel core i5 8th generation processor atleast
 Software Requirement:-
- Pycharm IDE - Python Libraries
- Python version 3.7.4

OIST Page 56
CHAPTER 6:- CODING

OIST Page 57
OIST Page 58
OIST Page 59
OIST Page 60
OIST Page 61
OIST Page 62
CHAPTER 7:- TESTING

OIST Page 63
7.1. TEST PLAN

A test plan documents the strategy that will be used


to verify and ensure that a product or system meets its
design specifications and other requirements. A test plan is
usually prepared by or with significant input from test
engineers.
Test plan document formats can be as varied as the
products and organizations to which they apply. There are
three major elements that should be described in the test
plan: Test Coverage, Test Methods, and Test
Responsibilities.

Test coverage
Test coverage in the test plan states what requirements will
be verified during what stages of the product life. Test
Coverage is derived from design specifications and other
requirements, such as safety standards or regulatory codes,
where each requirement or specification of the design
ideally will have one or more corresponding means of
verification. Test coverage for different product life stages
may overlap, but will not necessarily be exactly the same
for all stages. For example, some requirements may be
verified during Design Verification test, but not repeated
during Acceptance test. Test coverage also feeds back into
the design process, since the product may have to be
designed to allow test access.

OIST Page 64
Test methods
Test methods in the test plan state how test coverage will
be implemented. Test methods may be determined by
standards, regulatory agencies, or contractual agreement, or
may have to be created new. Test methods also specify test
equipment to be used in the performance of the tests and
establish pass/fail criteria. Test methods used to verify
hardware design requirements can range from very simple
steps, such as visual inspection, to elaborate test procedures
that are documented separately.

Test responsibilities
Test responsibilities include what organizations will
perform the test methods and at each stage of the product
life. This allows test organizations to plan, acquire or
develop test equipment and other resources necessary to
implement the test methods for which they are responsible.
Test responsibilities also includes, what data will be
collected, and how that data will be stored and reported
(often referred to as "deliverables"). One outcome of a
successful test plan should be a record or report of the
verification of all design specifications and requirements as
agreed upon by all parties.

OIST Page 65
7.2. TEST FIXTURE

Test fixture refers to the fixed state used as a baseline for


running tests in software testing. The purpose of a test
fixture is to ensure that there is a well known and fixed
environment in which tests are run so that results are
repeatable. Some people call this the test context.

Example of fixtures:
 Loading a database with a specific, known set of data
 Erasing a hard disk and installing a known clear
operating system installation
 Copying a specific known set of files

Four phases of a test:


 Set up- -Setting up the test fixture.
 Exercise- -Interact with the system under test.
 Verify- -Determine whether the expected outcome has
been obtained.
 Tear down- -Tear down the test fixture to return to the
original state.

OIST Page 66
Use of fixtures
Some advantage of fixture include separation of the
test initialization from the testing, reusing a known
state for more than one test, and special assumption by
the testing framework that the fixture set up works.

7.3. TEST CASES

 GUI Test Cases


Total no of features that need to be check
Look & Feel
Look for Default values if at all any (date & Time, if at all
any require)
Look for spell check
 Positive Test Cases:
The positive flow of the functionality must be considered
Valid inputs must be used for testing
Must have the positive perception to verify whether the
requirements are justified.
 Negative Test Cases:
Must have negative perception.
Invalid inputs must be used for test.

OIST Page 67
CHAPTER 8:- SCREEN LAYOUTS

OIST Page 68
OIST Page 69
OIST Page 70
CHAPTER 9:- FUTURE ENHANCEMENTS

OIST Page 71
9.1. FUTURE ENHANCEMENT
The chatbot could also be developed to be multilingual.
From observing the users interact with the chatbot during
user testing, there were numerous suggestions to
integrate the chatbot across other popular platforms such
as Amazon Echo or Dot, this would increase the availability
of the chatbot and the integration of the Dialog Flow API
allow the chatbot to be easily exported Amazon Alexa.
 There are limitations to what has been currently
achieved with chatbots. The limitations of data
processing and retrieval are hindering chatbots to
reach their full potential. It is not that we lack the
computational processing power to do so. However,
there is a limitation on “How” we do it. One of the
biggest examples is the retail customer market.
 Retail customers are primarily interested in
interacting with humans because of nature of their
needs.
 From researching into the area of intelligent chatbots,
we’ve noticed that there are a lot of startups setting up
with the objective of creating chatbots for businesses
and organizations, allowing their customers to tailor
the chatbot to their needs.

OIST Page 72
9.2. CONCLUSION

Chatbot has developed such that It can be


accessed from any type of system. There is
clear evidence based on the research
conducted that there will be a drastic increase
in the number of chatbots being implemented
within the financial service industry. The vast
amount of research that has been carried out,
and currently ongoing, within the artificial
intelligence field has led to the rise of more
sophisticated and intellectual chatbots. This will
prove to be immensely beneficial in providing
convenient and accessible customer service at
a rapid scale. The rise and popularity of
chatbots is clearly outlined. With this in mind
the data gathered from testing the chatbot
justifies the recent growth and demand for
companies wanting to integrate a chatbot.

OIST Page 73
CHAPTER 10:-
REFRENCES & BIBLIOGRAPHY

OIST Page 74
 https://www.python.org/downlo
ads/
 https://www.geeksforgeeks.org/

 https://chatterbot.readthedocs.io

/en/stable/
 https://pypi.org/project/pyttsx3/

 https://pypi.org/project/SpeechR

ecognition/
 https://docs.python.org/3/library

/tkinter.html
 https://docs.python.org/3/library

/threading.html

OIST Page 75

You might also like