Build conversational experiences for credit card services using Amazon Lex

Card members anticipate a frictionless and tailored experience in their client service interaction.
The pre-built bots are configured with intents, sample utterances, and slot types for credit card usage cases and are integrated with Amazon Connect contact circulations.
The pre-built service includes bots for authentication and card services that can be deployed on Amazon Lex to automate the discussions.
Its not clear from the input if the caller wants to cancel a recent balance transfer, or their vehicle payment, or the credit card. In this post, we evaluated a service for a credit card services clients service function for common cardmember activities such as making a payment, triggering a card, and resetting a PIN.

intent = dialog.get _ intent( intent_request).
active_contexts = dialog.get _ active_contexts( intent_request).
session_attributes = dialog.get _ session_attributes( intent_request).

disambiguation_prompts =

About the Authors.
Jaya Prakash Kommu is a Technology Lead on the Smartbots.ai group. He handles a passionate team of AI engineers developing next generation conversational AI interfaces. When not architecting bots, JP takes pleasure in playing football.
Sandeep Srinivasan is a Product Manager on the Amazon Lex group. As a keen observer of human behavior, he is enthusiastic about consumer experience. He invests his waking hours at the intersection of people, innovation, and the future.

# didnt find customer id.
if not customer_id:.
if number_of_attempts >>= 3:.
action.
= “For your security, we are not able to finish your demand,.
up until you have the ability to supply required details. Bye”.
dialog.set _ session_attribute(.
intent_request, authentication_status,.
UNAUTHENTICATED).
return dialog.close(.
active_contexts, session_attributes, intent,.
if number_of_attempts == 1:.
timely=”I didnt find a match. Please say or enter your card number.
If you require time to get that info, state, wait a minute.”.
elif number_of_attempts == 2:.
prompt=”I didnt find a match. Please attempt one last time.
Say or enter your card number.”.

The first Get consumer input block passes the control to the Authentication bot. You can restrict the number of authentication attempts with the following code:.

MailCardPIN– A follow-up intent gated by context so that it is set off after a the ResetCardPIN intent.

PayCardBill — The intent gathers information such as payment quantity, security code, and last 4 of SSN and processes the payment.

Natural language search.
Callers frequently ask concerns associated to the product or service during a consumer service call. For example, they may ask about rates of interest (” What is the APR applied to my card?”) in a payment call or ask about a benefits program (” Can I use the rewards indicate groceries?”). Amazon Lex natively incorporates with Amazon Kendra, a smart search service, so you can set up the bot to answer questions in a conversation. You can submit your content to Amazon Simple Storage Service (Amazon S3) bucket and produce a search index on Amazon Kendra. You just specify the search index parameters in a search intent as part of the bot meaning. If the user input does not match any of the other configured intents, the bot queries the Amazon Kendra search index throughout the interaction. The search query responses are occupied with request attributes that the bot can use in its response.
Contact center flows.
The contact flow utilizes a client input block to invoke an Amazon Lex bot. The following diagram reveals the credit services contact circulation in Amazon Connect:.

Authentication– The intent collects information such as the callers credit card number and zipcode, and verifies these with the information on the account that are saved in a protected database (DynamoDB table).

Access to the following AWS services.

number_of_attempts = dialog.get _ session_attribute( intent_request, number_of_attempts) or 0.
number_of_attempts = number_of_attempts + 1.

MissingInfo — The intent is triggered if the caller does not have access to information asked for in the authentication intent.

ZipcodeVerificationNewCard– An intent to catch the zipcode on the card.

ReportMissingCard– The intent records information associated to lost or taken cards by tape-recording details such factor and date.

Finally, examine the IAM resource creation and click on Create Stack. After a couple of minutes, your stack should be total. The core resources are listed below:.

if not zip_code or not card_number:.
return dialog.delegate( active_contexts, session_attributes, intent).

EmailCardPIN– A follow-up intent so that caller can ask for delivery of PIN through e-mail.

Next you will associate a contact number with the card services contact circulation. As soon as the contact number is associated, the solution is ready to be evaluated.

DynamoDB: card_services_table.

In the preceding sample discussions, the agent first collects info (SSN and account ID) to confirm the callers identity. After the caller is validated, the representative engages to complete the user demand (make a payment) by beginning a dialog to gather additional details (payment amount). The representative carries out the job (procedure payment) and supplies a confirmation. The pre-built solution includes bots for authentication and card services that can be released on Amazon Lex to automate the conversations.
The CardAuthentication bot provides dialog to authenticate the caller. It consists of the following intents:.

Amazon Connect contact flow: CardServicesFlow.

if zip_code and card_number:.
# authenticate consumer.
customer_id = card_system. get_customer_id( card_number, zip_code).

The bot definition consists of a total dialog together with the triggers to manage the conversation. Each bot also integrates with an AWS Lambda function that consists of code to imitate business logic execution. Integration with Amazon Kendra offers the capability to address natural language questions throughout the discussion.
Option architecture.
Lets examine the overall architecture for the service (see the following diagram).

ResetCardPIN– The intent aids with resetting the PIN after confirming the security code on the card.

Amazon Lex to develop bots.
Lambda for business reasoning functions.
DynamoDB to produce the tables.
IAM with access to produce policies and functions.
AWS CloudFormation to run the stack.

Deploy the pre-built option.
To deploy this option, complete the following actions:.

Fallback — The intent is invoked when the input does not match any of the set up intents.

Next, provide the Parameters for Lex bots, DynamoDB table, and the Connect contact flow.

Conclusion.
Amazon Lex for financial services uses pre-built options that you can use to accelerate delivery of natural and sophisticated conversational experiences. In this post, we examined a solution for a charge card services consumers service function for common cardmember activities such as making a payment, activating a card, and resetting a PIN. The pre-built option supplies a ready-to-deploy contact center setup with Amazon Connect. You can quickly extend the option with extra conversation streams that specify to your organizations needs. Structure on AWS empowers you to improve infrastructure, fulfill rapidly altering customer habits and expectations, and drive service development. Attempt the pre-built monetary services option on Amazon Lex today!

if len( possible_intents) > > 0:.
nearest_intent = possible_intents [0] if nearest_intent. get( nluConfidence) > > 0.6:.
message =.
disambiguation_prompts. get( nearest_intent [ name].

if account_number and not account_number_confirmation:.
previous_slot_to_elicit = dialog.get _ previous_slot_to_elicit(.
intent_request).
if intent [ confirmationState] == Confirmed:.
dialog.set _ slot( AccountNumberConfirmation, Confirmed, intent).
account_number_confirmation=Confirmed.
elif intent [ confirmationState] == Denied:.
dialog.set _ slot( AccountNumberConfirmation, Denied, intent).
account_number_confirmation=Denied.
else:.
dialog.set _ slot( AccountNumber, others, intent) prompt=”Okay, Can you.
give your account number again?”.
return dialog.elicit _ slot(.
AccountNumber, active_contexts, session_attributes,.
intent, [contentType: PlainText, material: prompt]. else:.
prompt=”<< speak>> I have your account number as,.
<< say-as interpret-as= digits>>”+ str( account_number)+
“<, Is that proper? <". return dialog.confirm _ intent(. active_contexts, session_attributes, intent,. [contentType: PlainText, content: prompt],. previous_dialog_action_type= elicit_slot, previous_slot_to_elicit=CheckAuthorization). IAM functions: LexRole, LexImportRole, LambdaRole, ConnectRole. For Stack name, go into a name for your stack. This post uses the name card-services-solution:. , if intent [ name] == Fallback:. triggers = disambiguation_prompts. Amazon Lex bots: CardAuthentication and CardServices. An AWS account. CreditCardBenefits-- The intent supplies information about the benefits to card member. Lambda functions: CardAuthenticationFunction and CardServicesFunction. Fallback -- The intent is conjured up when the input does not match any of the configured intents. if zip_code = dialog.get _ slot( ZipCode, intent). card_number = dialog.get _ slot( CardNumber, intent). IAM access and secret crucial credentials. Optionally, an existing Amazon Connect circumstances (if you prepare to release on Amazon Connect). return dialog.elicit _ slot(. CardNumber, active_contexts, session_attributes,. init_state,. else:. ". got the consumer id. shop consumer authentication information in the session. ". intent_request = dialog.set _ session_attribute(. intent_request, authentication_status, AUTHENTICATED). dialog.set _ session_attribute(. intent_request, customer_id, customer_id). session_attributes = dialog.get _ session_attributes(. intent_request). reaction="Thank you for being our client.". return dialog.close(. active_contexts, session_attributes, intent,. []. After the authentication, the Check contact attributes block verifies the status and transfers the flow to the card services bot just if the contact characteristic is set to Authenticated. Information recorded during confirmation (such as account ID) passed in the circulation through session characteristics. Clean-up. To avoid sustaining any charges in the future, delete all the resources developed. EndConversation -- An intent to end the conversation on caller inputs such as "Bye" and "I am done". Select Launch Stack to introduce an AWS CloudFormation stack in the Region of your choice:. # utilize session credit to maintain the number of user attempts. dialog.set _ session_attribute(. intent_request, number_of_attempts, str( number_of_attempts)). session_attributes = dialog.get _ session_attributes( intent_request). Amazon Lex bots. Lambda functions. DynamoDB table. Amazon Connect Contact circulation. IAM functions. We use an Amazon Lex bot to very first confirm the caller by confirming information that is stored in a safe database. We use Lambda to simulate access to backend systems and perform the authentication function. For the functions of this post the card data used for authentication is kept in a DynamoDB table. After the caller is confirmed, the control is passed to the primary card services bot to perform transactions (for instance pay) or supply caller with inquired (for example "What can I redeem benefits for?" We use Lambda to run organization logic needed for completing transactions. To answer any user concerns, we configure an Amazon Kendra search index so the bot can look up the information and offer a reaction. You can deploy the conversational experience on a Connect instance or incorporate with your website. Repeat-- An intent based on the integrated capability to repeat the last bot reaction. ActivateCard-- The intent triggers the card after collecting details such as charge card number and security code. We consist of a template that creates an AWS CloudFormation stack for you consisting of all of these AWS resources, along with the needed AWS Identity and Access Management (IAM) functions. With these resources in place, you can utilize the pre-built solution for card services on the Amazon Connect channel. Requirements. You should verify the following pre-requisites prior to we deploy the solution. Check the solution. You can utilize sample information to test the bot. If you utilized an Amazon Connect circumstances for release, you can hire to the Amazon Connect telephone number and engage with the bot. You can also test the option straight on the Amazon Lex V2 console using voice or text. As you engage with the bot you can observe the DynamoDB table upgrade based upon the conversation. After you experiment with the pre-built discussion streams, you can personalize the bot include more intents as required and incorporate with the backend systems. Card services: Key capabilities. Lets evaluate some of the core abilities used by the pre-built solution throughout dialog management, natural language search, and contact center flows. Dialog management: Customer service conversations frequently include patterns as the caller connects with the agent. My credit card number is 1234"). Its not clear from the input if the caller desires to cancel a recent balance transfer, or their auto payment, or the credit card. Agents have to navigate such conversations thoroughly to elicit the pertinent details prior to performing the appropriate task. The pre-built solution utilizes intent classification confidence ratings along with the alternate intent matches surfaced in the API reaction to disambiguate user requests. If you offered a Connect ARN during stack development, then navigate to the Amazon Connect control panel and click on Phone numbers tab. return dialog.elicit _ intent(. active_contexts, session_attributes, intent,. Next, lets will stroll through a conversation pattern that needs verification of input. For instance, consider a dialog to gather the location represent a credit balance transfer request. Its important to record the location account accurately; an agent would generally validate the location account (" I have the account ID as 1234567890. Is that appropriate?") The pre-built service offers a capability so you can confirm user input for such slots. The Lambda function for the dialog codehook for the slot is set up to react with a confirmation (" To make sure I got that right: Do you wish to initiate the transfer to 1234567890?"). The following is the dialog management code for the slot verification pattern:. The CardServices bot contains intents for common cardmember activities such as triggering cards, resetting PINs, and reporting a lost or stolen card. It includes the following intents:. Representative: Welcome to card services. Can you please say or type your 16-digit card number? Caller: 1234 5678 1234 5678. Representative: Okay. And the zipcode on the card? Caller: 76543. Representative: Thank you for being a valued client. How may I assist you? Caller: I want to make a payment. Agent: Sure. For verification, please get in the last 4 digits of the main card holders social security number. Caller: 6789. Agent: Our records suggest that your last payment transaction was processed using an examining account number ending in 7890. Would you want to utilize the same account? Caller: Yes. Agent: All right. How much would you like to pay? Your minimum due $125, the existing balance of $400, or a various amount? Caller: Minimum due. Agent: Thank you. You are requesting a payment of $125 towards your charge card account. The funds will be withdrawn as a one-time electronic transfer from your checking account, ending in 7890. Can I proceed with the payment request? Caller: Yes. Representative: Can I have the three-digit security code printed on the back of your card? Caller: 123. Representative: Thank you. Your payment succeeded and has a confirmation number 12345678. If theres anything else I can assist you with, let me know. Caller: No thanks. Representative: Thank you. Have a great day! New trends are forming the credit card industry as shopping practices have actually quickly evolved over the last 18 months. The pandemic has actually accelerated the move away from money towards cards. Card issuers are transforming their items to much better serve cardmembers through innovations such as contactless payments and mobile wallet. The rapid change in consumer behavior and expectations needs issuers likewise enhance their client service function as consumers adopt a digital-first experience. Credit card members get in touch with issuers for numerous factors such as bill payments, balance transfers, and resetting PINs. They may have questions connected to benefits programs or rates of interest. Card members anticipate a customized and smooth experience in their client service interaction. In this post, we examine how you can use Amazon Lex, a service for developing conversational user interfaces, to automate the client service experience for common cardholder activities such as triggering the card, paying, and reporting a lost or taken card. Option summary Amazon Lex supplies the advanced deep knowing performances of automated speech recognition (ASR) for transforming speech to text, and natural language understanding (NLU) to recognize the intent of the text. The pre-built bots are set up with intents, sample utterances, and slot types for credit card use cases and are incorporated with Amazon Connect contact circulations. Lets review a sample conversation as we cover the different elements of the pre-built service: Sample discussion: Credit card payment RequestNewCard-- The intent records callers ask for a new or replacement card. interpreted_intents = [name: intents_list [ intent] [ name],. nluConfidence: intents_list. get( nluConfidence) for intents_list in intent_request [ analyses]] possible_intents = interpreted_intents [1:] default_fallback_message =. disambiguation_prompts. get( DefaultFallback). message = default_fallback_message.

Leave a Reply

Your email address will not be published. Required fields are marked *