使用交談中的執行階段提示改善位置值的辨識 - Amazon Lex

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

使用交談中的執行階段提示改善位置值的辨識

透過執行階段提示,您可以根據情境為 Amazon Lex V2 提供一組插槽值,以便在音訊交談中獲得更好的辨識度,並改善插槽解析度。您可以使用執行階段提示來提供在執行階段成為解析位置值的候選片語清單。

例如,如果使用者與航班預訂機器人互動經常前往舊金山、雅加達、首爾和莫斯科,您可以在引出目的地時,使用這四個城市的清單來設定執行時提示,以提升經常旅行城市的辨識度。

執行階段提示僅提供英文 (美國) 和英文 (英國) 語言。它們可以與以下插槽類型一起使用:

  • 自訂插槽類型

  • AMAZON. 城市。

  • AMAZON. 國家。

  • AMAZON.FirstName

  • AMAZON.LastName

  • AMAZON. 狀態。

  • AMAZON.StreetName

運行時提示基礎

  • 只有在從使用者引出插槽值時,才會使用執行階段提示。

  • 當您使用執行階段提示時,提示的值會優先於類似的值。例如,對於食品訂購機器人,您可以將菜單項列表設置為運行時提示,同時引出自定義插槽中的食物項目,以使其更喜歡「魚片」而不是聽起來相似的「伙計」。

  • 如果使用者輸入與執行階段提示中提供的值不同,原始使用者輸入將用於插槽。

  • 對於自訂插槽類型,作為執行階段提示提供的值將用於解析插槽,即使它們在建立機器人時不屬於自訂位置的一部分。

  • 執行階段提示僅支援 8 個 kHz 音訊輸入。它們可透過 Amazon Lex V2 支援的客服中心整合功能來使用。Amazon Lex V2 主控台上測試視窗的音訊輸入不會提供執行階段提示,因為它使用 16 個 kHz 音訊輸入。

注意

您必須先重建機器人,才能將執行階段提示與現有機器人搭配使用。現有版本的機器人不支援執行階段提示。您必須創建一個新版本的機器人才能使用它們。

您可以使用PutSessionRecognizeTextStartConversation作業,將執行階段提示傳送至 Amazon Lex V2。RecognizeUtterance您也可以使用 Lambda 函數新增執行階段提示。

您可以在交談開始時傳送執行階段提示,以針對機器人中使用的每個插槽設定提示,也可以在交談期間傳送提示做為工作階段狀態的一部分。runtimeHints屬性會將插槽對應至該欄位的提示。

將執行階段提示傳送至 Amazon Lex V2 之後,它們會在交談的每一回合保留,直到工作階段結束為止。如果您傳送 null runtimeHints 結構,則會使用現有的提示。您可以通過以下方式修改提示:

  • 向機器人發送新runtimeHints結構。新結構的內容會取代現有結構。

  • 向機器人發送一個空的runtimeHints結構。這會清除機器人的執行階段提示。

在上下文中添加插槽值

當您的應用程式具有使用者下一個可能話語的相關資訊時,提供預期的位置值作為執行階段提示,為您的機器人新增上下文。將 Lambda 對話方塊程式碼掛接新增至您的機器人 (如整合 AWS Lambda 功能到你的機器人需詳細資訊,請參閱),並使用中的proposedNextState欄位AWS Lambda Lex V2 的輸入事件格式來決定您應包含哪些執行階段提示,以改善與使用者的交談。

例如,在銀行應用程序中,您可以為特定用戶生成帳戶暱稱列表,然後在引出用戶要訪問的帳戶時使用該列表。

當您有協助機器人解譯使用者輸入的內容時,會在交談開始時傳送執行階段提示。例如,如果您有使用者的電話號碼,您可以使用此資訊來查詢使用者,以便在您引導使用者名稱來驗證其認證時,可以使用PutSessionStartConversation作業將姓名提示傳送給機器人。

在交談期間,您可能會從一個插槽值收集資訊,以協助處理另一個插槽值。例如,在汽車護理應用程序中,當您擁有用戶的帳戶號碼時,您可以進行查找以查找客戶擁有的汽車,並將其作為提示傳遞給另一個插槽。

輸入首字母縮略詞,或其他字母應該單獨發音的單字,並以句點和空格分隔。除非它們是短語的一部分,否則請勿使用個別字母,例如「J.P. 摩根」或「A.W.S」。您可以使用大寫或小寫字母來定義縮寫。

將提示新增至插槽

若要將執行階段提示新增至插槽,您可以使用屬於runtimeHints結構一部分的sessionState結構。以下是結runtimeHints構的範例。它提供了兩個插槽的提示,FirstNameLastName"" 和 "MakeAppointment" 意圖。

{ "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 會傳回執行階段錯誤。