Amazon Web Services ブログ
Amazon Lex のフォールバックインテントを使用した会話フローの管理
質問に困惑したことがありますか? ビジネスレビューで毎週の数字を調べているときに、誰かが「費用はどうですか?」と尋ねたとします。 おそらくあなたの応答は、「わかりません。今その議論をする準備はできていません」となるでしょう。
ボットはまだ同じ理解力を持つには至っていません。答えが得られない場合、ボットはどのように対応すべきでしょうか? ボットは、応答がないときにどのように回復できるでしょうか? ボットがまだ理解していない場合、繰り返すように頼むと非常にイライラする可能性があります。おそらく、最後のやり取りに基づいてあなたが言ったことを理解するふりをすることができるでしょう。 ただし、いつもうまくいくとは限らず、愚かに聞こえることもあります。ボットがその限界を認め、何ができるかを教えてくれるでしょうか? 最初の数回は受け入れられるかもしれませんが、長期的には最適ではない可能性があります。
単一の正しい方法はありません。会話の修復戦略は、作り出そうとしているエクスペリエンスの種類によって異なります。エラー処理プロンプトを使用できます。ボットは、「現時点ではサポートできません」などのメッセージでハングアップする前に、「申し訳ありませんが、もう一度言っていただけますか?」というプロンプトを表示して明確化しようとします。 上記の会話例に基づいて、まず収益の数字に関連する質問に答えるための簡単なチャットボットを構築しましょう。このボットは、「第 1 四半期の収益は?」、「西部地域の売上は?」などの質問に答えます。 Lex ボットには、RegionDetails
および QuarterDetails
の 2 つのインテントだけが含まれています。このボットの定義では、誰かが費用について議論すると (「前四半期にいくら費やしましたか?」)、ボットは明確化のプロンプトを表示し、最終的に会話を打ち切りました。ビジネスロジックに介入したり実行したりすることはできませんでした。会話は、次のようになりました。
本日から、フォールバックインテントを追加して、このような状況でボットが正常に回復できるようにすることができます。フォールバックインテントを使用すると、追加情報を提供したり、対話を管理したり、ビジネスロジックを実行したりして、ボットの回復を制御できるようになります。会話をより適切に制御し、次のような理想的な結果を得るためにフローを管理できます。
フォールバックインテントの設定
以下の手順を実行して、フォールバックインテントを設定できます。
- Amazon Lex コンソールで、[Create intent] を選択します。
- 既存のインテントで
AMAZON.Fallback
を検索します。
BusinessMetricsFallback ページの次のスクリーンショットを参照してください。
明確化のプロンプトがある場合は、明確化のプロンプトが実行された後にフォールバックインテントがトリガーされます。明確化のプロンプトを無効にすることをお勧めします。フォールバックが設定されている場合、ハングアップフレーズは使用されません。エラー処理ページの次のスクリーンショットを参照してください。
- インテント
ContactDetails
を追加して、メール ID を収集します。
これは、メールアドレスだけをスロットタイプとして使用する単純なインテントです。意図の詳細については、ボットの定義を確認してください。
- フォールバックインテントのフルフィルメントコードフックに AWS Lambda 関数を追加します。
この関数は 2 つの操作を実行します。まず、オペレーターのフォローアップの要求を記録するタスク (例、データベースのチケットエントリなど) を作成します。次に、メール ID などの追加情報を引き出すために、オペレーターが照会を処理した後に応答が出るようにインテントを切り替えます。コードの詳細については、Lambda の定義を確認してください。
前述のボットの定義を使用して、これで会話を制御できるようになりました。「前四半期にどのくらい費やしましたか」と尋ねると、入力は設定されたインテントのいずれとも一致せず、フォールバックインテントをトリガーします。Lambda のフルフィルメントコードフックはチケットを作成し、インテントを ContactDetails
に切り替えて電子メール ID をキャプチャします。
まとめ
この投稿では、フォールバックインテントで会話フローをより適切に制御する方法を示しました。インテントを切り替えたり、ビジネスロジックを実行したり、カスタムレスポンスを提供したりできます。これらの手法を実際のボットに組み込む方法の詳細については、Amazon Lex ドキュメントおよびよくある質問のページを参照してください。
著者について
Kartik Rustagi は、Amazon AI のソフトウェア開発マネージャーです。彼と彼のチームは、Amazon Lex を搭載したチャットボットの会話機能の強化に注力しています。余暇には、彼はアウトドアを楽しみ、さまざまな料理を味わっています。