利用 Lex V2 使用意圖信賴度分數來改善意圖選擇 - Amazon Lex

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

利用 Lex V2 使用意圖信賴度分數來改善意圖選擇

當使用者發表說話時,Amazon Lex V2 會使用自然語言理解 (NLU) 來瞭解使用者的請求並傳回正確的意圖。依預設,Amazon Lex V2 會傳回您的機器人所定義的最可能意圖。

在某些情況下,Amazon Lex V2 可能很難判斷最可能的意圖。例如,使用者可能會發出不明確的話語,或者可能有兩個相似的意圖。為了幫助確定正確的意圖,您可以將您的領域知識與解釋列表中的可NLU信度分數結合起來。可信度分數是 Amazon Lex V2 提供的評級,顯示意圖是正確意圖的信心程度。

若要判斷解譯中兩個意圖之間的差異,您可以比較其信心分數。例如,如果一個意圖的信賴度分數為 0.95,而另一個意圖的分數為 0.65,則第一個意圖可能是正確的。但是,如果一個意圖的分數為 0.75,而另一個意圖的分數為 0.72,則兩個意圖之間存在模糊,您可能可以在應用程序中使用域知識進行區分。

您也可以使用可信度分數來建立測試應用程式,以判斷意圖話語的變更是否會影響機器人的行為。例如,您可以使用一組語音來獲得機器人意圖的可信度分數,然後使用新的話語更新意圖。然後,您可以檢查可信度分數,以查看是否有所改善。

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 返回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結構來呼叫該函數。結JSON構包含一個名為currentIntent的欄位,其中包含 Amazon Lex V2 已識別為使用者說話最有可能的意圖。該JSON結構還包括一個alternativeIntents字段,其中包含最多四個額外的意圖,這些意圖可以滿足用戶的意圖。每個意圖都包含一個名為nluIntentConfidenceScore的欄位,其中包含 Amazon Lex V2 指派給意圖的可信度分數。

若要使用替代意圖,您可以在 Lambda 函數的ConfirmIntentElicitSlot對話方塊動作中指定它。

如需詳細資訊,請參閱整合 AWS Lambda 功能到你的機器人

API搭配 Lex V2 機器人使用工作階段管理

若要使用與目前意圖不同的意圖,請使用此PutSession作業。例如,如果您決定第一個替代方案比 Amazon Lex V2 選擇的意圖更可取,則可以使用該PutSession操作來變更意圖,以便使用者與之互動的下一個意圖就是您選取的意圖。

如需詳細資訊,請參閱了解 Amazon Lex V2 機器人