Amazon Web Services ブログ

Dashbot を使用した Amazon Lex 会話の分析と最適化

この記事は、Dashbot の共同創設者兼 CEO である Arte Merritt 氏と共同執筆しました。同社の説明によれば、「Dashbot は、Chatbot と音声スキルのための分析プラットフォームであり、企業は実用的な洞察とツールを通じてエンゲージメント、満足度、および変換を向上させることができます」

ボットをデプロイした後、ボットの相互作用を分析し、この分析から学んで、これらの学びを使用してエンドユーザー体験を向上させることができます。会話型インターフェイスは、ウェブサイトやモバイルアプリケーションよりも簡単に分析を行えます。ページビューをつなぎ合わせてイベントを選択することにより、ユーザーが何を望んでいるかを推測する代わりに、会話からユーザーの行動を直接推測できます。ユーザーは何を望んでいるかを自分の言葉で伝え、ニーズ、願望、期待、失望に関してコミュニケーションを取っています。この貴重なデータを応用して、ユーザーの意見に耳を傾け、学び、最適化できるかはあなた次第です。

Amazon Lex インターフェイスを Dashbot と簡単に統合できるようになりました。Dashbot は、最初から会話型アプリケーションを分析して理解するために構築された、分析と最適化のプラットフォームです。Dashbot は、ユーザー数、保持メトリック、ファネルの追跡など、分析プラットフォームに期待されるレポートを提供します。さらに、Dashbot は、検索可能な記録、会話パス、フレーズクラスターなど、会話型アプリケーション用に特別に構築されたいくつかのソリューションを提供します。  この記事では、Dashbot 機能を使用して Amazon Lex ボットとの相互作用を分析する方法について説明します。

ソリューションのアーキテクチャ

AWS Lambda 関数を使用して、Amazon CloudWatch Logs から会話ログデータをストリーミングします。ロググループから Lambda 関数をトリガーするイベントをセットアップします。Lambda 関数は JSON データを Dashbot アカウントに投稿します。これらのリソースを配置したら、Dashbot でダッシュボードを作成できます。

このソリューションでは、Amazon Lex 会話ログデータを使用してボットの相互作用をキャプチャし、Dashbot サービス機能を使用してキャプチャした相互作用を分析できます。以下の画像は、インテントの上位メッセージを示しています。

Dashbot でアカウントを作成する

Dashbot アカウントをセットアップするには、以下の手順通りに実行します。

  1. dashbot.io に移動します。
  2. [サインアップ] を選択します。注意: メールアドレス、会社名、パスワードを入力する必要があります。
  3. [ChatBot を追加] を選択します。
  4. [ボット名] に、ボットの名前を入力します。この記事では、前回のブログ記事で使用した「AutoLoanBot」の例を使用しています。
  5. [プラットフォーム] で、[Lex] を選択します。
  6. オプションで、[カテゴリ] と [本番環境ステータス] を選択できます。
  7. [登録] を選択します。

次のスクリーンショットは、Dashbot でのアカウント設定を示しています。

Chatbot を登録すると、API キーが作成されます。この API キーを記録して、今後の手順で使用します。

Amazon Lex の会話ログを有効にする

ボットの相互作用を Dashbot に送信するには、Amazon Lex ボットの会話ログテキストを有効にします。こちらのように、前回のブログ記事で作成した AutoLoanBot の例を使用することも、独自のボットを使用することもできます。

  1. まず、Amazon CloudWatch Logs car-loan-bot-text-logs という新しいロググループを作成します。
  2. 次に、LexCarLoanBotRole と呼ばれる IAM ロールを作成して、Amazon Lex がログストリームを作成し、car-loan-bot-text-logs ロググループにログイベントを投稿できるようにします。
  3. Amazon Lex コンソールで、[AutoLoanBot] をクリックします。
  4. [設定] を選択します。
  5. [エイリアス] を選択し、ボットのエイリアスがあることを確認します。最新ボットバージョンを参照するエイリアス名テストを作成します。
  6. ボットエイリアスをまだ公開していない場合は、ここで公開する必要があります。  [公開] を選択し、[エイリアスを選択] ドロップダウンで [エイリアス] (テストなど) を選択して、次に [公開] を選択します。
  7. 次に、サイドメニューで [会話ログ] を選択します。
  8. ボットエイリアスに対応する歯車アイコン [設定] をクリックします。
  9. [ログタイプ] の下で [テキストログ] を選択します。
  10. [ロググループ名] のドロップダウンリストから、[car-loan-bot-text-logs] を選択します。
  11. [IAM ロール] のドロップダウンリストから、[LexCarLoanBotRole] を選択します。
  12. [保存] を選択します。

Amazon Lex 会話ログを Dashbot と統合する

会話を CloudWatch Logs に記録しているので、これらのメッセージを Dashbot に送信するようにサブスクリプションを構成します。以下の手順を完了してください。

  1. コンソールで AWS Lambda サービスに移動します。
  2. [関数を作成] を選択し、[作成者を最初から] 選択したままにします。
  3. lex-dashbot-integration などの関数名を入力します。
  4. ランタイム言語でサポートされている最新バージョンの Node.js を選択します。
  5. [基本的な Lambda 権限で新しいロールを作成する] を選択します。
  6. [関数を作成] を選択します。
  7. [関数コード] の [コードエントリタイプ] で [Amazon S3 からファイルをアップロード] を選択し、次の URL を入力します。
    https://aws-ml-blog.s3.amazonaws.com/artifacts/lex-dashbot-integration/8231d7e369435c68383681d23df4011a
  8. ハンドラー名を src/index.handler に変更します。
  9. [環境変数] で、[編集]、[環境変数を追加] を選択し、キー DASHBOT_API_KEY を使用して変数を追加します。[] には、上記で取得した Dashbot API キーを使用し、[保存] を選択します。
  10. [トリガーを追加] を選択し、トリガー設定に [CloudWatch Logs] を選択します。
  11. ドロップダウンリストの [ロググループ名] から、[car-loan-bot-text-logs] を選択します。
  12. dashbot-filter などのフィルター名を入力し、[追加] を選択します。
  13. [保存] を選択して Lambda 関数を保存します。

統合テスト

セットアップが完了したら、Amazon Lex ボットにメッセージを送信して、統合をテストできます。AutoLoanBot の例を使用している場合は、テストスクリプトをダウンロードしてログデータを生成できます (会話ログには、AWS マネジメントコンソールを通じたやり取りは記録されません)。テストスクリプトをダウンロードするには、test-bot.zip を選択してください。

アプリケーションにメッセージを送信すると、Dashbot の [ライブ記録] セクションでメッセージを確認できます。たとえば、次のスクリーンショットは、ユーザーの発話、発話がマッピングされたインテント、およびボットの応答を含む記録を示しています。

ボットのライフサイクル全体にわたって Dashbot を使用する

数日間 Dashbot にデータを送信した後、レポートを確認できます。この記事では、保持レポート、会話パス、目標会話レポート、フレーズクラスターを示しています。メトリック数、ファネル、オーディエンスセグメンテーションを表示することもできます。

保持レポート

保持レポートは、顧客がアプリケーションに戻る頻度を理解するのに役立ちます。次のスクリーンショットは、既存のユーザー保持レポートを示しています。

会話パス

会話パスを使用すると、ユーザーがアプリケーションを経由する最も一般的なパスを確認できます。予想されるパスを順調に進んでいるか、終了フローはどこかを確認できます。次のスクリーンショットは、AutoLoanBot 例の会話パスを示しています。

目標会話

目標会話の追跡は、購入完了や問題のエスカレーションなど、目標を達成したユーザーの数を理解するのに役立ちます。次のスクリーンショットは、エスカレーションレポートを示しています。

フレーズクラスター

メッセージをさまざまな手段でグループ化して表示できます。次のスクリーンショットは、NotHandled インテントでメッセージのリストを使用して、ThankYou インテントのトレーニングデータを改善する方法を示しています。

まとめ

Dashbot は、Amazon Lex ボットのパフォーマンスを分析するために使用できる包括的なレポートセットを提供します。AWS Lambda 関数をすばやくデプロイして、Amazon Lex 会話ログをほぼリアルタイムで Dashbot アカウントに安全に送信し、Dashbot を使用して会話型アプリケーションのニーズを最適化できます。ボットを分析および最適化する最高の方法については、Dashbot のウェブサイトにアクセスするか、Dashbot に直接お問い合わせください。


著者について

Arte Merritt 氏は、Chatbot 分析プラットフォームである Dashbot 社の CEO 兼共同創設者です。以前は、モバイル分析プラットフォームである Motally を設立し、Nokia に売却したことにより成功裏に引退しました。彼は分析分野で 20 年以上の経験を積んでおり、Yahoo Mobile やさまざまなスタートアップ企業と協力して働いています。Arte 氏は MIT の卒業生です。

 

 

 

Amazon Lex チームのプロダクトマネージャーとして、Harshal Pimpalkhute は、マシンを (うまく) 人間に従事させることに時間を費やしています。

 

 

 

Brian Yost は、AWS プロフェッショナルサービスのシニアコンサルタントです。彼は、マウンテンバイク、自家製ビール醸造、テクノロジーのティンカリングが趣味です。