Lex V2 でインテント信頼スコアを使用してインテントの選択を改善する - Amazon Lex

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Lex V2 でインテント信頼スコアを使用してインテントの選択を改善する

ユーザーが発話を行うと、Amazon Lex V2 は自然言語理解 (NLU) を使用してユーザーのリクエストを理解し、適切なインテントを返します。デフォルトでは、Amazon Lex V2 は、ボットによって定義された最も可能性の高い意図を返します。

場合によっては、Amazon Lex V2 が最も可能性の高い意図を判断するのが困難なことがあります。例えば、ユーザーが曖昧な発話をした場合や、似たような意図が2つある場合などです。適切なインテントを判断するために、ドメインの知識と解釈のリストのNLU信頼度スコアを組み合わせることができます。信頼スコアは、Amazon Lex V2 が提供する評価で、意図が正しい意図であるという確信度を示します。

解釈内の 2 つの意図の差を判断するには、信頼度スコアを比較します。例えば、あるインテントの信頼スコアが 0.95 で、別のインテントのスコアが0.65の場合、最初の意図はおそらく正しいでしょう。ただし、あるインテントのスコアが 0.75 で、別のインテントのスコアが 0.72 の場合、2 つのインテントの間には曖昧さがあり、アプリケーションでドメインナレッジを使用して識別できます。

また、信頼度スコアを使用して、インテントの発話に対する変更がボットの動作に違いをもたらすかどうかを判断するテストアプリケーションを作成することもできます。例えば、一連の発話を使用してボットのインテントの信頼度スコアを取得し、新しい発話でインテントを更新することができます。その後、信頼スコアをチェックして、改善があったかどうかを確認することができます。

Amazon Lex V2 が返す信頼スコアは、比較のための値です。絶対的なスコアとして信頼するべきではありません。この値は、Amazon Lex V2 の改善に基づいて変更される場合があります。

Amazon Lex V2 は、最も可能性の高いインテントと、最大 4 つの代替インテントを、各レスポンスの interpretations 構造で関連するスコアとともに返します。次のJSONコードは、 RecognizeTextオペレーションからのレスポンスのinterpretations構造を示しています。

"interpretations": [ { "intent": { "confirmationState": "string", "name": "string", "slots": { "string" : { "value": { "interpretedValue": "string", "originalValue": "string", "resolvedValues": [ "string" ] } } }, "state": "string" }, "nluConfidence": number } ]

AMAZON.FallbackIntent

Amazon Lex V2 は、次の 2 つの状況で最上位インテントとして AMAZON.FallbackIntent を返します。

  1. 考えられるすべてのインテントの信頼スコアが信頼度しきい値を下回っている場合。デフォルトのしきい値を使用することもできますし、独自のしきい値を設定することもできます。AMAZON.KendraSearchIntent が設定されている場合、この状況で Amazon Lex V2 は同様にそれを返します。

  2. AMAZON.FallbackIntent の解釈の信頼度が、他のすべてのインテントの解釈の信頼度よりも高い場合。

Amazon Lex V2 は、AMAZON.FallbackIntent の信頼スコアを表示しないことに注意してください。

信頼度しきい値の設定と変更

信頼度しきい値は 0.00 から 1.00 の間の数値である必要があります。以下の方法で、ボットの言語ごとにしきい値を設定できます。

Amazon Lex V2 コンソールの使用

  • [言語を追加] を使用してボットに言語を追加するときにしきい値を設定するには、[信頼度スコアのしきい値] パネルに希望する値を挿入します。

  • しきい値を更新するには、ボットの言語の [言語詳細] パネルで [編集] を選択します。次に、[信頼度スコアしきい値] パネルに希望する値を挿入します。

APIオペレーションの使用

  • しきい値を設定するには、 CreateBotLocaleオペレーションの nluIntentConfidenceThresholdパラメータを設定します。

  • 信頼度しきい値を更新するには、 UpdateBotLocaleオペレーションの nluIntentConfidenceThresholdパラメータを設定します。

セッションの管理

Amazon Lex V2 がユーザーとの会話で使用するインテントを変更するには、ダイアログコードフック Lambda 関数からのレスポンスを使用するか、APIsカスタムアプリケーションでセッション管理を使用できます。

Lex V2 ボットでの Lambda 関数の使用

Lambda 関数を使用すると、Amazon Lex V2 は関数への入力を含むJSON構造で関数を呼び出します。 V2 JSON 構造には、Amazon Lex V2 がユーザーの発話の最も可能性の高いインテントとして識別したインテントcurrentIntentを含む というフィールドが含まれています。JSON 構造には、ユーザーのインテントを満たす可能性のあるインテントを最大 4 つまで追加する alternativeIntentsフィールドも含まれています。各意図には、Amazon Lex V2 がその意図に割り当てた信頼度スコアを含む nluIntentConfidenceScore というフィールドが含まれます。

別の意図を使用するには、Lambda 関数の ConfirmIntent または ElicitSlot ダイアログアクションで指定します。

詳細については、「の統合 AWS Lambda ボットへの 関数」を参照してください。

Lex V2 ボットAPIでのセッション管理の使用

現在のインテントとは異なるインテントを使用するには、 PutSessionオペレーションを使用します。例えば、Amazon Lex V2 が選択した意図よりも、最初の選択肢が望ましいと判断した場合、PutSession オペレーションを使用して意図を変更し、ユーザーが次に対話する意図が選択したものになるようにすることが可能です。

詳細については、「Amazon Lex V2 ボットセッションについて」を参照してください。