槽 - Amazon Lex

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

插槽是使用者提供的值,用於滿足意圖。插槽有兩種類型:

  • 內建插槽類型 – 您可以使用內建插槽類型來擷取標準值,例如數字、名稱和城市。如需支援的內建插槽類型清單,請參閱內建插槽類型

  • 自訂槽類型 – 您可以使用自訂槽類型來擷取意圖特定的自訂值。例如,您可以使用自訂槽類型,將帳戶類型擷取為「檢查」或「儲存」。如需詳細資訊,請參閱自訂槽類型

若要在意圖中定義槽,您必須設定下列項目:

  • 槽資訊 – 此欄位包含槽的名稱和選用描述。例如,您可以提供「AccountNumber」的槽名稱來擷取帳戶號碼。如果在對話流程中需要該槽以滿足意圖,則必須將其標記為必要。

  • 槽類型 – 槽類型定義槽可接受值的清單。您可以建立自訂插槽類型,或使用預先定義的插槽類型。

  • 槽提示 - 槽提示是使用者用來收集資訊的問題。您可以設定用於收集資訊的重試次數,以及用於每次重試的提示變化。您也可以在每次重試後啟用 Lambda 函數調用,以處理擷取的輸入,並嘗試解析為有效的輸入。

  • 等待並繼續 (選用) – 透過啟用此行為,使用者可以說出「按住一秒鐘」等片語,讓機器人等待他們尋找資訊並提供資訊。這僅適用於串流對話。如需詳細資訊,請參閱讓 Amazon Lex V2 機器人在暫停期間等待使用者提供更多資訊

  • 槽擷取回應 – 您可以根據從使用者輸入擷取槽值的結果,設定成功回應和失敗回應。

  • 條件式分支 – 您可以在播放初始回應後套用條件。當條件評估為 true 時,會採取您定義的動作。如需詳細資訊,請參閱將條件新增至分支對話

  • 對話方塊程式碼勾點 – 您也可以使用 Lambda 程式碼勾點來驗證槽值並執行商業邏輯。如需詳細資訊,請參閱叫用對話方塊程式碼掛鉤

  • 使用者輸入類型 – 您可以設定輸入類型,讓機器人可以接受特定的模態。根據預設,音訊和 DTMF 模態都會接受。您可以選擇性地將其設定為僅限音訊或僅限 DTMF。

  • 音訊輸入逾時和長度 – 您可以設定音訊逾時,包括語音逾時和靜音逾時。此外,您也可以設定最大音訊長度。

  • DTMF 輸入逾時、字元和長度 – 您可以設定 DTMF 逾時,以及刪除字元和結束字元。此外,您也可以設定最大 DTMF 長度。

  • 文字長度 – 您可以設定文字形式的最大長度。

播放槽提示後,使用者會提供槽值做為輸入。如果 Amazon Lex V2 不了解使用者提供的槽值,它會重試引出槽,直到它了解值或超過您為槽設定的重試次數上限為止。您可以使用進階重試設定來設定逾時、限制輸入類型,以及啟用或停用初始提示和重試的中斷。每次嘗試擷取輸入後,Amazon Lex V2 可以使用為重試提供的調用標籤,呼叫為機器人設定的 Lambda 函數。您可以使用 Lambda 函數,例如,套用您的商業邏輯,嘗試將其解析為有效的值。您可以在槽提示的進階選項中啟用此 Lambda 函數。

設定槽提示,讓機器人取得資訊。

您可以定義機器人在輸入槽值後或超過重試次數上限時應傳送給使用者的回應。例如,對於排程汽車服務的機器人,您可以在輸入車輛識別碼 (VIN) 時傳送訊息給使用者:

感謝您提供汽車的 VIN 號碼。現在,我將繼續安排預約。

您可以建立兩個回應:

  • 成功回應 – 當 Amazon Lex V2 了解槽值時傳送。

  • 失敗回應 – 當 Amazon Lex V2 在重試次數上限之後無法從使用者了解槽值時傳送。

您可以設定值、設定後續步驟,並套用對應至每個回應的條件,以設計對話流程。

如果沒有條件或明確的後續步驟,Amazon Lex V2 會依優先順序移至下一個槽。

槽回應的進階選項。

您可以使用 Lambda 函數來驗證使用者輸入的槽值,並判斷下一個動作應該是什麼。例如,您可以使用驗證函數來確保輸入的值落在正確的範圍內,或格式正確。若要啟用 Lambda 函數,請選擇對話方塊程式碼勾點區段中的叫用 Lambda 函數核取方塊和作用中按鈕。您可以為對話方塊程式碼掛鉤指定調用標籤。此調用標籤可用於 Lambda 函數,以寫入對應至槽引出的商業邏輯。

對話方塊程式碼勾點的選項。

意圖不需要的插槽不屬於主要對話流程。不過,如果使用者表達詞包含機器人識別為對應於選用槽的值,則可以使用該值來填入槽。例如,如果您將商業智慧機器人設定為具有選用City的插槽和使用者表達式 What is the sales for April in San Diego?,則機器人會使用 填入選用的插槽San Diego。如果存在,您可以將商業邏輯設定為使用選用的槽值。

無法使用後續步驟來引出意圖不需要的插槽。這些步驟只能在意圖引出期間填入 (如上述範例),也可以透過在 Lambda 函數內設定對話方塊狀態來引出。如果使用 Lambda 函數來引發槽,您必須使用 Lambda 函數,在槽引出完成後決定對話中的下一個步驟。若要在建置機器人時啟用下一個步驟的支援,您必須將插槽標記為意圖所需的位置。

注意

2022 年 8 月 17 日,Amazon Lex V2 發佈了與使用者管理對話方式的變更。此變更可讓您更掌控使用者在對話中採取的路徑。如需詳細資訊,請參閱Amazon Lex V2 中對話流程的變更。在 2022 年 8 月 17 日之前建立的機器人不支援對話方塊程式碼掛接訊息、設定值、設定後續步驟,以及新增條件。

下列主題說明如何設定機器人以重新引發已填入的槽值,以及如何建立包含多個值的槽: