Amazon Web Services ブログ

Amazon AthenaとAmazon QuickSightでAmazon Connectの問い合わせ追跡レコードを分析する Part2

注:これは、Amazon Connect レポートブログシリーズの第 2 のブログです。「Amazon Athena と Amazon QuickSight で Amazon Connect の問い合わせ追跡レコードを分析する Part 1」を読んでいない場合は、先に進む前に読むことを強くお勧めします。

イントロダクション

多くの組織は、コンタクトセンターの品質分析プロセスの効率を向上させる機能を求めています。Amazon Connect の機能である Contact Lens for Amazon Connect は、組織が顧客の感情、会話の特徴、およびエージェントのコンプライアンスリスクを理解するのに役立ちます。Contact Lens は、自然言語処理(NLP)と ML を活用した音声テキスト分析を使用して通話記録を分析することでこれを実現します。さらに、組織は Contact Lens のデータを問い合わせ追跡レコード(CTR)とともにデータレイクにストリーミングして、高度な分析を実行できます。CTR は、保留時間、待機時間、エージェントとの対話時間などのトランザクションメトリクスをキャプチャしますが、Contact Lens の出力は、通話記録、感情分析、非通話時間、分類ラベル、通話速度、中断などをキャプチャします。

このブログでは、Amazon Connect から CTR をストリーミングし、Contact Lens の出力に関連付けて、Amazon QuickSight を使用して結果を視覚化する方法を学びます。

概要

図 1 – ハイレベルなアーキテクチャ図

上記のアーキテクチャでは、Amazon Kinesis は Amazon Connect の CTR を生データとして Amazon Simple Storage Service (S3) バケットにストリーミングします。CTR は、コンタクトセンターから通話に関連するイベントをキャプチャします。Amazon Connect は問い合わせレコードを少なくとも 1 回配信します。初回配信後に新しい情報が届くなど、同じ通話に対してより多くの CTR を配信する場合があります。
Amazon Connect は、Contact Lens 機能が有効化されると、Contact Lens の出力ファイルを Amazon S3 バケットに直接配信します。Contact Lens の出力ファイルは、通話の終了時に 1 回配信されます。このアーキテクチャでは、Amazon EventBridge は Contact Lens の出力ファイルの作成を追跡し、データを Amazon Kinesis Data Firehose にストリーミングします。Kinesis Data Firehose は、定義された間隔でこれらのイベントを収集し、AWS Lambda を使用して各ファイルのコンテンツを取り出します。Lambda は、AWS Glue Catalog で定義されたスキーマを使用して、これらのファイルから取得したレコードを Parquet ファイルに圧縮し、S3 バケットに保存します。
AWS Glue Catalog には、CTR と Contact Lens の出力ファイルのテーブル定義があります。CTR と Contact Lens のデータをコンタクト ID で関連付け、Amazon Athena を使用してクエリを実行できます。視覚化のために、Amazon QuickSight が使用されます。
このソリューションでは、ソリューションドメインを定義する「ProjectName」という名前のパラメーターを使用します。分離を維持するために、このソリューションを異なるプロジェクト名で複数回展開できます。S3バケットなどの基本的なコンポーネントの名前を付けるために使用されるため、プロジェクト名はグローバルに一意である必要があります。

前提

このブログ投稿で紹介したソリューションに従うには、以下の AWS のサービスと機能に慣れている必要があります。

ウォークスルー

分析の詳細に基づいて、次の 2 つのデプロイメント方法があります。

  • オプション1-詳細な感情分析: このソリューションでは、キューやエージェントなどの CTR エンティティとともに Contact Lens を照会できます。
  • オプション 2 基本的な Contact Lens 分析: このソリューションでは、Contact Lens エンティティのみを照会できます。

オプション 1 のデプロイメント手順

ブログ「Amazon Athena と Amazon QuickSight で Amazon Connect 問い合わせ追跡レコードを分析する Part1」に従って、Athena までのソリューションをデプロイして検証します。QuickSight でのデータの視覚化については、このブログの手順に従ってください。

最初のブログで CloudFormation テンプレートをデプロイする際に使用した「ProjectName」に注意してください。同じデプロイの上に引き続きビルドするには、このステップで同じ名前を使用する必要があるためです。「acathenaquicksight」のようなプロジェクト名を使用できますが、名前は一意である必要があります。そうでない場合、CloudFormation は S3 バケットの作成中にエラーを返します。エラーが発生した場合は、別のプロジェクト名で再デプロイできます。

  1. AWS マネジメントコンソールにログインします。
  2. CloudFormation テンプレートをここからローカルにダウンロードします。
  3. 希望するリージョンで、ステップ 2 でダウンロードしたテンプレートファイルを使用して CloudFormation スタックを作成します。
  4. デプロイには次のパラメータが必要です。
    1. 「CreateANewGlueDatabaseAndS3BucketForTheProject」で、「Use existing…」オプションを選択します。
    2. 「Amazon Athena と Amazon QuickSight で Amazon Connect 問い合わせ追跡レコードを分析する Part1」ブログをデプロイする際に指定したものと同じプロジェクト名を使用します。
    3. (訳注)使用中の Amazon Connect インスタンスの S3 バケット名(Amazon Connect コンソールの Data Storage から確認できます)

オプション 2のデプロイメント手順

  1. AWS マネジメントコンソールにログインします。
  2. CloudFormation テンプレートをここからローカルにダウンロードします。
  3. 希望するリージョンで、ステップ 2 でダウンロードしたテンプレートファイルを使用して CloudFormation スタックを作成します。
    1. 「CreateANewGlueDatabaseAndS3BucketForTheProject」で、「Create a new…」オプションを選択します。
    2. AWS 内でリソースを作成するために使用するプロジェクト名を指定します。

残りのオプションページはデフォルトのままにして、スタックの作成 を選択します。

オプション 1 および 2 の共通手順

Amazon EventBridge にデータをストリーミングするように S3 を設定します。

  1. Amazon Connect が Contact Lens データ (ConnectBucket) を保存する S3 バケットに移動し、プロパティ を選択して Amazon EventBridge までスクロールし、編集 をクリックします。

  1. 以下に示すように、「このバケット内のすべてのイベントについて Amazon EventBridge に通知を送信する」を「オン」に設定します。

検証

Amazon Connect を使用して電話をかけたり受けたりしてデータを生成します。Amazon Connect コンタクトコントロールパネル(CCP)にアクセスして、ソフトフォンまたはデスクフォンを使用して電話をかけたり受けたりします。数分以内に、Contact Lens のデータは「contactlens-base」フォルダーの下のプロジェクト名として指定されたバケットに「.parquet」ファイルとして表示されます。

  1. Amazon Athena テーブルに移動します。「connect_contactlens」テーブルが表示されます。

  1. Athena でデータを照会するには、’connect_contactlens’ テーブルの横にある 3 つのドットをクリックし、テーブルをプレビュー を選択します。

  1. Athena を実行すると、クエリ結果が表示されます。

  1. オプション 1 でデプロイする場合は、CloudFormation 出力にあるクエリを実行して Amazon Athena ビューを作成します。

注: Contact Lens を実行して Raw バージョンと Redacted バージョンの両方を生成する場合は、クエリに適切なフィルターを追加して、データの二重カウントを回避します。

Amazon QuickSight で可視化する

Athena を使用してデータをクエリすると、Amazon QuickSight で結果を直接視覚化できます。Amazon QuickSight を Athena に接続する前に、Amazon QuickSight に Athena とそれに関連付けられた S3 バケットへのアクセスを許可する必要があります。詳細については、「AWS リソースへのアクセス」を参照してください。アクセス権限を付与したら、作成された Athena テーブルに基づいて Amazon QuickSight で新しいデータセットを作成できます。
次に、Amazon QuickSight で新しい分析を作成します。

  1. Amazon QuickSight に移動し、新しい分析 を選択します。
  2. 新しいデータセット をクリックし、Athena をクリックしてデータソースに名前を付けます。

以下の例では、選択された名前は「connect-ctr-cl-visualization」です。その後、データソースの作成 をクリックします。

  1. 次のデプロイメント・オプションに基づいて、データベースの名前とソース・ビュー/テーブルを選択し、選択をクリックします。
    • オプション 1 でデプロイする場合は、 “{ProjectName}_AverageContactLensSentimentAndWpmPerAgentPerDate” ビューを選択します。
    • オプション 2 を使用してデプロイする場合は、connect_contactlens テーブルを選択します。
    • 注: 拡張ビジュアライゼーションを構築するには、Amazon Athena 内にビューを作成します。詳細については、このブログ投稿を参照してください。

  1. 最後に、Visualize をクリックしてデータセットの作成を完了します。

  1. 次の画面では、以下のような CTR と Contact Lens のデータが表示されます(オプション1でデプロイする場合)

上記の手順を実行した後、Amazon QuickSight を使用して通話レコードからさまざまな列を追加し、視覚化を実行できます。Amazon Athena 内でビューを作成して、強化されたビジュアライゼーションを構築します。詳細については、このブログ投稿を確認してください。さらに、Connect インスタンスを継続的に監視し、そのダッシュボードを組織内の他のユーザーと共有するダッシュボードを構築できます。

後片付け

スタックによって作成されたリソースを削除するには、次の手順を実行します。

  1. CTR と Contact Lens ソリューションの両方の CloudFormation テンプレートを削除します。
  2. CloudFormation テンプレートから作成されたオブジェクトと S3 バケットを削除します。バケット名にはプロジェクト名が含まれています。
  3. CloudFormation テンプレートから作成された Glue データベースを削除します。

まとめ

この投稿では、AWS Lambda、AWS Glue、Amazon Athena などのサービスを使用して Amazon Connect の CTR と Contact Lens のデータを処理する方法を学びました。また、この投稿では、CTR と Contact Lens のデータが S3 イベント、Kinesis Streams を介してストリーミングされ、AWS Glue を活用して Athena によってクエリされる方法も示しています。最後に、この投稿では、Amazon QuickSight を使用して視覚化を実行する方法を示しています。Amazon Athena 内でビューを作成して強化されたビジュアライゼーションを構築するには、このブログ投稿で詳細を確認してください。

原文: https://aws.amazon.com/jp/blogs/contact-center/analyze-amazon-connect-contact-lens-using-contact-trace-record-amazon-athena-and-amazon-quicksight-part-2/
翻訳: ソリューションアーキテクト 松本 和久