Amazon Web Services ブログ

Amazon Lex 対話ボックスの対応を強化

AWS マネジメントコンソールから Amazon Lex 対話ボットに応答を直接追加できるようになりました。ユーザーと活発に説得力のある対話を行うための応答メッセージを使用しましょう。

応答を使用する

応答はボットによるやり取りの最終要素であり、ボットのやり取りがすべて行われたあとに、ユーザーに表示されます。 応答にはお別れの挨拶といったシンプルなものから、メッセージを表示して別のやり取りにつながる様々なボタンの付いた画像のカルーセル表示などがあります。  応答は一部の事例ではやり取りの主要な要素となることもあります。たとえば、ユーザーを別のボット機能へ導くのに役立つやりとりなどがその例です。

応答は事前に定義され、デベロッパーによって作成されたメッセージのグループから動的に選択されるメッセージで構成されています。  たとえば、予約ボットでは最初のメッセージグループとして、ボットがユーザーに使用できる様々な挨拶(「こんにちは」、「いらっしゃいませ」、「お待たせいたしました」)などを含めることができます。2 つ目のメッセージグループには様々な自己紹介メッセージを指定できます。たとえば、「私は予約用ボットです」、「こちらは予約用ボットです」など。 3つ目のメッセージグループにはやり取りするための言葉を指定します。「レンタカーのご予約、ホテルのご予約はお任せください」など。  Amazon Lex は各メッセージグループの各メッセージを動的に使用して会話の受け答えを構築します。たとえば、会話の一例として次のメッセージをご覧ください。

会話例をもう 1 つご覧ください。

応答は簡単なもので、ユーザーが別の表現を使って答え、それにより別のやり取りがトリガーされるものを使用します。  たとえば、ユーザーが「レンタカー」と答えるとします。「レンタカー」がレンタカーを支援するやり取りの対話に一致すれば、そのやり取りが同時にトリガーされます。

応答には次に示すコンポーネントを 3 件まで指定できます。

  • メッセージ (いずれの応答にも 1 件以上のメッセージが必要)
  • 応答の質問に対するユーザーの回答が「いいえ」であれば、終了メッセージ
  • 応答カード

応答は Amazon Lex コンソール上で、Amazon Lex SDK を介して実行できます。  コンポーネントを見ながら応答の作成方法をご紹介します。

メッセージ

Amazon Lex コンソールでは、応答セクションの最初のコンポーネントはメッセージまたはメッセージグループです。エディターではメッセージグループはこのように表示されます。

より自然な会話の流れを作るのに役立つのであれば、1 件の応答に 1 つまたは複数のメッセージグループを作成できます。  メッセージはメッセージグループごとにマークが付いた状態 (メッセージグループ 1、メッセージグループ 2 など) でクライアントに送信されるため、それぞれのグループはサポート対象の Amazon Lex チャンネルに 1 行ずつ自動的に表示されます。  カスタムクライアントにメッセージを同時に表示するには、こうした動作を一貫して行うようロジックを書くことができます。

応答メッセージではカスタム書式設定を使用することも可能で、ご使用のアプリケーションのニーズを満たすよう、自分自身でメッセージペイロードを定義できます。  コンソールではメッセージグループのヘッダーに各メッセージグループの書式、メッセージ 、またはカスタムマークアップを選択します。  カスタムマークアップを選ぶと、メッセージペイロードを入力できるエディターが開きます。

Amazon Lex SDK でカスタム書式設定を適用するには、CustomPayload パラメーターを使用します。 メッセージごとに書式を設定することで、書式を変更できるようになります。

終了応答

応答でボットがフォローアップの質問をするようセットアップできます。  たとえば、前述の予約ボットの例では、次のような質問を使って 4 番目のメッセージを作成できます。

「いいえ」を含む可能性のある応答には、終了メッセージを作成できます。  また、これはユーザーにこれ以上質問がなくなったときに会話を終了するよい方法です。

終了メッセージを作成するには、コンソールの応答セクションで「Wait for user reply」 (ユーザーの応答を待つ) を選択します。ユーザーが追加のやり取りで「いいえ」と答えたときに送信するメッセージを入力するよう促すメッセージが表示されます。たとえば、旅行の予約のやり取りでは、次のようなメッセージを指定するとします。

Amazon Lex SDK では、応答でフォローアップの回答を作成するときに、ユーザーが「いいえ」と答えたときに送信されるメッセージを指定します。

応答カード

応答カードは Amazon Lex コンソールの応答セクションの次のコンポーネントです。 応答カードにはユーザーが選択できる適切な回答と画像またはグラフィックのセットが含まれます。 応答カードはユーザーのやり取りをより豊かにしたり、簡易化したりすることができるほか、ボットの精度を向上することもできます。

たとえば、ホテルの予約アプリケーションでは、様々な客室タイプの応答カードにそれぞれボタンを設定できます。 ユーザーがこれらのボタンの 1 つを選択した場合、客室タイプのボタンの値が Amazon Lex へと送られ新しいやり取りがトリガーされます。

ユーザーがオプションをスクロールできるように、応答カードのカルーセルを有効化できます。  ホテル予約の例では、カルーセルの各カードが別のホテル、街、または人気のリゾートとして表示されます。

プレビューモード

回答を見直すには、プレビューモードをご使用ください。

たとえば、先の例で予約ボットを構築したあと、次のようにしてすぐに応答を見直すことができます。

メッセージグループに複数のメッセージが含まれている場合は、応答の更新を選ぶことで別の応答を表示できます。  エディターに戻るには、プレビューの終了を選択します。

ご利用開始にあたって

応答は Facebook Messenger、Slack、Kik といったサポート対象の Amazon Lex チャンネル (メッセージングプラットフォーム) 間でネイティブに機能します。  またカスタムクライアントとモバイルアプリケーションをプログラムして、応答カードなど、応答を使用することもできます。

コンソールで応答を作成するには、ボットを選択し (または新しいものを作成する)、各やりとりの下部にある応答セクションに必要事項を入力します。  どの応答にも少なくとも 1 件以上のメッセージがあるメッセージグループが 1 件必要です。

Amazon Lex で応答を構築する方法について詳しくは、Amazon Lex のドキュメントFAQ を参照してください。

Amazon Lex でのチャットボットの開発について詳しく知りたいですか?より優れたボットを構築する方法については 2 つのパートから構成されているチュートリアルをご覧ください。


今回のブログ投稿者について

John Reed は AWS ディープラーニングおよび AI コンソールのシニアプロダクトマネージャーです。彼はユーザーおよびデベロッパーのエクスペリエンスを改善するために、AWS AI テクノロジーまわりを担当しています。余暇にはガジェットをいじったり、スキーをしたりするほか、バックパッカー旅行やアウトドアアクティビティを楽しみます。