こんにちは。
たいしゅうです。
今回はAWSが提供するAIサービス「Amazon Lex」についてを紹介します。
そもそも「Amazon Lex」は何ができるサービスなの?
Amazon Lexは、今はやりのチャットボットをAWS上で作成、構築ができるサービスになっています。
今回は、Amazon Lexを利用するうえで覚えておくといいキーワードを紹介したいと思います。
ボット
注文、予約など自動化されたタスクを実行します。こちらには、自動音声認識機能と自然言語理解機能を使用しています。このテクノロジーは、Amazon Echo(Amazon Alexa)も使用されています。
Amazon Lex ボットは、テキストまたは音声のユーザー入力を理解し、自然言語で会話できます。Lambda関数を作成してコードフックとしてインテント設定に追加することで、ユーザーデータの検証とフルフィルメント (達成) タスクを実行できます。
インテント
ユーザーが実行したいアクションを表します。花の注文、ピザの注文等
インテントには、複数の要素が含まれており、それぞれの要素に設定値を入力することでタスクを実行することができるようになっています。
以下は、インテントを構成している主な設定値になります。
インテント名
インテントの名前。インテントを管理するためのラベルのようなもの。
サンプル発話(下記図参照)
インテントを起動(タスクを起動)させるのにトリガーとなるフレーズ。例えば「ドリンクがほしい」など
スロット(下記図参照)
質問とそれに対する答えをスロットで設定できます。
たとえば、「花の注文」をするインテントの場合、花の種類、受け取りたい日、受け取りたい時間などが必須スロットです。これらのスロットはインテント設定で追加します。スロットごとに、スロットタイプとプロンプトを指定します。
プロンプト(下記図参照)
Amazon Lexからの質問のことです。ユーザーは「バラをお願いします」や「明日取りに行きます」などの追加の言葉を含めたスロット値で応答できます。言葉が追加されても、Amazon Lex では対象となるスロット値を学習して理解することができます。
スロットタイプ(下記図参照)
各スロットにはタイプがあります。カスタムスロットタイプを作成するか、組み込みスロットタイプを使用できます。たとえば、「花の注文」をするインテントでは以下のスロットタイプを作成して使用できます。
今回は、チュートリアルのためあらかじめ設定されている組み込みスロットタイプを使用していますが、カスタムスロットタイプを使用すれば、任意の質問と答えを入力設定することができます。
Flower Type 列挙値は 花の種類(Rose,Tulip等)です。
Pickup Date – 列挙値は いつ(日)取りに行くか(Today,Tomorrow等) です。
いかがだったでしょうか。今回は、Amazon Lexを構成するうえで重要なキーワードを紹介させて頂きました。
これにさらにLambda関数などを絡めていくようなのですが、チュートリアル及び実装については、また次回に紹介できればと思います。
次回をお楽しみに。