Today’s customers are extremely demanding, expecting fast, inspiring and relevant banking experiences in every moment of the banking journey. Virtual Assistance is the heart for bankers succeeding in delivering relevant customer experience, which is a continuous perpetual challenge, highly correlated to optimizing conversion, sales and increased revenue.
The virtual financial assistant Dev is designed to help customers more easily manage their money. Within the interactive interface, Dev converse to answer FAQs, provide reward and account balances, spending summaries, refund confirmations and credit scores. He can also identify duplicate charges and send bill reminders.
Explore the docs »
View Demo
·
Report Bug
·
View Presentation
Table of Contents
The virtual financial assistant Dev is designed to help customers more easily manage their money. Within the interactive interface, Dev provides reward and account balances, spending summaries, refund confirmations and credit scores. He can also identify duplicate charges and send bill reminders.
Dev is designed for the customers to :
- Help customers more easily manage their money.
- Check on a loan status.
- Facilitating payments with mail alert.
- Getting instant answers to FAQs.
Key Features of the Product :
- Instant Response with automatic time-to-time pop-ups (alerts).
- Proactively reaches out if a bill is higher than normal.
- Suspects fraud and sends mail alert.
- Provides reward and account balances, spending summaries, refund confirmations and credit scores.
Bot Framework v4 core bot sample.
This bot has been created using Bot Framework, it shows how to:
- Use LUIS to implement core AI capabilities
- Implement a multi-turn conversation using Dialogs
- Handle user interruptions for such things as
Help
orCancel
- Prompt for and validate requests for information from the user
This sample requires prerequisites in order to run.
This bot uses LUIS, an AI based cognitive service, to implement language understanding.
-
.NET Core SDK version 3.1
# determine dotnet version dotnet --version
-
If you don't have an Azure subscription, create a free account.
-
Install the latest version of the Azure CLI tool. Version 2.0.54 or higher.
The LUIS model for this example can be found under CognitiveModels/BankLuisModel.json
and the LUIS language model setup, training, and application configuration steps can be found here.
Once you created the LUIS model, update appsettings.json
with your LuisAppId
, LuisAPIKey
and LuisAPIHostName
.
"LuisAppId": "Your LUIS App Id",
"LuisAPIKey": "Your LUIS Subscription key here",
"LuisAPIHostName": "Your LUIS App region here (i.e: westus.api.cognitive.microsoft.com)"
-
In a terminal, navigate to
Dev-BankBot
# change into project folder cd DevVirtualBankingAssistant
-
Run the bot from a terminal or from Visual Studio, choose option A or B.
A) From a terminal
# run the bot dotnet run
B) Or from Visual Studio
- Launch Visual Studio
- File -> Open -> Project/Solution
- Navigate to
DevVirtualBankingAssistant
folder - Select
DevVirtualBankingAssistant.csproj
file - Press
F5
to run the project
Bot Framework Emulator is a desktop application that allows bot developers to test and debug their bots on localhost or running remotely through a tunnel.
- Install the Bot Framework Emulator version 4.5.0 or greater from here
- Launch Bot Framework Emulator
- File -> Open Bot
- Enter a Bot URL of `http://localhost:3978/api/messages
The bot is built around a very typical banking scenario which has two main capabilities:
- Check balance
- Make a transfer
- Luis Intent detection
- Using
LuisRecognizer
notLuisRecognizerMiddleware
- Using Luis in middleware means every single message will go via Luis which is not necessary and costly in this scenario because once we have the intent and initial entities we no longer require Luis
- Using
- Luis entity extraction; getting the entities we have from the initial Luis utterance
- Entity completion; using bot dialogs to complete entities that were missing from initial Luis utterance
- Basic bot dialogs with waterfall steps
Simple intent that displays a made-up balance for the user's account
To invoke the Check Balance feature
- "Check my balance"; no entities just the
Balance
intent
To make a transfer, the user must provide four different entities. These can be included in the initial utterance; if they are not, the bot will use a dialog to complete them:
- AccountLabel; a simple Luis entity to represent the nick name for the account to transfer from i.e. 'Joint', 'Savings', 'Current' or 'Sole'
- Money; a pre-built Luis Currency entity to represent the amount to be transferred
- Date; a pre-built Luis DatetimeV2 entity to represent the date the transfer should take place
- Payee; a simple Luis entity to represent the label for the payment recipient. This will typically be a name or company name (The Luis model has very limited training here, so only 'Martin Kearn', 'Amy Griffiths', 'John Jones' and 'BT' are likely to work as a payee)
The Make a Transfer feature can be invoked using natural language including some, all or none or the required entities. Here are some examples:
- "I want to make a transfer"; the
Transfer
intent without any entities. - "Transfer from the joint account"; the
Transfer
intent with theAccountLabel
entity. - "Transfer £20 from the joint account"; the
Transfer
intent with theAccountLabel
andMoney
entities. - "Transfer £20 from the joint account on saturday"; the
Transfer
intent with theAccountLabel
,Money
andDate
entities. - "Transfer £20 from the joint account to martin kearn on saturday"; the
Transfer
intent with theAccountLabel
,Money
,Date
andPayee
entities.
To learn more about deploying a bot to Azure, see Deploy your bot to Azure for a complete list of deployment instructions.
DEV BankingBot Presentation.pptx
Loom.Message.-.21.September.2022.mp4
Dev.Virtual.Financial.Assistant.1.mp4
Time Stamp of Bot Feature Demo
- 1:29 - Demo Starts
- 1:41 - OTP Verification
- 2:21 - QnA Maker/ Language Studio Question Answering
- 2:36 - Transaction (Microsoft Cosmo DB)
- 3:57 - Detect Language (Azure Language Detection + Language Translation)
- 4:50 - Cheque Transaction (Azure Computer Vision + Azure Object Detection)
- 6:15 - Khata Book (Azure Cosmo DB)
- 7:09 - Invoice Analyzer (Azure Form Recognizer)
- 8:05 - Service Products (Azure Cosmo DB)
- (9:11) Cancel | Quit Intent
- 11:29 - Register Complaint
- 12:47 - Schedule Meeting (Microsoft Power Automate + Microsoft Teams)
- 14:15 - Exit (Azure Sentiment Analysis)
- 15:11 - Glance of the backend running code
- 15:32 - Hosted (Azure Bot Service)
- 16:04 - LUIS for transaction n checking balance
Mayank Gupta - @MayankGuptaCse1 - mayank.guptacse1@gmail.com
Project Link: https://github.com/mayank-cse/DEV-A-Virtual-Banking-Assistant