Skip to content
This repository has been archived by the owner on Aug 31, 2022. It is now read-only.

Commit

Permalink
add connect transcribe demo
Browse files Browse the repository at this point in the history
  • Loading branch information
J. Randall Hunt committed Jun 1, 2019
1 parent 68971c6 commit ea2dac7
Show file tree
Hide file tree
Showing 36 changed files with 172 additions and 4 deletions.
2 changes: 1 addition & 1 deletion content/10_prereqs/20_installs.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
+++
title = "Installs & Configs"
title = "Installs and Configs"
chapter = false
weight = 20
+++
Expand Down
2 changes: 1 addition & 1 deletion content/10_prereqs/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ chapter: true
date: 2019-04-17T12:52:47-07:00
---

# Prerequisites for the Workshop
# Prerequisites for the Workshops

{{% children showhidden="false" %}}
27 changes: 27 additions & 0 deletions content/40_connect-transcribe/10_overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
+++
title = "Overview"
chapter = false
weight = 10
+++

## Video Introduction

<iframe width="960" height="540" src="https://www.youtube.com/embed/PvnbGpRcV64" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

## Overview

The AI Powered Speech Analytics for Amazon Connect solution provides customer insights in real-time, and helps agents and supervisors better understand and respond to customer needs so they can resolve customer issues and improve the overall customer experience. The solution uses pre-trained AWS Artificial Intelligence (AI) services that enable customers to transcribe, translate, and analyze each customer interaction, and presents this information to assist contact center agents during their conversations.

The solution combines:

* Amazon Transcribe to perform real-time speech recognition and create a high-quality text transcription of each call into text
* Amazon Comprehend to analyze the interaction, detect the sentiment of the caller, and identify key words and phrases in the conversation
* Amazon Translate to translate the conversation into an agent’s preferred language.

You can use the transcribed information with your knowledge management and customer relationship management (CRM) systems to suggest responses or recommended solutions to better respond to the caller's needs.

Additionally, the solution stores the original audio files and conversation transcripts for later review or analysis

## Architecture

![architecture diagram](/images/connect-transcribe/ai-powered-speech-amazon-connect-architecture.png)
46 changes: 46 additions & 0 deletions content/40_connect-transcribe/20_connect.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
+++
title = "Create and Configure an Amazon Connect Instance"
chapter = false
weight = 20
+++

## Provisioning an Amazon Connect Instance

To get started we will provision an Amazon Connect instance.

1. First navigate to the [AWS Connect Console](https://console.aws.amazon.com/connect/).
2. Now click the **Add an instance** button
![AWS Connect Add Instance Button](/images/connect-transcribe/1-connect-add-instance.png)
3. To use Amazon Connect we'll need a user directory which we can create in the add instance wizard. Use a unique name for the URL like `ai-services-workshop-<myname>`.
![AWS Connect Identity Management](/images/connect-transcribe/2-connect-identity-management.png)
4. Create an administrator user and click **Next Step**.
![image showing creating an admin user](/images/connect-transcribe/3-administrator.png)
5. You can click through to the next screen accepting the default telephony options.
![telephony configuration showing both boxes checked for inbound and outbound](/images/connect-transcribe/4-telephony.png)
6. You can also accept the default options for data storage and click **Next step**.
![data storage options in amazon connect](/images/connect-transcribe/5-data-storage.png)
7. Review the options and click **Create Instance**
![review options and create instance](/images/connect-transcribe/6-review-create.png)
8. From there we can login to the connect instance with out administrator user.

## Configuring Connect Instance

The first thing we can do is go through the Connect first launch wizard as we login. This will prompt us to select a phone number and supply a few sensible defaults.
![connect welcome](/images/connect-transcribe/connect-instance/1-welcome.png)
![connect phone number selection](/images/connect-transcribe/connect-instance/2-claim-phone-number.png)

{{% notice note %}}
It may take a few minutes for the number to become active.
{{% /notice %}}

The rest of the configuration takes place back in the [AWS Console for Connect](https://console.aws.amazon.com/connect/).

1. First click the link under **Instance Alias** that corresponds to the instance you just created.
2. Take note of the **Instance ARN** on this page for later, the value at the end of the ARN is what we will use to provision our CloudFormation resources later.
![highlighted instance arn](/images/connect-transcribe/connect-instance/connect-instance-arn.png)
3. Now click on the **Data storage** option on the far left and click **Edit** under the **Live media streaming** heading.
![data storage console in amazon connect](/images/connect-transcribe/connect-instance/connect-data-storage.png)
4. From here create a prefix for your Amazon Kinesis Video (KVS) streams and select an encryption key and data retention period. Then click **Save** in the top right corner and click **Save** again in the bottom right corner.
![live media streaming configuration](/images/connect-transcribe/connect-instance/connect-live-media-streaming.png)

Remember to take note of the instance alias and instance ARN - we'll use those in the next step.
15 changes: 15 additions & 0 deletions content/40_connect-transcribe/30_cloudformation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
+++
title = "Provision remaining resources with CloudFormation"
chapter = false
weight = 30
+++

With our Amazon Connect instance configured we're ready to laucnh the remaining resources.

<p><a href="https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=AIPoweredSpeechAnalytics&templateURL=https:%2F%2Fs3.amazonaws.com%2Fsolutions-test-reference%2FAI-powered-speech-analytics-for-amazon-connect%2Flatest%2FAI-powered-speech-analytics-for-amazon-connect.template" target="_blank" rel="noopener noreferrer"><img class="alignnone wp-image-47 size-full" src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2017/02/10/launchstack.png" alt="" width="107" height="20"></a></p>

Click the launch stack button above and fill out the parameters with the values we saved from the previous step.

![cloudformation console](/images/connect-transcribe/cloudformation.png)

We'll click through the next few screens and provision our S3 Bucket, KVS Streams, Lambda Functions, and other resources for this workshop. It will take about 20 minutes to provision all of these resources so this is a good time to stretch and check some emails.
39 changes: 39 additions & 0 deletions content/40_connect-transcribe/40_create-contactflows.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
+++
title = "Create Contact Flows"
chapter = false
weight = 40
+++

## Importing Contact Flows

1. First we should navigate to the bucket that was created by CloudFormation and grab the generated Contact Flows. The easiest way to find this bucket is to use the **Resources** tab of the CloudFormation console for the stack we just launched and filter on something like `bucket`. Then click the link under **Physical ID** to opent he S3 console.
![cloudformation console](/images/connect-transcribe/cloudformation-bucket.png)
2. From there we should download the files that are already in the bucket: `agentWhisperKvsStreamingSampleFlow` and `kvsStreamingSampleFlow`. These flows have been automatically generated by CloudFormation and will have our lambda functions already added into them.
3. Now we'll import the flows by navigating back to our connect instance, logging in if needed, and creating a new contact flow by selecting **Contact Flows** from the bar on the left hand side of the screen.
![contactflow select](/images/connect-transcribe/connect-instance/contact-flow-select.png)
4. Now we'll create the agent whisper flow by selecting the drop down arrow next to the **Create contact flow** button and selecting **Create agent whisper flow**.
![agent whisper flow](/images/connect-transcribe/connect-instance/agent-whisper-flow-create.png)
5. Next, use the drop down in the top right corner of the screen to select **Import flow**.
![import flow](/images/connect-transcribe/connect-instance/contact-flow-designer.png)
6. From there select the file `agentWhisperKvsStreamingSampleFlow` that you downloaded in step 2 and click **Import**. The finished flow should look like this:
![finished agent flow](/images/connect-transcribe/connect-instance/contact-flow-import.png)
7. From there use the drop down in the top right to select **Save and publish**.
8. Now we'll create the customer flow by going back to the contact flows screen and clicking the **Create contact flow** button.
![contactflow button](/images/connect-transcribe/connect-instance/create-contact-flow.png)
9. We'll follow the same steps from 5-6 to import the `kvsStreamingSampleFlow`.
![import](/images/connect-transcribe/connect-instance/contact-flow-import.png)
10. The finished import should look like this:
![import finished](/images/connect-transcribe/connect-instance/finished-flow.png)
11. Now we'll click **Save and publish** from the drop down in the top right again.

## Assigning Contact Flow to a Number

The last step is to select **Phone Numbers** from the bar on the left and edit the number to use our newly created contact flow.
![phone number select](/images/connect-transcribe/connect-instance/phone-numbers.png)

From there we'll select our number and edit it. We'll change the **Contact flow / IVR** to our newly imported `kvsStreamingFlow`

![kvsstreamingflow](/images/connect-transcribe/connect-instance/phone-number-flow-select.png)


Now we're ready to start receiving data! All that remains is setting up the agent interface.
30 changes: 30 additions & 0 deletions content/40_connect-transcribe/50_agent-interface.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
+++
title = "Using the Agent Interface"
chapter = false
weight = 50
+++

## Finding The Agent Interface

The agent interface is one of the outputs of the CloudFormation script we used to create our resources. We can find it easily in the **Outputs** tab of the stack in the CloudFormation console. Navigate there and copy the URL.

![agent url in cloudformation console](/images/connect-transcribe/cloudformation-agent-url.png)

## Adding Agent Interface As A Trusted Origin

Now we'll go back to the AWS Console for Connect and edit our instance again. We want to go to the **Application Integration** options where we'll add the CloudFront URL as a trusted origin.

![trusted origin](/images/connect-transcribe/cloudformation-agent-url.png)

## Launching the Agent Interface

{{% notice note %}}
Try running this in incognito mode if you have any issues.
{{% /notice %}}

From there we simply navigate to the CloudFront URL and login to Connect. That will start the agent interface and once we set ourselves to available we can begin receiving calls.

When we call our number, if everything is working, we should get output that is streaming from the call in real time. If it has been a long time since you ran the CloudFormation script and you face issues with the calls or transcription try waiting 30 seconds for the transcription to start. Subsequent calls will start transcription instantly.
![agent console](/images/connect-transcribe/agent-console.png)

You can learn more about this solution by reading the [guide](https://s3.amazonaws.com/solutions-reference/AI-powered-speech-analytics-for-amazon-connect/latest/AI+Powered+Speech+Analytics+for+Amazon+Connect.pdf).
8 changes: 8 additions & 0 deletions content/40_connect-transcribe/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: AI Powered Speech Analytics for Amazon Connect
weight: 40
chapter: true
date: 2019-04-17T12:52:47-07:00
---

{{% children showhidden="false" %}}
4 changes: 2 additions & 2 deletions content/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ weight: 1

### Welcome!

In this workshop, we'll use the AWS AI Services to build applications.
In this series of workshops, we'll build applications to learn about AWS AI Services and how they're used by millions of AWS customers to build applications that add value to their businesses.


We'll work with a number of different AWS Services.
To navigate the workshop use the sidebar (hamburger menu on mobile) or simply press the icon <i class="fa fa-chevron-right"></i> icon to go to the next page.
3 changes: 3 additions & 0 deletions content/credits.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ A special thanks to [@gabehollombe](https://github.com/gabehollombe), [@brentley
### Social Media Dashboard
Thanks to Ben Snively and Viral Desai

### AI Powered Speech Analytics for Amazon Connect
Thanks to Yasser El-Haggan

### Personalize Workshop
Thanks to Andrew Kane

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/connect-transcribe/4-telephony.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit ea2dac7

Please sign in to comment.