HAQM Web Services ブログ
問い合わせ追跡レコードとHAQM Lexのログを使って、HAQM ConnectのチャットボットのパフォーマンスをHAQM AthenaとHAQM QuickSightで分析する
注:これは、HAQM Connect レポートブログシリーズの 4 番目のブログです。もし「 HAQM Athena と HAQM QuickSight でHAQM Connect の問い合わせ追跡レコードを分析する Part1」 を読んでいない場合は、先に進む前に読まれることを強くお勧めします。
イントロダクション
多くの組織は、デジタルカスタマーエクスペリエンスの提供のためにチャットボットのパフォーマンスレポートを生成する機能を望んでいます。HAQM Lex は、HAQM Connect で使用されるチャットボットの自然言語理解 (NLP) エンジンです。HAQM Lex ログを問い合わせ追跡レコード (CTR) および会話ログに関連付けることで、これらの組織はチャットボットの問題を特定し、NLP エンジンを調整し、顧客の感情を理解し、チャットボットのパフォーマンスを向上させることができます。CTR は、保留時間、待機時間、エージェントの対応時間などのトランザクションメトリクスをキャプチャしますが、HAQM Lex の会話ログには、発信者の発話、NLP 信頼スコア、センチメントスコア、インテント名などがキャプチャされます。
このブログでは、HAQM QuickSight を使用して HAQM Lex 会話ログを有効にし、CTR ログに関連付けて、レポートを生成する方法を学習します。
概要
図 1 ー ハイレベルなアーキテクチャ図
上記のアーキテクチャでは、HAQM Kinesis は HAQM Connect の CTR を生データとして HAQM Simple Storage Service (S3) バケットにストリームします。CTR は、コンタクトセンターからの問い合わせコールに関連するイベントをキャプチャします。HAQM Connect は問い合わせレコードを少なくとも 1 回配信します。最初の配信後に新しい情報が届くなど、同じ通話に対してより多くの CTR が配信される可能性があります。
HAQM Lex は、会話のテキストと音声のログを配信します。このブログでは、テキストログとそれに関連するメタデータに焦点を当てます。HAQM Lex は、発信者の発話ごとに会話ログを S3 に配信します。会話ログはセッション ID によって識別され、個別の発信者とチャットボットセッションのトラブルシューティングに使用されます。
AWS Glue カタログには、CTR と HAQM Lex の出力ファイルのテーブル定義があります。CTR と HAQM Lex ログをコンタクト ID で関連付け、HAQM Athena を使用してクエリを実行できます。視覚化には、HAQM QuickSight が使用されます。
このソリューションは、ソリューションドメインを定義する「ProjectName」という名前のパラメーターを使用します。分離を維持するために、このソリューションを異なるプロジェクト名で複数回デプロイできます。プロジェクト名は S3 バケットなどの基本的なコンポーネントの名前として使用されるため、グローバルに一意である必要があります。
前提
このブログ投稿で紹介したソリューションに従うには、以下の AWS のサービスと機能に慣れている必要があります。
- HAQM Connect
- HAQM EventBridge
- AWS Lambda
- HAQM Lex
- HAQM Simple Storage Service (S3)
- AWS CloudFormation
- HAQM Kinesis
- HAQM Athena
- AWS Identity and Access Management (IAM)
- また、AWS IAM ロールを作成および変更する権限を持つアクティブな AWS アカウントも必要です。
ウォークスルー
分析レベルに基づいて、展開するオプションは 2 つあります。
- オプション 1 – 詳細な分析: このソリューションでは、キューやエージェントなどの CTR エンティティを使用して HAQM Lex の会話ログをクエリできます。
- オプション 2 – 基本的な分析: このソリューションでは、HAQM Lex の会話ログのみを分析できます。
オプション 1 のデプロイメント手順
ブログ「HAQM Athena と HAQM QuickSight で HAQM Connect 問い合わせ追跡レコードを分析する Part1」に従って、Athena までのソリューションをデプロイして検証します。QuickSight でのデータの視覚化については、このブログの手順に従ってください。
最初のブログで CloudFormation テンプレートをデプロイする際に使用した「ProjectName」に注意してください。同じデプロイの上に引き続きビルドするには、このステップで同じ名前を使用する必要があるためです。「acathenaquicksight」のようなプロジェクト名を使用できますが、名前は一意である必要があります。そうでない場合、CloudFormation は S3 バケットの作成中にエラーを返します。エラーが発生した場合は、別のプロジェクト名で再デプロイできます。
- AWS マネジメントコンソールにログインします。
- CloudFormation テンプレートをここからローカルにダウンロードします。
- 希望するリージョンで、ステップ 2 でダウンロードしたテンプレートファイルを使用して CloudFormation スタックを作成します。
- デプロイには次のパラメータが必要です。
- 「CreateANewGlueDatabaseAndS3BucketForTheProject」で、「Use existing…」オプションを選択します。
- 「HAQM Athena と HAQM QuickSight で HAQM Connect 問い合わせ追跡レコードを分析する Part1」ブログをデプロイする際に指定したものと同じプロジェクト名を使用します。
-
- 残りのオプションページはデフォルトのままにして、スタックの作成 を選択します。
- HAQM Connect コンタクト ID を HAQM Lex 会話ログに関連付けるには、問い合わせフローにある、顧客の入力を取得するノード(ブロック)のセッション属性として「ContactID」(宛先キー)を追加します。
- 顧客の入力を取得するノードに HAQM Lex Bot エイリアスを入力します。
オプション 2 のデプロイメント手順
- AWS マネジメントコンソールにログインします。
- CloudFormation テンプレートをここからローカルにダウンロードします。
- 希望するリージョンで、ステップ 2 でダウンロードしたテンプレートファイルを使用して CloudFormation スタックを作成します。
- デプロイには次のパラメータが必要です。
- 「CreateANewGlueDatabaseAndS3BucketForTheProject」で、「Create a new…」オプションを選択します。
- AWS 内でリソースを作成するために使用するプロジェクト名を指定します。
- 残りのオプションページはデフォルトのままにして、スタックの作成 を選択します。
オプション 1 および 2 の共通手順
HAQM Lex V1 の場合
- ボットの設定タブに移動し、Conversation logs をクリックします。次に、ボットエイリアスの設定アイコン (歯車) をクリックします。
- テキストログを有効にし、ドロップダウンから ロググループ名と IAM ロール を選択します (両方の名前には、CloudFormation テンプレート (CFT) パラメーターで指定されたプロジェクト名とボットの名前が含まれている必要があります)。
- ボットをビルドし、公開します。(訳注:Build をクリックし、その後 Publish をクリックします。)
HAQM Lex V2 の場合
- ボットのエイリアスに移動し、エイリアス名をクリックします。
- 会話ログセクションまでスクロールダウンし、会話ログを管理 をクリックします。
- テキストログを有効にし、ロググループ名を選択します(CFTパラメータで提供されるプロジェクト名とボット名が含まれます)
- スクロールダウンし、保存をクリックします。
検証
チャットセッションを開始し、HAQM Lex チャットボットと対話してデータを生成します。数分以内に、HAQM Lex ログデータが「.parquet」ファイルとして「lex-base」フォルダの下のプロジェクト名として指定されたストレージバケットに表示されます。
- HAQM Athena にログインします。テーブルの下に「connect_lex_<bot name>」と表示されます。
- Athena でデータをクエリするには、’connect_chat’ テーブルの横にある 3 つのドットをクリックし、テーブルをプレビュー をクリックします。
- クエリを実行すると、Athena がクエリの結果を表示します。
- オプション 1 を使用してデプロイする場合は、CloudFormation の出力タブにあるクエリを実行して HAQM Athena ビューを作成します。
HAQM QuickSight で可視化する
Athena を使用してデータをクエリすると、HAQM QuickSight で結果を直接視覚化できます。HAQM QuickSight を Athena に接続する前に、HAQM QuickSight に Athena とそれに関連付けられた S3 バケットへのアクセスを許可する必要があります。詳細については、「AWS リソースへのアクセス」を参照してください。アクセス権限を付与したら、作成された Athena テーブルに基づいて HAQM QuickSight で新しいデータセットを作成できます。
- HAQM QuickSight に移動し、新しい分析 を選択します。
- 新しいデータセット をクリックし、Athena をクリックしてデータソースに名前を付けます。
以下の例では、選択された名前は「connect-lex-ctr-visualization」です。その後、データソースの作成 をクリックします。
-
- 次のデプロイオプションに基づいて、データベースの名前とソースビュー/テーブルを選択し、選択 をクリックします。
- オプション 1 を使用してデプロイする場合は、ビュー名「<ProjectName>_ <BotName>_lex_with_ctr_AverageSentimentAndctrDataPerContact」を選択します。
- オプション 2 を使用してデプロイする場合は、テーブル名「connect_lex_<botname>」を選択します。
- 注:HAQM Athena 内でビューを作成して、強化された視覚化を構築します。詳細については、このブログ投稿を参照してください。
- 最後に、Visualize をクリックしてデータセットの作成を完了します。
- 次の画面では、以下のようなチャットデータが表示されます。
- 次のデプロイオプションに基づいて、データベースの名前とソースビュー/テーブルを選択し、選択 をクリックします。
HAQM QuickSight を使用して、他のチャットレコードの視覚化を追加できます。HAQM Athena 内でビューを作成して、強化された視覚化を構築します。詳細については、このブログ投稿を確認してください。さらに、Connect インスタンスを継続的に監視し、そのダッシュボードを共有できます。
後片付け
スタックによって作成されたリソースを削除するには、次の手順を実行します。
- このブログでの実装で作成された CloudFormation スタックを削除します。
- CloudFormation テンプレートから作成されたオブジェクトと S3 バケットを削除します。バケット名にはプロジェクト名が含まれています。
- CloudFormation テンプレートから作成された Glue データベースを削除します。
- オプション 1 で作成した Athena ビューを削除します。
まとめ
このブログでは、HAQM Lex ログを有効にし、HAQM Kinesis Data Firehose を使用して HAQM S3 にストリーミングする方法を学びました。このブログでは、CTR と HAQM Lex ログを関連付け、HAQM QuickSight でレポートを生成する方法も示しています。HAQM Athena 内でビューを作成して、強化された視覚化を構築するには、このブログ投稿で詳細を確認してください。