設定 Lex V2 機器人的意圖內容 - Amazon Lex

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

設定 Lex V2 機器人的意圖內容

您可以根據內容讓 Amazon Lex 觸發意圖。內容是狀態變數,可在您定義機器人時與意圖建立關聯。當您使用主控台或使用 CreateIntent 操作建立意圖時,您可以設定意圖的內容。您只能在英文 (美國) (美國) 地區設定中使用內容。

內容、輸出內容和輸入內容有兩種關係類型。當滿足相關聯的意圖時,輸出內容會變成作用中。輸出內容會從 RecognizeTextRecognizeUtterance 操作傳回至您的應用程式,並針對目前的工作階段設定。啟用內容後,它會在定義內容時設定的轉彎次數或時間限制內保持作用中狀態。

輸入內容會指定可辨識意圖的條件。只有當所有輸入內容都處於作用中狀態時,才能在對話期間辨識意圖。沒有輸入內容的意圖一律符合辨識資格。

Amazon Lex 會透過輸出內容滿足意圖,自動管理已啟用內容的生命週期。您也可以在呼叫 RecognizeTextRecognizeUtterance操作時設定作用中內容。

您也可以使用 Lambda 函數來設定對話的內容。來自 Amazon Lex 的輸出內容會傳送至 Lambda 函數輸入事件。Lambda 函數可以在回應中傳送內容。如需詳細資訊,請參閱將 AWS Lambda 函數整合到您的機器人

例如,假設您有意預訂已設定為傳回名為 "book_car_fulfilled" 的輸出內容的租車。滿足意圖時,Amazon Lex 會設定輸出內容變數 "book_car_fulfilled"。由於 "book_car_fulfilled" 是主動內容,只要使用者表達內容被識別為引出該意圖的嘗試,則「book_car_fulfilled」內容集為輸入內容的意圖現在會視為可辨識。您可以將此用於只有在預訂車輛之後才有意義的意圖,例如透過電子郵件傳送收據或修改保留。

Lex V2 機器人意圖的輸出內容

Amazon Lex 會在滿足意圖時,讓意圖的輸出內容處於作用中狀態。您可以使用輸出內容來控制符合追蹤目前意圖資格的意圖。

每個內容都有在工作階段中維護的參數清單。參數是已實現意圖的槽值。您可以使用這些參數來預先填入其他意圖的槽值。如需詳細資訊,請參閱 在 Lex V2 機器人的意圖中使用預設槽值

當您使用主控台或 CreateIntent 操作建立意圖時,您可以設定輸出內容。您可以使用多個輸出內容來設定意圖。滿足意圖時,所有輸出內容都會啟用並在 RecognizeTextRecognizeUtterance 回應中傳回。

當您定義輸出內容時,您也會定義其存留時間、內容包含在 Amazon Lex 回應中的時間長度或周轉數。彎是從您的應用程式向 Amazon Lex 提出的請求。一旦輪換次數或時間過期,內容就不再處於作用中狀態。

您的應用程式可以視需要使用輸出內容。例如,您的應用程式可以使用輸出內容來:

  • 根據內容變更應用程式的行為。例如,旅行應用程式的內容 "book_car_fulfilled" 可能具有與 "rental_hotel_fulfilled" 不同的動作。

  • 將輸出內容傳回至 Amazon Lex,做為下一個表達式的輸入內容。如果 Amazon Lex 將表達詞識別為嘗試引出意圖,則會使用內容來限制可以傳回給具有指定內容的意圖。

Lex V2 機器人意圖的輸入內容

您可以設定輸入內容來限制對話中辨識意圖的點。沒有輸入內容的意圖一律符合辨識資格。

您可以使用主控台或 CreateIntent操作設定意圖回應的輸入內容。意圖可以有多個輸入內容。

對於具有多個輸入內容的意圖,所有內容都必須處於作用中狀態,才能觸發意圖。您可以在呼叫 RecognizeTextRecognizeUtterancePutSession 操作時設定輸入內容。

您可以設定 中的槽,以從目前作用中內容取得預設值。當 Amazon Lex 辨識到新的意圖,但未收到槽值時,會使用預設值。當您定義槽#context-name.parameter-name時,請以 形式指定內容名稱和槽名稱。如需詳細資訊,請參閱在 Lex V2 機器人的意圖中使用預設槽值