本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AMAZON.FallbackIntent
當使用者對意圖的輸入不是機器人預期的輸入時,您可以設定 Amazon Lex V2 來叫用折返意圖 。例如,如果使用者輸入「我想要訂購糖果」不符合OrderFlowers
機器人中的意圖,Amazon Lex V2 會叫用退避意圖來處理回應。
當您使用主控台建立機器人,或使用 CreateBotLocale操作將區域設定新增至機器人時,內建AMAZON.FallbackIntent
的意圖類型會自動新增至機器人。
呼叫備用意圖需要兩個步驟。在第一個步驟中,備用意圖係根據使用者的輸入進行比對。當備用意圖相符時,機器人的行為方式則取決於為提示設定的重試次數。
在這些情況下,Amazon Lex V2 符合退避意圖:
-
使用者對意圖的輸入不符合機器人預期的輸入
-
音訊輸入為雜訊,或文字輸入無法辨識為文字。
-
使用者的輸入不明確,Amazon Lex V2 無法判斷要叫用哪個意圖。
以下情況會叫用備用意圖:
-
在設定的嘗試次數之後,意圖不會將使用者輸入識別為槽值。
-
在設定的嘗試次數之後,意圖不會將使用者輸入視為確認提示的回應。
您無法將以下內容新增至備用意圖:
-
表達用語
-
槽
-
一條確認提示
將 Lambda 函數與後援意圖搭配使用
叫用退避意圖時,回應取決於CreateIntent操作fulfillmentCodeHook
參數的設定。機器人會執行下列其中一項操作:
-
將意圖資訊傳回給用戶端應用程式。
-
呼叫別名的驗證和履行 Lambda 函數。它會使用為工作階段設定的工作階段變數來呼叫函數。
如需在叫用後援意圖時設定回應的詳細資訊,請參閱 CreateIntent操作的 fulfillmentCodeHook
參數。
如果您將 Lambda 函數與退信意圖搭配使用,則可以使用此函數呼叫另一個意圖或執行與使用者某種形式的通訊,例如收集回呼號碼或開啟與客戶服務代表的工作階段。
您可以在相同工作階段中多次叫用備用意圖。例如,假設您的 Lambda 函數使用ElicitIntent
對話方塊動作來提示使用者不同的意圖。如果 Amazon Lex V2 無法在設定的嘗試次數後推斷使用者的意圖,則會再次叫用退避意圖。當使用者在設定的嘗試次數之後仍未回應有效的槽值,它也會叫用備用意圖。
您可以設定 Lambda 函數,以追蹤使用工作階段變數呼叫後援意圖的次數。如果呼叫 Lambda 函數的次數超過您在 Lambda 函數中設定的閾值,您的 Lambda 函數可以採取不同的動作。如需工作階段變數的詳細資訊,請參閱 設定 Lex V2 機器人的工作階段屬性。