本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自訂插槽類型
對於每個意圖,您可以指定參數,指出意圖需要滿足使用者的請求的資訊。這些參數或槽,有一個類型。插槽類型是 Amazon Lex V2 用來訓練機器學習模型以辨識插槽值的值清單。例如,您可以定義名為 Genres
「喜劇」,「冒險」,「紀錄片」等值的插槽類型。您可以定義插槽類型值的同義詞。例如,您可以為值「喜劇」定義同義詞「滑稽」和「幽默」。
您可以配置槽類型以展開槽值。插槽值將用作訓練資料,且如果槽值與這些值的同義字相似,則模型會將槽解析為使用者提供的值。這是預設行為。Amazon Lex V2 會維護插槽的可能解析度清單。清單中的每個項目都提供一個已解決的值,Amazon Lex V2 將其識別為插槽的其他可能性。解析值是符合槽值的最佳方法。該清單最多可包含五個值。
或者,您可以配置插槽類型,將解析度限制為槽值。在這種情況下,只有當模型與插槽值相同或是同義字時,才會將使用者輸入的槽值解析為現有槽值。例如,如果使用者輸入「滑稽」,它會解析為槽值「喜劇」。
當使用者輸入的值是槽類型值的同義詞時,模型會傳回該槽類型值作為清單中的第一個項目。resolvedValues
例如,如果使用者輸入「搞笑」,則模型會在originalValue
欄位中填入值「滑稽」,而在「已解決的 Values」欄位中的第一個項目填入「喜劇」。您可以在使用 valueSelectionStrategy
操作建立或更新槽類型時設定 CreateSlotType,如此一來槽值就會以解析清單中的第一個值填滿。
自訂插槽類型支援使用拼字樣式的輸入。您可以使用 spell-by-letter 和 spell-by-word 樣式來協助客戶輸入字母。如需詳細資訊,請參閱 在對話期間使用拼寫樣式捕獲插槽值。
如果您使用的是 Lambda 函數,則函數的輸入事件會包含一個名為的解析度清單resolvedValues
。下列範例顯示輸入至 Lambda 函數的插槽區段:
"slots": {
"MovieGenre": {
"value": {
"originalValue": "funny",
"interpretedValue": "comedy",
"resolvedValues": [
"comedy"
]
}
}
}
對於每個槽類型,您最多可以定義 10,000 個值和同義詞。每個機器人總共可有 50,000 個槽類型值和同義詞。例如,您有 5 個槽類型,每個有 5,000 個值和同義詞,或您有 10 個槽類型,每個有 2,500 個值和同義詞。
自訂插槽類型的名稱不應與內建插槽類型相同。例如,自訂插槽類型不應以「日期」、「編號」或「確認」的保留關鍵字命名。這些關鍵字保留給內置插槽類型。如需所有內建插槽類型的清單,請參閱內建插槽類型。