使用可信度分數 - Amazon Lex V1

如果您使用的是 Amazon Lex V2,請參閱 Amazon Lex V2 指南

 

如果您使用的是 Amazon Lex V1,我們建議您將機器人升級到 Amazon Lex V2。我們不再向 V1 添加新功能,強烈建議所有新機器人使用 V2。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用可信度分數

當用户發言時,Amazon Lex 使用自然語言理解 (NLU) 來理解用户的請求並返回正確的意圖。默認情況下,Amazon Lex 會返回您的機器人定義的最有可能的意圖。

在某些情況下,Amazon Lex 可能難以確定最可能的意圖。例如,用户可能會發表模糊的言論,或者可能有兩種相似的意圖。為了幫助確定正確的意圖,您可以將您的域知識與可信度分數替代意圖清單。置信度分數是 Amazon Lex 提供的評級,表明意圖是正確意圖是否具有多大的信心。

要確定兩種備選方法之間的差異,您可以比較它們的置信度分數。例如,如果一個意圖的置信度得分為 0.95,而另一個意圖的得分為 0.65,則第一個意圖可能是正確的。但是,如果一個意圖的得分為 0.75,而另一個意圖的分數為 0.72,則兩種意圖之間存在模糊性,即您可能能夠在應用程序中使用域知識進行區分。

您還可以使用置信度分數創建測試應用程序,以確定對意圖語音的更改是否會對機器人的行為產生影響。例如,您可以使用一組語音獲取機器人意圖的置信度分數,然後用新的語音更新意圖。然後,您可以檢查置信度分數,以查看是否有改善。

Amazon Lex 返回的置信度分數是比較值。你不應該依靠他們作為一個絕對分數。這些值可能會根據 Amazon Lex 的改進而發生變化。

當您使用置信度分數時,Amazon Lex 會在每個響應中返回最有可能的意圖和最多 4 個備選意圖及其相關分數。如果所有置信度得分都小於閾值,則 Amazon Lex 將包含AMAZON.FallbackIntentAMAZON.KendraSearchIntent,或者兩者(如果您已配置它們)。您可以使用默認閾值,或設定您自己的閾值。

下列程式碼顯示alternativeIntents區段中的PostTextoperation.

"alternativeIntents": [ { "intentName": "string", "nluIntentConfidence": { "score": number }, "slots": { "string" : "string" } } ],

在創建或更新自動程序時設置閾值。您可以使用 API 或 Amazon Lex 控台。對於下面列出的區域,您需要選擇加入才能提高準確度和置信度分數。在控制台中,選擇進階選項區段。使用 API,將enableModelImprovements參數時調用PutBotoperation. :

  • 美國東部 (維吉尼亞北部) (us-east-1)

  • 美國西部 (奧勒岡) (us-west-2)

  • 亞太區域 (雪梨) (ap-southeast-2)

  • 歐洲 (愛爾蘭) (eu-west-1)

在所有其他區域,默認情況下可用精度改進和置信度分數支持。

要更改置信閾值,請在控制台中設置該閾值,或使用PutBotoperation. 閾值必須是 1.00 和 0.00 之間的數字。

要使用控制台,請在創建或更新自動程序時設置置信度閾值。

在創建機器人時設置置信閾值(控制台)
  • 在 上建立機器人中,在可信度分數閾值欄位。

更新置信閾值(控制台)
  1. 從機器人清單中,選擇要更新的機器人。

  2. 選擇 Settings (設定) 索引標籤。

  3. 在左側導覽中,選擇將軍

  4. 更新可信度分數閾值欄位。

設置或更新置信閾值 (SDK)
  • nluIntentConfidenceThreshold參數PutBotoperation. 以下 JSON 代碼顯示了正在設置的參數。

    "nluIntentConfidenceThreshold": 0.75,

工作期管理

要更改 Amazon Lex 在與用户對話中使用的意圖,您可以使用對話框代碼鈎子 Lambda 函數中的響應,也可以在自定義應用程序中使用會話管理 API。

使用 Lambda 函數

當您使用 Lambda 函數時,Amazon Lex 會使用包含函數輸入的 JSON 結構調用它。JSON 結構包含一個名為currentIntent,其中包含 Amazon Lex 確定為用户發言的最可能意圖的意圖。JSON 結構還包括alternativeIntents字段,該字段包含最多四個可能滿足用户意圖的附加意圖。每個意圖都包含一個名為nluIntentConfidenceScore,其中包含 Amazon Lex 分配給意圖的置信度。

要使用替代意圖,您可以在ConfirmIntentElicitSlot對話框操作。

如需詳細資訊,請參閱 使用 Lambda 函數

使用工作區段管理 API

要使用與當前意圖不同的意圖,請使用PutSessionoperation. 例如,如果您決定第一個替代方案比 Amazon Lex 選擇的意圖更可取,則可以使用PutSession操作來更改意圖,以便用户與之交互的下一個意圖是您選擇的目的。

如需詳細資訊,請參閱使用 Amazon Lex API 管理工作階段