Amazon Lex
開発者ガイド

Amazon Lex: 仕組み

Amazon Lex を使用すると、Amazon Alexa に採用されているのと同じテクノロジーを利用し、音声またはテキストのインターフェイスを使用するアプリケーションを構築できるようになります。Amazon Lex を使用する際に実行する一般的な手順を以下に示します。

  1. ボットを作成し、サポート対象となる 1 つ以上のインテントを使用してそれを設定します。ボットがユーザーの目的 (インテント) を理解すること、そしてユーザーとの会話から情報を引き出し、ユーザーのインテントを達成できるように設定します。

  2. ボットをテストします。Amazon Lex コンソールで提供されているテストウィンドウクライアントを使用できます。

  3. バージョンを発行してエイリアスを作成します。

  4. ボットをデプロイします。ボットは、モバイルアプリケーションなどのプラットフォームまたはメッセージングプラットフォーム (Facebook Messenger など) にデプロイできます。

開始する前に、Amazon Lex の以下の主要概念と用語に精通しておいてください。

  • ボット – ボットは、ピザの注文、ホテルの予約、花の注文などの自動化されたタスクを実行します。Amazon Lex ボットでは、自動音声認識 (ASR) 機能と自然言語理解 (NLU) 機能を使用しています。これらは、Amazon Alexa で使用しているテクノロジーと同じものです。

     

    Amazon Lex ボットは、テキストまたは音声のユーザー入力を理解し、自然言語で会話できます。Lambda 関数を作成してコードフックとしてインテント設定に追加することで、ユーザーデータの検証とフルフィルメント (達成) タスクを実行できます。

     

  • インテント – インテントは、ユーザーが実行したいアクションを表します。1 つ以上の関連するインテントをサポートするには、ボットを作成します。たとえば、ピザと飲み物を注文するボットを作成できます。各インテントでは、以下の必要な情報を指定します。

     

    • インテント名– インテントのわかりやすい名前。例: OrderPizza

    • サンプル発話 – ユーザーがインテントを伝える方法。例: ユーザーが「ピザの注文をお願いします」や「ピザを注文します」と言った場合。

    • インテントを達成する方法 – 必要な情報をユーザーが指定した後に、そのインテントを達成する方法 (例: 最寄りのピザ店に注文する)。インテントを達成する方法として Lambda 関数を作成することをお勧めします。

       

      オプションとして、Amazon Lex からクライアントアプリケーションに単に情報を返して目的を達成するように、インテントを設定することもできます。

       

    Amazon Lex では、ピザの注文などのカスタムインテントを使用できるだけでなく、組み込みインテントを使用してボットを迅速にセットアップすることもできます。詳細については、「組み込みのインテントとスロットタイプ」を参照してください。

     

  • スロット – インテントでは 0 個以上のスロット (パラメータ) を使用します。インテント設定の一部としてスロットを追加します。実行時に、Amazon Lex は特定のスロット値を指定するようにユーザーに求めます。Amazon Lex がインテントを達成するには、ユーザーがすべての必須スロットの値を指定する必要があります。

     

    たとえば、OrderPizza インテントではピザのサイズ、クラストタイプ、ピザの枚数などが必須スロットです。これらのスロットはインテント設定で追加します。スロットごとに、スロットタイプとプロンプトを指定します。プロンプトは、ユーザーからデータを引き出すために Amazon Lex からクライアントに送信されます。ユーザーは「ラージサイズのピザにしてください」や「スモールサイズにします」などの追加の言葉を含めたスロット値で応答できます。言葉が追加されても、Amazon Lex では対象となるスロット値を理解できます。

     

  • スロットタイプ – 各スロットにはタイプがあります。カスタムスロットタイプを作成するか、組み込みスロットタイプを使用できます。たとえば、OrderPizza インテントでは以下のスロットタイプを作成して使用できます。

     

    • Size – 列挙値は SmallMediumLarge です。

    • Crust – 列挙値は ThickThin です。

     

    Amazon Lex には、組み込みスロットタイプも用意されています。たとえば、AMAZON.NUMBER はピザの注文数に使用できる組み込みスロットタイプです。詳細については、「組み込みのインテントとスロットタイプ」を参照してください。

ここで示している各トピックで、さらに詳しく学習できます。それらを順に確認した後に、「Amazon Lex の開始方法」に進むことをお勧めします。