Amazon Web Services ブログ

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

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

イントロダクション

コミュニケーションチャネルとして Web チャットを提供する組織は、これらの会話での顧客の感情、傾向、コンプライアンスリスクに関するインサイトを得るよう努めています。こうした組織は、これらのインサイトを使用して、成功したやりとりを再現し、重要な顧客フィードバックを特定し、これらの調査結果についてエージェントをトレーニングします。これらのインサイトは、Amazon Comprehend の感情分析、Amazon Connect 問い合わせ追跡レコード (CTR)、および顧客とエージェントのチャットから生成されます。

このブログでは、Amazon Athena を使用してコンタクトセンターのアナリストが詳細な SQL クエリを実行し、Amazon Connect プラットフォームでの顧客とエージェントのウェブチャットのやり取りから前述のインサイトを取得する方法を学びます。

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

前述のアーキテクチャ図では、Amazon Connect はインタラクションからのチャット記録を Amazon Simple Storage Service (S3) に保存します。Amazon EventBridge はチャット記録の作成を追跡し、データを Amazon Kinesis Data Firehose にストリーミングします。Amazon Kinesis Data Firehose は AWS Lambda 関数を呼び出して、以下のアクションを実行します。

  1. S3 からチャット記録を読み取ります。
  2. JSON 形式のチャット記録を解析し、話者ごとに記録を抽出します。
  3. Amazon Comprehendを呼び出して、話者ごとのチャット記録の感情を取得します。
  4. 感情分析でチャット記録を充実させます。

Amazon Kinesis Data Firehose は、Parquet ファイル形式の日付ベースのパーティショニングを使用して、チャット記録の最終形式を S3 に保存します。

AWS Glue Catalog には、CTR およびチャット記録の出力ファイルがある S3 バケットを指すテーブル定義があります。ユーザーは、 CTR、チャット記録、および感情データをコンタクト ID によって相互参照し、Amazon Athena を使用してデータをクエリできます。Amazon QuickSight は視覚化に使用されます。

このソリューションでは、ソリューションドメインを定義する「ProjectName」というパラメーターを使用します。分離を維持するために、このソリューションを異なるプロジェクト名で展開できます。プロジェクト名は S3 バケットなどの基本的なリソースの名前になるため、グローバルに一意である必要があります。

前提

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

ウォークスルー

分析レベルに基づいて、展開するオプションは 2 つあります。

  • オプション 1 – 詳細な感情分析: このソリューションでは、チャット記録とその感情データ、およびキューやエージェントなどの CTR エンティティを照会できます。
  • オプション 2 – 基本的な感情分析: このソリューションでは、チャット記録とその感情のみを照会できます。

オプション 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 スタックを作成します。
  4. デプロイには次のパラメータが必要です。
    1. 「CreateANewGlueDatabaseAndS3BucketForTheProject」で、「Create a new…」オプションを選択します。
    2. AWS 内でリソースを作成するために使用するプロジェクト名を指定します。

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

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

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

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

検証

Amazon Connect を使用してチャットリクエストを開始してデータを生成します。Amazon Connect クラウドコントロールパネル (CCP) に移動して、チャットリクエストを受け取ることができます。数分以内に、チャット記録と感情データは、プロジェクト名として指定されたバケットの「chat-base」フォルダーに「.parquet」ファイルとして表示されます。

  1. Amazon Athena に移動し、テーブルを選択します。connect_chat テーブルとビューの下に avg_chat_sentiment_per_agent が表示されます。

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

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

Amazon QuickSight で可視化する

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

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

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

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

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

    1. 次の画面では、以下のようなチャットデータが表示されます。

Amazon QuickSight を使用してチャットレコードをビジュアルに追加できます。Amazon Athena 内でビューを作成して、強化されたビジュアライゼーションを構築します。詳細については、このブログ投稿を確認してください。さらに、Connect インスタンスを継続的に監視し、そのダッシュボードを共有できます。

後片付け

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

  1. このブログでの実装で作成された CloudFormation スタックを削除します。
  2. CloudFormation テンプレートから作成されたオブジェクトと S3 バケットを削除します。バケット名にはプロジェクト名が含まれています。
  3. CloudFormation テンプレートから作成された Glue データベースを削除します。

まとめ

このブログでは、AWS Lambda、AWS Glue、Amazon Athena、Amazon Comprehend を使用して、Amazon Connect CTR、チャット記録、および関連する感情からインサイトを得る方法を学びました。このブログでは、Amazon Athena でログに対して複雑な SQL クエリを実行する方法も示しています。最後に、Amazon EventBridge で Amazon S3 を使用してイベント駆動型アーキテクチャを設計する方法を学びました。Amazon Athena 内でビューを作成して強化されたビジュアライゼーションを構築するには、このブログ投稿で詳細を確認してください。

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