Amazon Lex V2 を使用している場合は、代わりに Amazon Lex V2 ガイドを参照してください。
Amazon Lex V1 を使用している場合は、ボットを Amazon Lex V2 にアップグレードすることをお勧めします。V1 には新機能を追加されませんので、すべての新しいボットには V2 を使用することを強くお勧めします。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
信頼スコアの使用
ユーザーが発話を行うと、Amazon Lex は自然言語理解 (NLU) を使用してユーザーの要求を理解し、適切なインテントを返します。デフォルトでは、Amazon Lex は、ボットによって定義された最も可能性の高いインテントを返します。
場合によっては、Amazon Lex が最も可能性の高いインテントを判断するのが困難なことがあります。例えば、ユーザーが曖昧な発話をした場合や、似たようなインテントが2つある場合などです。適切なインテントを決定するために、代替えインテントのリストで、ドメイン知識と信頼性スコアを組み合わせることができます。信頼スコアは、Amazon Lex が提供する評価で、インテントが正しいインテントであるという確信度を示します。
代替えインテントの 2 つのインテントの差を判断するには、信頼度スコアを比較します。例えば、あるインテントの信頼スコアが 0.95 で、別のインテントのスコアが0.65の場合、最初のインテントはおそらく正しいでしょう。ただし、あるインテントのスコアが 0.75 で、別のインテントのスコアが 0.72 の場合、2 つのインテントの間には曖昧さがあり、アプリケーションでドメインナレッジを使用して識別できます。
また、信頼度スコアを使用して、インテントの発話に対する変更がボットの動作に違いをもたらすかどうかを判断するテストアプリケーションを作成することもできます。例えば、一連の発話を使用してボットのインテントの信頼度スコアを取得し、新しい発話でインテントを更新することができます。その後、信頼スコアをチェックして、改善があったかどうかを確認することができます。
Amazon Lex が返す信頼スコアは、比較のための値です。絶対的なスコアとして信頼するべきではありません。この値は、Amazon Lex の改善に基づいて変更される場合があります。
信頼度スコアを使用した場合、Amazon Lex は、各応答において、最も可能性の高いインテントと、最大 4 つの代替インテントを、それぞれの関連スコアとともに返します。すべての信頼度スコアがしきい値よりも小さい場合、Amazon Lex は AMAZON.FallbackIntent
、AMAZON.KendraSearchIntent
、またはその両方 (設定されている場合) を含みます。デフォルトのしきい値を使用することもできますし、独自のしきい値を設定することもできます。
次のJSONコードは、PostText オペレーションのレスポンスに含まれる alternativeIntents
フィールドを示しています。
"alternativeIntents": [ { "intentName": "string", "nluIntentConfidence": { "score": number }, "slots": { "string" : "string" } } ],
ボットを作成または更新するときにしきい値を設定します。API または Amazon Lex コンソールのいずれかを使用できます。以下にリストされているリージョンでは、精度の向上と信頼度スコアを有効にするためにオプトインする必要があります。コンソールでは、「詳細オプション」(Advanced Options) セクションで [信頼スコア] (confidence scores) を選択します。API を使用して、PutBot オペレーションを呼び出す際に enableModelImprovements
パラメータを設定します。
-
米国東部 (バージニア北部) (us-east-1)
-
米国西部 (オレゴン) (us-west-2)
-
アジアパシフィック (シドニー) (ap-southeast-2)
-
欧州 (アイルランド) (eu-west-1)
その他の地域では、精度の向上と信頼性スコアのサポートがデフォルトで利用できます。
信頼度しきい値を変更するには、コンソールで設定するか、PutBot オペレーションで設定します。しきい値は 1.00 から 0.00 の間の数値である必要があります。
コンソールを使用するには、ボットの作成時または更新時に信頼度のしきい値を設定します。
ボットの作成時に信頼度しきい値を設定するには (コンソール)
-
[Create your bot] (ボットの作成) で、[Confidence score threshold] (信頼度スコアのしきい値) フィールドに値を入力します。
信頼性のしきい値を更新するには (コンソール)
-
ボットの一覧から、エクスポートするボットを選択します。
-
[Settings] (設定) タブを選択します。
-
左側のナビゲーションペインで [General] (全般) を選択します。
-
[Confidence score threshold] (信頼スコアのしきい値) フィールドの値を更新します。
信頼度しきい値 (SDK) を設定または更新するには
-
PutBot のオペレーションの
nluIntentConfidenceThreshold
のパラメータを設定します。次の JSON コードは、パラメータが設定されていることを示しています。"nluIntentConfidenceThreshold": 0.75,
セッションの管理
Amazon Lex がユーザーとの会話で使用するインテントを変更するには、ダイアログコードフックの Lambda 関数からの応答を使用するか、カスタムアプリケーションでセッション管理 API を使用します。
Lambda 関数を使用する
Lambda 関数を使用する場合、Amazon Lex は関数への入力を含む JSON 構造で呼び出します。JSON 構造は、Amazon Lex がユーザーの発話の最も可能性の高いインテントとして特定したインテントを含む、currentIntent
と呼ばれるフィールドを含んでいます。JSON 構造は、ユーザーのインテントを満たす可能性のある最大 4 つの追加インテントを含む alternativeIntents
フィールドも含んでいます。各インテントには、Amazon Lex がそのインテントに割り当てた信頼度スコアを含む nluIntentConfidenceScore
というフィールドが含まれます。
別のインテントを使用するには、Lambda 関数の ConfirmIntent
または ElicitSlot
ダイアログアクションで指定します。
詳細については、「Lambda 関数を使用する」を参照してください。
セッション管理 API を使用する
現在のインテントと異なるインテントを使用するには、PutSession オペレーションを使用します。例えば、Amazon Lex が選択したインテントよりも、最初の選択肢が望ましいと判断した場合、PutSession
オペレーションを使用してインテントを変更し、ユーザーが次に対話するインテントが選択したものになるようにすることが可能です。
詳細については、「Amazon Lex API を使用したセッションの管理」を参照してください。