

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

# AMAZON.FallbackIntent
<a name="built-in-intent-fallback"></a>

當使用者對意圖的輸入不是機器人預期的輸入時，您可以設定 Amazon Lex V2 來叫用*備用意圖*。例如，如果使用者輸入「我想要訂購糖果」不符合`OrderFlowers`機器人中的意圖，Amazon Lex V2 會叫用備用意圖來處理回應。

當您使用主控台建立機器人，或使用 [CreateBotLocale](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateBotLocale.html) 操作將地區設定新增至機器人時，內建`AMAZON.FallbackIntent`意圖類型會自動新增至您的機器人。

呼叫備用意圖需要兩個步驟。在第一個步驟中，備用意圖係根據使用者的輸入進行比對。當備用意圖相符時，機器人的行為方式則取決於為提示設定的重試次數。

在這些情況下，Amazon Lex V2 符合備用意圖：
+ 使用者對意圖的輸入不符合機器人預期的輸入
+ 音訊輸入為雜訊，或文字輸入無法辨識為文字。
+ 使用者的輸入不明確，Amazon Lex V2 無法判斷要叫用的意圖。

以下情況會叫用備用意圖：
+ 在設定的嘗試次數之後，意圖不會將使用者輸入識別為槽值。
+ 在設定的嘗試次數之後，意圖不會將使用者輸入視為確認提示的回應。

您無法將以下內容新增至備用意圖：
+ 表達用語
+ 槽
+ 一條確認提示

## 使用 Lambda 函數搭配備用意圖
<a name="invoke-fallback"></a>

叫用備用意圖時，回應取決於 [CreateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateIntent.html) 操作的 `fulfillmentCodeHook` 參數設定。機器人會執行下列其中一項操作：
+ 將意圖資訊傳回給用戶端應用程式。
+ 呼叫別名的驗證和履行 Lambda 函數。它會使用為工作階段設定的工作階段變數來呼叫函數。

如需在叫用備用意圖時設定回應的詳細資訊，請參閱 [CreateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateIntent.html) 操作的 `fulfillmentCodeHook` 參數。

如果您將 Lambda 函數與備用意圖搭配使用，您可以使用此函數來呼叫另一個意圖，或與使用者執行某種形式的通訊，例如收集回呼號碼，或與客戶服務代表開啟工作階段。

您可以在相同工作階段中多次叫用備用意圖。例如，假設您的 Lambda 函數使用 `ElicitIntent` 對話方塊動作來提示使用者使用不同的意圖。如果 Amazon Lex V2 無法在設定的嘗試次數之後推斷使用者的意圖，則會再次叫用備用意圖。當使用者在設定的嘗試次數之後仍未回應有效的槽值，它也會叫用備用意圖。

您可以設定 Lambda 函數，以追蹤使用工作階段變數呼叫備用意圖的次數。如果呼叫 Lambda 函數的次數超過您在 Lambda 函數中設定的閾值，您的 Lambda 函數可以採取不同的動作。如需工作階段變數的詳細資訊，請參閱 [設定 Lex V2 機器人的工作階段屬性](context-mgmt-session-attribs.md)。