本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
透過執行時間提示,您可以根據內容為 Amazon Lex V2 提供一組槽值,以在音訊對話中獲得更好的辨識能力,並改善槽解析度。您可以使用執行時間提示,在執行時間提供片語清單,這些片語會成為解決槽值的候選項目。
例如,如果與航班保留機器人互動的使用者經常前往舊金山、雅加達、首爾和莫斯科,您可以在引出目的地時,使用這四個城市的清單來設定執行時間提示,以改善對經常旅行城市的辨識。
執行期提示僅提供英文 (美國) 和英文 (英國) 語言。它們可與下列槽類型搭配使用:
-
自訂槽類型
-
AMAZON.City
-
AMAZON.Country
-
AMAZON.FirstName
-
AMAZON.LastName
-
AMAZON.State
-
AMAZON.StreetName
執行期提示基本概念
-
執行期提示只會在從使用者引出槽值時使用。
-
當您使用執行期提示時,提示的值會優先於類似值。例如,對於食品訂購機器人,您可以將選單項目的清單設定為執行期提示,同時在自訂槽中引出食品項目,以偏好 “fillet” 而非類似的聽起來 “fella”。
-
如果使用者輸入與執行時間提示中提供的值不同,則會使用原始使用者輸入做為插槽。
-
對於自訂插槽類型,提供做為執行期提示的值將用於解析插槽,即使它們在機器人建立期間不屬於自訂插槽。
-
只有 8 kHz 音訊輸入才支援執行期提示。它們可與 Amazon Lex V2 支援的聯絡中心整合搭配使用。Amazon Lex V2 主控台上的測試視窗不會提供音訊輸入的執行期提示,因為它使用 16 kHz 音訊輸入。
注意
您必須先重建機器人,才能將執行時間提示與現有機器人搭配使用。現有版本的機器人不支援執行期提示。您必須建立新的機器人版本才能使用。
您可以使用 PutSession、RecognizeText、RecognizeUtterance 或 StartConversation 操作,將執行期提示傳送至 Amazon Lex V2。您也可以使用 Lambda 函數新增執行期提示。
您可以在對話開始時傳送執行時間提示,以設定機器人中使用的每個槽的提示,或在對話期間傳送提示做為工作階段狀態的一部分。runtimeHints
屬性會將插槽映射到該插槽的提示。
將執行期提示傳送至 Amazon Lex V2 後,它們會在對話的每個回合中持續存在,直到工作階段結束為止。如果您傳送 null runtimeHints
結構,則會使用現有的提示。您可以透過以下方式修改提示:
-
將新
runtimeHints
結構傳送至機器人。新結構的內容會取代現有的結構。 -
將空的
runtimeHints
結構傳送至機器人。這會清除機器人的執行時間提示。
在內容中新增槽值
當您的應用程式具有使用者下一個可能表達用語的相關資訊時,透過提供預期的槽值作為執行期提示來新增機器人的內容。將 Lambda 對話方塊程式碼掛鉤新增至您的機器人 (如需將 AWS Lambda 函數整合到您的機器人詳細資訊,請參閱 ),並使用 中的 proposedNextState 欄位AWS Lambda Lex V2 的輸入事件格式來判斷您應該包含的執行時間提示,以改善與使用者的對話。
例如,在銀行應用程式中,您可以為特定使用者產生帳戶暱稱清單,然後在引出使用者想要存取的帳戶時使用清單。
當您有內容時,請在對話開始時傳送執行時間提示,以協助機器人解譯使用者輸入。例如,如果您有使用者的電話號碼,您可以使用此資訊來查詢使用者,以便如果您要請求使用者的名稱來驗證其登入資料,您可以使用 PutSession
或 StartConversation
操作將名字和姓氏提示傳遞給機器人。
在對話期間,您可能會從一個插槽值收集資訊,有助於處理另一個槽值。例如,當您擁有使用者帳號時,您可以在汽車維護應用程式中進行查詢,以尋找客戶擁有的汽車,並將它們作為提示傳遞到另一個槽。
輸入縮寫,或字母應個別發音的其他單字,以句點和空格分隔。請勿使用個別字母,除非它們是片語的一部分,例如「J. P. Morgan」或「A.W.S」。您可以使用大寫或小寫字母來定義縮寫。
將提示新增至插槽
若要將執行時間提示新增至插槽,您可以使用runtimeHints
屬於結構一部分的sessionState
結構。以下是 runtimeHints
結構的範例。它為「MakeAppointment」意圖提供「FirstName」和「LastName」兩個槽的提示。
{
"sessionState": {
"intent": {},
"activeContexts": [],
"dialogAction": {},
"originatingRequestId": {},
"sessionAttributes": {},
"runtimeHints": {
"slotHints": {
"MakeAppointment": {
"FirstName": {
"runtimeHintValues": [
{
"phrase": "John"
},
{
"phrase": "Mary"
}
]
},
"LastName": {
"runtimeHintValues": [
{
"phrase": "Stiles"
},
{
"phrase": "Major"
}
]
}
}
}
}
}
}
您也可以使用 Lambda 函數在對話期間新增執行時間提示。若要新增執行時間提示,請將runtimeHints
結構新增至 Lambda 函數傳送至 Amazon Lex V2 的回應工作階段狀態。如需詳細資訊,請參閱AWS Lambda Lex V2 的回應格式。
您必須在請求slotName
中指定有效的 intentName
和 ,否則 Amazon Lex V2 會傳回執行時間錯誤。