自訂槽類型 - Amazon Lex V1

如果您使用的是 Amazon Lex V2,請改參閱 Amazon Lex V2 指南

 

如果您使用的是 Amazon Lex V1,我們建議您將機器人升級至 Amazon Lex V2。我們不再將新功能新增至 V1,並強烈建議對所有新機器人使用 V2。

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

自訂槽類型

對於每個意圖,您可以指定參數,指出意圖需要滿足使用者的請求的資訊。這些參數或槽,有一個類型。插槽類型是 Amazon Lex 用來訓練機器學習模型以辨識插槽值的值清單。例如,您可以定義一個稱為「Genres.」的槽類型,在該槽類型中的每個值都是一種流派的名稱,「喜劇」、「探險」、「紀錄片」,以此類推。您可以為槽類型值定義同義詞。例如,您可以為值「喜劇」定義同義詞「滑稽」和「幽默」。

您可以設定槽類型來限制槽值的解析。槽值會用作為列舉,並且只會在與其中一個槽值或同義詞相同時,才會將使用者輸入的值會解析為槽值。同義詞會解析為對應的槽值。例如,如果使用者輸入「滑稽」,它會解析為槽值「喜劇」。

您也可以設定槽類型來擴展該值。槽值會用作為訓練資料,並且只會在槽值和同義詞字類似時,才會將槽解析為使用者提供的值。這是預設行為。

Amazon Lex 會維護插槽的可能解析度清單。清單中的每個項目都提供解析度值,Amazon Lex 認為插槽的其他可能性。解析值是最符合槽值的項目。該清單最多可包含五個值。

當使用者輸入的值是同義詞時,解析值清單中的第一個項目是槽類型值。例如,如果使用者輸入「滑稽」,則 slots 欄位會包含「滑稽」而 slotDetails 欄位中的第一個項目是「喜劇」。您可以在使用 valueSelectionStrategy 操作建立或更新槽類型時設定 PutSlotType,如此一來槽值就會以解析清單中的第一個值填滿。

如果您使用的是 Lambda 函數,則函數的輸入事件會包含一個名為的解析度清單slotDetails。下列範例顯示 Lambda 函數輸入的插槽和插槽詳細資訊區段:

"slots": { "MovieGenre": "funny"; }, "slotDetails": { "Movie": { "resolutions": [ "value": "comedy" ] } }

對於每個槽類型,您最多可以定義 10,000 個值和同義詞。每個機器人總共可有 50,000 個槽類型值和同義詞。例如,您有 5 個槽類型,每個有 5,000 個值和同義詞,或您有 10 個槽類型,每個有 2,500 個值和同義詞。如果您超過這些限制,您在呼叫 PutBot 操作時會取得 LimitExceededException