槽 - 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 日之前建立的機器人不支援對話方塊程式碼掛鉤訊息、設定值、設定後續步驟,以及新增條件。

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