本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定使用 Lex V2 機器人擷取使用者輸入的逾時
Amazon Lex V2 串流API可讓機器人自動偵測使用者輸入中的語音。當您建立意圖或插槽時,您可以設定語音的各個方面,例如語音的最長持續時間、等待使用者輸入時的逾時,或輸入結束字元。DTMF您可以針對您的使用案例自訂機器人的行為。例如,您可以將信用卡號碼的位數限制為 16。
您也可以在與機器人開始交談時透過工作階段屬性設定逾時,並在必要時在 Lambda 函數中覆寫逾時。
屬性的組態金鑰使用下列語法:
x-amz-lex:<InputType>
:<BehaviorName>
:<IntentName>
:<SlotName>
InputType
可以是 audio
、dtmf
或 text
。
您可以透過指定意圖或位置名稱來設定*
機器人中所有意圖或位置的預設設定。任何意圖或槽特定的設定都優先於預設設定。
Amazon Lex V2 提供預先定義的工作階段屬性,用於管理StartConversation操作與文字、語音或機器人DTMF輸入的運作方式。預先定義的屬性全都位於 x-amz-lex
命名空間中。
您可以透過指定意圖或位置名*
稱來設定機器人中所有意圖、位置或子插槽的預設設定。任何意圖或槽特定的設定都優先於預設設定。在下面的所有超時中使用這些模式。
對於複合插槽的子插槽,您可以分.
開。例如:
<slotName>
.<subSlotName>
x-amz-lex:allow-interrupt:<intentName>
:<slotName>
.<subSlotName>
表達式 | 案例 |
---|---|
意圖:插槽。 SubSlot | 僅適用於名為 'SlotSubSlot' 的複合插槽內名為 '' 的子插槽 |
意圖:插槽。 * | 適用於名為 'Slot' 的複合插槽內的任何子插槽 |
意圖:*。 SubSlot | 僅適用於任何複合插槽內名為 SubSlot '' 的子插槽 |
意圖:* 。 * | 適用於任何複合槽內的任何子槽 |
中斷行為如何在 Lex V2 機器人中運作
您可以設定機器人的中斷行為。該屬性由 Amazon Lex V2 定義。
允許中斷
x-amz-lex:allow-interrupt:<intentName>
:<slotName>
定義使用者是否可以中斷 Amazon Lex V2 機器人播放的提示。您可以選擇性地將其關閉。
預設值:真
設定語音輸入的逾時
您可以使用工作階段屬性來設定與機器人的語音互動的逾時值。這些屬性由 Amazon Lex V2 定義。這些屬性可讓您指定 Amazon Lex V2 在收集輸入語音之前等待客戶完成講話的時間長度。
所有這些屬性都在x-amz-lex:audio
命名空間中。
最大語音長度
x-amz-lex:audio:max-length-ms:<intentName>
:<slotName>
定義 Amazon Lex V2 在截斷語音輸入並將語音傳回至應用程式之前等待的時間長度。如果您預期回應較長,或是想讓客戶有更多時間提供資訊,則可以增加輸入的長度。
預設值:13,000 毫秒 (13 秒)。最大值為 15,000 毫秒(15 秒)
如果您將max-length-ms
屬性設定為超過 15,000 毫秒,該值將預設為 15,000 毫秒。
語音逾時
x-amz-lex:audio:start-timeout-ms:<intentName>
:<slotName>
在假設客戶不會說話之前,機器人會等待多長時間。在客戶可能需要更多時間來尋找或回收說話之前的資訊,您可以增加時間。例如,您可能希望讓客戶有時間取出信用卡,以便他們可以輸入號碼。
預設值:4,000 毫秒 (4 秒)
靜音逾時
x-amz-lex:audio:end-timeout-ms:<intentName>
:<slotName>
客戶停止說話以假設語音完成後,機器人會等待多長時間。您可以在預期提供輸入時靜音期間的情況下增加時間。
預設值:600 毫秒 (0.6 秒)
允許音訊輸入
x-amz-lex:allow-audio-input:<intentName>
:<slotName>
您可以啟用此屬性,以便機器人僅通過音頻模式接受用戶輸入。如果此標誌設置為 false,機器人將不接受音頻輸入。依預設,此值會設定為 true。
預設值:真
文字輸入逾時
使用下列工作階段屬性來指定您的機器人在文字交談模式下的行為方式。
此屬性位於x-amz-lex:text
命名空間中。
開始逾時臨界值
x-amz-lex:text:start-timeout-ms:<intentName>
:<slotName>
在重新提示客戶輸入文字之前,機器人會等待多久。如果您想讓客戶有更多時間尋找或召回資訊,然後再提供文字輸入,您可以增加時間。例如,您可能想讓客戶有更多時間尋找訂單的詳細資料。或者,您也可以降低臨界值,以提早提示客戶。
預設值:3 萬毫秒 (30 秒)
設定DTMF輸入的組態
使用下列工作階段屬性來指定 Amazon Lex V2 機器人在使用音訊交談時如何回應DTMF輸入。
所有這些屬性都在x-amz-lex:dtmf
命名空間中。
刪除字元
x-amz-lex:dtmf:deletion-character:<intentName>
:<slotName>
清除累積DTMF數DTMF字並立即結束輸入的字元。
預設值:*
結束字元
x-amz-lex:dtmf:end-character:<intentName>
:<slotName>
立即結束輸入的DTMF字元。如果使用者未按下此字元,則輸入會在結束逾時後結束。
預設值:#
結束逾時
x-amz-lex:dtmf:end-timeout-ms:<intentName>
:<slotName>
在假設輸入已經結束之前,機器人應該等待最後一個DTMF字符輸入的時間。
預設值:5000 毫秒 (5 秒)
每個話語的最大DTMF位數
x-amz-lex:dtmf:max-length:<intentName>
:<slotName>
語音中允許的最大DTMF位數。例如,您可以將此值設定為 16,以限制可輸入信用卡號碼的字元數。此值無法增加。
預設值:1024 個字元
允許DTMF輸入
您可以使用工作階段屬性來設定機器人可以接受的輸入類型。這些屬性由 Amazon Lex V2 定義。
x-amz-lex:allow-dtmf-input:<intentName>
:<slotName>
您可以啟用此屬性,以便機器人透過DTMF模式接受使用者輸入。如果這個標誌設置為 false,機器人將不接受DTMF輸入。依預設,此值會設定為 true。
預設值:真