Professional Documents
Culture Documents
Submitted by
RAMYAA M (113119UG03079)
JITHU M S (113119UG03041)
MONIKA M (113119UG03059)
NIVETHA D (113119UG03064)
RENUKA R (113119UG03081)
BACHELOR OF ENGINEERING
IN
DECEMBER 2022
ANNA UNIVERSITY, CHENNAI 600 025
BONAFIDE CERTIFICATE
Certified that this project report of title “AI Based Chatbot For Banking Industries” is
the bonafide work of RAMYAA M (113119UG03079), JITHU M.S (113119UG03041),
MONIKA M (113119UG03059), NIVETHA D (113119UG03064), RENUKA R
(113119UG03081) who carried out the project work under my supervision.
SIGNATURE SIGNATURE
This is to certify that the project entitled “AI Based Chatbot For Banking Industries”
is the bonafide record of work done by following students to carry out the project work
under our guidance during the year 2022-2023 in partial fulfilment for the award of
Bachelor of Engineering degree in Computer Science and Engineering conducted by
Anna University, Chennai.
RAMYAA M (113119UG03079)
JITHU M S (113119UG03041)
MONIKA M (113119UG03059)
NIVETHA D (113119UG03064)
RENUKA R (113119UG03081)
We wish to express our sincere thanks to Almighty and the people who extended their
help during the course of our work.
We are greatly and profoundly thankful to our honourable Chairman, Col. Prof.Vel.
Shri Dr.R.Rangarajan B.E.(ELEC), B.E.(MECH), M.S.(AUTO)., D.Sc., &Vice
Chairman, Dr.Mrs.Sakunthala Rangarajan M.B.B.S., for facilitating us with this
opportunity.
We also record our sincere thanks to our honorable Principal, Dr.V.Rajamani
M.E.,Ph.D., for his kind support to take up this project and complete it successfully.
We would like to express our special thanks to our Head of the Department,
Dr.R.Saravanan, B.E,M.E(CSE).,Ph.D. Department of Computer Science and
Engineering and our project supervisor Ms.D.Vaitheeswari, M.E(CSE), for their
moral support by taking keen interest on our project work and guided us all along, till
the completion of our project work and also by providing with all the necessary
information required for developing a good system with successful completion of the
same.
Further, the acknowledgement would be incomplete if we would not mention a word
of thanks to our most beloved Parents for their continuous support and encouragement
all the way through the course that has led us to pursue the degree and confidently
complete the project work.
25
ii
5. MODULE DESCRIPTION 30
5.1. PROJECT DEFINITION 31
5.2. OVERVIEW OF THE PROJECT 31
5.3. METHODOLOGY 31
5.4. ARCHITECTURE DIAGRAM 32
5.5. MODULES 33
5.5.1. OBTAINING VALUES FROM
ACCELEROMETER 33
5.5.2. FETCHING THE DATASET 34
5.5.3. PROCESSING THE DATASET 35
5.5.4. FEATURE CALCULATION 36
5.5.5. CLASSIFICATION ALGORITHM 37
5.5.6. EVALUATION METRICS 39
5.5.7. SENDING ALERT 40
5.6. DATABASE DESIGN 41
5.7. INPUT DESIGN 42
5.8. OUTPUT DESIGN 42
6. SYSTEM TESTING 43
6.1. CODE REVIEW 44
6.2. TESTING PROCESS 44
6.2.1. UNIT TESTING 45
6.2.2. INTEGRATION TESTING 45
6.2.3. VALIDATION TESTING 46
6.2.4. SYSTEM TESTING 46
6.2.5. RECOVERY TESTING 46
6.2.6. SECURITY TESTING 47
6.2.7. PERFORMANCE TESTING 47
6.3. EXPERIMENTAL OUTCOME 47
.
iii
7. SYSTEM IMPLEMENTATION 48
7.1. IMPLEMENTATION PROCEDURE 49
APPENDICES 53
APPENDIX-1 SCREENSHOTS 54
MODAL PERFORMANCE
7.1 TESTING 44
7.2 ACCURACY 45
7.1 ACCURACY 36
vii
CHAPTER 1
INTRODUCTION
11
INTRODUCTION
With banking being an essential service that people require and with it
being a slightly complicated and confusing topic for many, a lot of queries naturally
tend to arise. For them to be answered as they are predominantly now in a manual
aspect either by face to face interactions with a banking employee or through a
customer care service, will require a lot of workforce and still end up with long
waiting times. Hence, comes the need for an automated solution to the problem
which can be easily handled by our chatbot. A chatbot is free, easy to use and is
readily accessible at all times and from anywhere. It also provides instant reliable
answers to queries and hence eliminating the need for the customers to wait to get
their queries cleared. It also ensures that there is no spread of misinformation by
providing official and authentic responses to queries straight from the bank sources.
This is achieved with the help of a chatbot that is trained with some of the most
frequently asked questions that banking customers usually tend to come up with.
The chatbot is created using IBM Watson Assistant and is trained by manually
adding the queries to it along with the relevant responses. The chatbot will then be
available for use on a website which usually is the bank’s website for anyone to
access. Customers or anyone in fact can access the chatbot to interact with it and
find solutions to their queries
12
1.1 OBJECTIVE
The goal of the project is to implement Artificial Intelligence in the
banking sector. AI banking Chatbot help customers in many ways. AIbased chatbot
service for banking industry is one of the significant use cases of AI in banking
sector. AI chatbot in banking are modernizing the way how businesses provide
services to their customers. This study examined the evolution, adoption,
implementation and future opportunities of leveraging Artificial Intelligence (AI)
for successful strategy implementation in India’s
13
1.3.2 Dr. Shalini Sayiwal ,"CHATBOTS IN BANKING INDUSTRY: A CASE
STUDY", 2020
Chatbots designed with AI are one of the most promising strategies of a
banking business that can lead the bank to win the satisfaction vote of their loyal
customers. Chatbots are relatively inexpensive to develop and maintain compared to
the human equivalent. Chatbots are more intuitive and easier to use. There is no
download required and the experience can be personalized over time through
machine learning.
14
CHAPTER 2
SYSTEM ANALYSIS
15
SYSTEM ANALYSIS
This system will be a web application which will provide answers to the
queries of the User and they have to select the category for the department queries
and then ask the query to the bot that will be used for chatting. The answer to the
query will be answered on the basis of the user queries and the knowledge base.
The important keywords will be fetched from the keywords and the answer to
those keywords will be searched in the knowledge base.
If the match is found, the relevant answer will be provided to the user or
the default message will be shown to the user that “Answer to this query is not
available at the moment, please revert back after some time”. The “Keyword
Matching” algorithm will be used to match the keywords from the knowledge
base. In some cases, user may find out that the answer given to his/her query is
not relevant.
In such cases, the user can mark this answer as Invalid, and an instance
of this invalid answer will be sent to the admin panel at the same time. Whenever
Admin will log in, he will get to see the answers which are marked invalid and
then he can do the necessary changes to the knowledge base so that user will get
the accurate result when he will ask the same question next time.
16
2.1.1. Disadvantages
17
2.2.1. Advantages
18
2.3.1. Economic Feasibility
This assessment typically involves a cost/ benefits analysis of the project,
helping organizations determine the viability, cost, and benefits associated with a project
before financial resources are allocated. It also serves as an independent project
assessment and enhances project credibility—helping decision-makers determine the
positive economic benefits to the organization that the proposed project will provide.
19
CHAPTER 3
SYSTEM SPECIFICATIONS
20
SYSTEM SPECIFICATIONS
21
CHAPTER 4
SOFTWARE DESCRIPTION
22
SOFTWARE DESCRIPTION
The HTML and CSS is used to design the overall chatbot UI. HTML is used to add
UI components and CSS is used to add style to those components. IBM Watson
assistant deploys HTML code to train the Chatbot.
4.1.2 CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing
the presentation of a document written in a markup language such
as HTML or XML (including XML dialects such
as SVG, MathML or XHTML).CSS is a cornerstone technology of the World Wide
Web, alongside HTML and JavaScript.
4.1.3 BOOTSTRAP
Bootstrap is a free and open-source CSS framework directed at
responsive, mobile-first front-end web development. It contains HTML, CSS .
23
4.1.4 IBM Watson Assistant
IBM Watson Assistant uses artificial intelligence that understands
customers in context to provide fast, consistent, and accurate answers across any
application, device, or channel. Remove the frustration of long wait times, tedious
searches, and unhelpful chatbots with the leader in trustworthy AI.
4.2.1.PYTHON 3.6
Python is an interpreter, high-level, general-purpose programming language.
Created by Guido van Rossumand first released in 1991, Python's design philosophy
emphasizes code readability with its notable use of significant whitespace. Its
language constructs and object-oriented approach aim to help programmers write
clear, logical code for small and large-scale projects.
24
4.2.3 VS Code
Visual Studio Code is a source-code editor that can be used with a variety of
programming languages, including C#, Java, JavaScript, Go, Node.js, Python, C++,
C, Rust and Fortran. It is based on the Electron framework, which is used to develop
Node.js web applications that run on the Blink layout engine. Visual Studio Code
employs the same editor component (codenamed "Monaco") used in Azure DevOps
(formerly called Visual Studio Online and Visual Studio Team Services).
Out of the box, Visual Studio Code includes basic support for most common
programming languages. This basic support includes syntax highlighting, bracket
matching, code folding, and configurable snippets. Visual Studio Code also ships
with IntelliSense for JavaScript, TypeScript, JSON, CSS, and HTML, as well as
debugging support for Node.js. Support for additional languages can be provided by
freely available extensions on the VS Code Marketplace
4.2.3. ANACONDA
25
4.2.4. JUPYTER NOTEBOOK
26
CHAPTER 5
MODULE DESCRIPTION
27
MODULE DESCRIPTION
28
5.3. METHODOLOGY
• Chatbot Skills Creation
• Creating Current Account Action
• Creating Loan Account Action
• Creating Saving Account Action
• Creating General Query Action
• Creating Net Banking Action
• Nearest Bank
• Access Records
• Connect To Live Agent
• Make Payment
• Add to Authorized User
29
5.4. ARCHITECTURE DIAGRAM
30
5.5. MODULES
Connect with your customers on their preferred platform, at any time, from
anywhere in the world. Whether your customers want to ask common questions or
access specific information, text virtual agents offer an instant and satisfying
experience for customers who want quick and accurate response
Bank loans are normally provided at a cost, which is generally interest on the
owed amount. Other fees and charges may be applicable, depending on the type of
loan and on the lender. Arrangement fees are commitment or administration charges
payable to the lender to reserve the funds and to cover opening costs. Fees will vary
depending on the complexity of the business, its size and risk
31
5.5.4 Creating Savings Account Action
32
5.5.8 Access Records And Make A Payment
It can help you to access your records such as customer/ user previous
transaction history and other details regards to customer account.Only the account
holder can access their records after the authentication process.
Users can use chatbots to pay bills, set or cancel payments, and track
monetary transactions. Chatbots can also pay off credit card bills or charge
prepaid cards.
Once the handing off to a live agent begins, the live agent will receive a
notification on their end to make the transfer and start the live agent chat. There should
be no need for disconnecting from the current chat screen for another one
.
The live agent transition should take place all in the same chat window to
make it easier for the customer and to avoid confusion of multiple chat windows open
at the same time. If somehow the customer gets disconnected from the chat window,
the agent should be able to send a link to the email address provided to rejoin the chat.
The transcript of the customer's issue as described to the chatbot at the start
of the chat will be included for the live agent. This is beneficial since they will not
have to start all over again from square one, saving both the customer and the live
agent time. All of the customer's information, accounts, and past orders should be
available for viewing as well to help expedite the process.
33
5.8. Local Storage
34
5.9. INPUT DESIGN
The nature of input data is determined partially during logical system design. However
the nature of inputs is made more explicit during the physical design. The impact of
inputs on the system is also determined. Effort has been made to ensure that input data
remains accurate from the stage at which it is recorded and documented to the stage at
which it is accepted by the computer. Validation procedures are also present to detect
errors in data input, which is beyond control procedures. Validation procedures are
designed to check each record, data item or field against certain criteria.
35
5.10. OUTPUT DESIGN
The output design phase of the system design is concerned with the conveyance
of information to the end users in a user friendly manner. The output design should be
efficient, intelligible so that the systems relationship with the end user is improved and
thereby enhancing the process of decision making. The output design is an ongoing
activity almost from the beginning of the project, and follows the principles of form
design. Efficient and well-defined output design improves the relation of the system and
the user, thus facilitating decision making.
The primary considerations in the design of the output are the requirement of the
information and the objectives of the end users. The output design should be efficient,
intelligible so that system relationship with the end user is improved and they’re by
enhancing the process of decision making.
36
CHAPTER 6
SYSTEM TESTING
37
SYSTEM TESTING
The objective is to design tests that systematically uncovers different classes of error
and do so with the minimum amount of time and effort .Testing cannot show the
absence of defects, it can only show that the software defects are present.
38
6.2.1. Unit Testing
Number of input parameters should be equal to the number of arguments
Parameter and argument attributes must match .Parameter passed should be in
correct order. Global variable definition consistent across module. If module does
input,
• File attribute should be correct
• Open /close statement should be correct
• Buffer size should match record size
• Input error should handle.
• File should be open before used
• Any textual error in output information should be checked.
39
6.2.3. Validation Testing
Validation testing is aims to demonstrate that the software function in a
manner that can be easily reasonably expected by the customer. A set of black box
test is to demonstrate conformance with requirements to check that all functional
requirements are satisfied, all performance requirements achieved and other
requirements are met. When validation testing fails it may be too late to correct the
error prior to scheduled delivery.
40
6.2.6. Security Testing
System with sensitive information or which have the potential to harm the
individual can be target for in proper or illegal use .During security testing the tester
plays the role of the individual trying to penetrate the system .Large range of
methods
• Attempt to acquire passwords through external clerical means
• Use custom software to attack the system
• Overwhelm the system with the request
6.2.7. Performance Testing
For real-time and embedded systems, functional requirements may be
satisfied but performance problems make the system unacceptable Performance
testing checks the runtime performance in the context of integrated system.
Two basic approaches are
1. Black Box or functional analysis
2. White box or structural analysis
41
CHAPTER 7
SYSTEM IMPLEMENTATION
42
SYSTEM IMPLEMENTATION
43
Table 7.1: Comparing the specificity and accuracy of Support
IBM Watson Assistant
44
45
CHAPTER 8
46
CONCLUSION AND FUTURE ENHANCEMENTS
8.1. CONCLUSION
We exploited the unique real-world fall data from the FARSEEING fall repository
to train and test machine learning algorithms for fall detection based on acceleration
signals recorded by a single wearable sensor. The implemented algorithms learning from
features based on a multiphase model over performed algorithms learning on
conventional features. Finally, we provided and suggested useful metrics for
characterizing fall detection systems to deploy in the real world.
47
APPENDICES
48
APPENDIX - 1
SCREENSHOTS
49
IBM WATSON
Valuable information often exists in forms of language that can be hard for computers
to understand: PDFs. Charts. Tables. Call logs. Handwritten documents. Blog posts.
News articles. Tweets. This is far too much data for a person to read, process and
synthesize. But it is not too much for AI that can comprehend the language of your
business. With NLP, disparate, unstructured data can be brought together and
processed so you can understand what it all means and make more informed decisions.
Watson can better comprehend human language, the language of your industry, and
even jargon that’s specific to your company.
50
Fig A.3: Login Credentials
51
52
APPENDIX – 2
IMPLEMENTATION CODE
Index.html
<!doctype html>
<html lang="en">
<head>
<title>Swiss Bank</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-
fit=no">
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700"
rel="stylesheet">
<!-- <link rel="stylesheet" href="../fonts/icomoon/style.css"> -->
<link rel="stylesheet" href="../static/fonts/icomoon/style.css">
53
Current accounts largely deal with liquid deposits does not limit the number of
transactions in a day and easily allows for the withdrawal of funds.</p>
<div data-aos="fade-up" data-aos-delay="100">
<a href="#" target="_blank" class="btn btn-primary mr-2 mb-2">Get
In Touch</a>
</div>
</div>
<div class="slide">
<h1 class="text-uppercase" data-aos="fade-up">Savings Accounts</h1>
<p class="mb-5 desc" data-aos="fade-up" data-aos-delay="100">Swiss
Bank offers 11 types of savings accounts to serve the financial needs of students,
entrepreneurs, salaried employees, or senior citizens.From regular to
premium savings account, one can manage the money efficiently.</p>
<div data-aos="fade-up" data-aos-delay="100">
<a href="#" target="_blank" class="btn btn-primary mr-2 mb-2">Get
In Touch</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<div class="testimonial">
</div>
</div>
<div>
<div class="testimonial">
55
<div class="mb-5" data-aos="fade-up" data-aos-delay="100">
<h3 class="text-black h4 mb-4">Can I accept both online and offline
banking</h3>
<p>Far far away, behind the word mountains, far from the countries Vokalia
and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove
right at the coast of the Semantics, a large language ocean.</p>
</div>
</div>
</div>
</div>
</div>
<script>
window.watsonAssistantChatOptions = {
integrationID: '26b53469-7fd1-40c5-b3b8-c88a8124d5a2',
region: 'eu-gb',
serviceInstanceID: '8e8ed1d7-2039-422c-85b9-7e38ecf18ba5',
onLoad: function(instance) {
instance.updateUserID('L12345');
instance.render();
}
};
setTimeout(function(){
const t=document.createElement('script');
t.src="https://web-chat.global.assistant.watson.appdomain.cloud/versions/" +
(window.watsonAssistantChatOptions.clientVersion || 'latest') +
"/WatsonAssistantChatEntry.js"
'/WatsonAssistantChatEntry.js';
document.head.appendChild(t);
57
});
</script>
</footer>
<script src="../static/js/jquery-3.3.1.min.js"></script>
<script src="../static/js/jquery-ui.js"></script>
<script src="../static/js/popper.min.js"></script>
<script src="../static/js/bootstrap.min.js"></script>
<script src="../static/js/owl.carousel.min.js"></script>
<script src="../static/js/jquery.countdown.min.js"></script>
<script src="../static/js/jquery.easing.1.3.js"></script>
<script src="../static/js/aos.js"></script>
<script src="../static/js/jquery.fancybox.min.js"></script>
<script src="../static/js/jquery.sticky.js"></script>
<script src="../static/js/isotope.pkgd.min.js"></script>
<script src="../static/js/main.js"></script>
</body>
</html>
58
Implementing in Flask app:
App.py
@app.route('/')
def index():
return render_template('index.html')
@app.route('/single')
def single():
return render_template('single.html')
@app.route('/login')
def login():
return render_template('login.html')
@app.route('/signup')
def signup():
return render_template('signup.html')
@app.route('/acc')
def acc():
return render_template('acc.html')
59
Fig A.3 SAVINGS ACCOUNT
60
Fig A.4 CURRENT ACCOUNT
61
Fig A.6 LOGIN FORM
62
Fig A.8 LOAN ACCOUNT
64
REFERENCES
65