本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以建立特定語言的自訂詞彙,為 Amazon Lex V2 提供如何處理與機器人的音訊對話的詳細資訊。自訂詞彙是您希望 Amazon Lex V2 在音訊輸入中辨識的特定片語清單。這些是 Amazon Lex V2 無法辨識的正式名詞或特定網域字詞。
例如,假設您有技術支援機器人。您可以將「備份」新增至自訂詞彙,以協助機器人將音訊正確轉錄為「備份」,即使音訊聽起來像「封裝」。自訂詞彙也有助於辨識音訊中罕見的單字,例如金融服務的「solvency」或適當的名詞,例如「Cognito」或「Monitron」。
自訂詞彙基本概念
Amazon Lex V2 使用自訂詞彙來引出意圖和插槽。相同的自訂詞彙檔案用於意圖和槽。當您新增插槽類型時,您可以選擇關閉插槽的自訂詞彙功能。
引出意圖 – 您可以建立自訂詞彙來引出意圖。當您的機器人判斷使用者的意圖時,這些片語會用來轉錄。例如,如果您在自訂詞彙中設定了「備份」片語,Amazon Lex V2 會將使用者輸入轉錄為「可以請備份我的相片嗎?」,即使音訊聽起來像「可以請封裝我的相片」。您可以設定 0、1、2 或 3 的權重,指定每個片語的提升程度。您也可以新增displayAs
欄位,為最終語音到文字輸出中的片語指定替代表示。
用於在意圖引出期間改善轉錄的自訂詞彙片語不會影響引出槽時的轉錄。如需建立自訂詞彙以引發意圖的詳細資訊,請參閱 建立用於引發意圖和槽的自訂詞彙。
引出自訂插槽 – 您可以使用自訂詞彙來改善音訊對話的插槽辨識。若要改善 Amazon Lex V2 機器人辨識槽值的能力,請建立自訂槽並將槽值新增至自訂槽,然後選擇使用槽值做為自訂詞彙。槽值的範例包括產品名稱、目錄或適當的名詞。您不應該在自訂詞彙中使用常見的單字或片語,例如「是」和「否」。
新增槽值後,這些值會用於在機器人預期輸入自訂槽時改善槽辨識。引出意圖時,這些值不會用於轉錄。如需詳細資訊,請參閱新增槽類型。
建立自訂詞彙的最佳實務
引出意圖
-
自訂詞彙最適合用來將特定字組或詞組設成目標。只有在 Amazon Lex V2 無法輕易辨識字詞時,才能將字詞新增至自訂詞彙。
-
根據文字記錄中無法辨識字詞的頻率,以及文字在輸入中有多罕見,決定給予字詞的權重。難以發音的單字需要更高的權重。
-
使用代表性測試集來判斷權重是否適當。您可以在對話日誌中開啟音訊記錄,以收集音訊測試集。
-
避免在自訂詞彙中使用短字,例如 "on、"it、"to、"yes、"no"。
引出自訂插槽
-
將值新增至您預期可辨識的自訂插槽類型。新增自訂槽類型的所有可能槽值,無論槽值有多常見或多罕見。
-
只有在自訂槽類型包含目錄值或實體清單,例如產品名稱或互惠基金時,才啟用 選項。
-
如果槽類型用於擷取一般片語,例如 "是"、"否"、"不知道"、"可能" 或一般單字,例如 "一"、"二"、"三",請停用選項。
-
將槽值和同義詞的數量限制為 500 個或更少,以獲得最佳效能。
輸入縮寫或其他單字,其字母應個別以句號和空格分隔的單一字母顯示。請勿使用個別字母,除非它們是片語的一部分,例如「J. P. Morgan」或「A. W. S.」。 您可以使用大寫或小寫字母來定義縮寫。
建立用於引發意圖和槽的自訂詞彙
您可以使用 Amazon Lex V2 主控台來建立和管理自訂詞彙,也可以使用 Amazon Lex V2 API 操作。透過主控台建立自訂詞彙有 2 種方式:
在主控台中匯入自訂詞彙:
-
在 https://console.aws.amazon.com/lexv2/home
:// 開啟 Amazon Lex V2 主控台 -
從機器人清單中,選擇您要新增自訂詞彙的機器人。
-
在機器人詳細資訊頁面上,從新增語言區段中,選擇檢視語言。
-
從語言清單中,選擇要新增自訂詞彙的語言。
直接透過主控台建立新的自訂詞彙:
-
在語言詳細資訊頁面的自訂詞彙區段中按一下建立。這將開啟編輯視窗,而沒有自訂詞彙。
-
視需要新增片語、DisplayAs 和權重的輸入。您可以更新欄位或從清單中刪除項目,進一步對新增的項目進行內嵌編輯。
-
按一下儲存。請注意:只有在您按一下儲存後,新的自訂詞彙才會儲存在您的機器人中。
-
您可以在此頁面中繼續進行內嵌編輯,並在完成時按一下儲存。
-
此頁面也可讓您從右上角的下拉式功能表匯入、匯出和刪除自訂詞彙檔案。
使用 ListCustomVocabularyItems
API 來檢視自訂詞彙項目:
-
使用
ListCustomVocabularyItems
操作來檢視自訂詞彙項目。請求內文會如下所示:{ "maxResults": number, "nextToken": "string" }
-
請注意,
maxResults
和nextToken
是請求內文的選用欄位。 -
ListCustomVocabularyItems
操作的回應如下所示:{ "botId": "string", "botVersion": "string", "localeId": "string", "customVocabularyItems": [ { "itemId": "string", "phrase": "string", "weight": number, "displayAs": "string" } ] }
使用 BatchCreateCustomVocabularyItem
API 建立新的自訂詞彙項目:
-
如果您機器人的地區設定尚未建立自訂詞彙,請依照步驟使用 StartImport 建立自訂詞彙。
-
建立自訂詞彙之後,請使用
BatchCreateCustomVocabularyItem
操作建立新的自訂詞彙項目。請求內文會如下所示:{ "customVocabularyItemList": [ { "phrase": "string", "weight": number, "displayAs": "string" } ] }
-
請注意,
weight
和displayAs
是請求內文的選用欄位。 -
的回應
BatchCreateCustomVocabularyItem
如下所示:{ "botId": "string", "botVersion": "string", "localeId": "string", "errors": [ { "itemId": "string", "errorMessage": "string", "errorCode": "string" } ], "resources": [ { "itemId": "string", "phrase": "string", "weight": number, "displayAs": "string" } ] }
-
由於這是批次操作,因此如果其中一個項目無法建立,請求將不會失敗。錯誤清單將包含為什麼該特定項目的操作失敗的相關資訊。資源清單將包含成功建立的所有項目。
-
對於
BatchCreateCustomVocabularyItem
,您可以預期會看到以下類型的錯誤:-
RESOURCE_DOES_NOT_EXIST
:自訂詞彙不存在。呼叫此操作之前,請遵循建立自訂詞彙的步驟。 -
DUPLICATE_INPUT
:輸入清單包含重複的片語。 -
RESOURCE_ALREADY_EXISTS
:您自訂詞彙中已存在項目的指定片語。 -
INTERNAL_SERVER_FAILURE
:處理請求時後端發生錯誤。這可能表示服務中斷或其他問題。
-
使用 BatchDeleteCustomVocabularyItem
API 刪除現有的自訂詞彙項目:
-
如果您機器人的地區設定尚未建立自訂詞彙,請遵循使用 StartImport 建立自訂詞彙的步驟來建立詞彙。
-
建立自訂詞彙之後,請使用
BatchDeleteCustomVocabularyItem
操作來刪除現有的自訂詞彙項目。請求內文會如下所示:{ "customVocabularyItemList": [ { "itemId": "string" } ] }
-
的回應
BatchDeleteCustomVocabularyItem
如下所示:{ "botId": "string", "botVersion": "string", "localeId": "string", "errors": [ { "itemId": "string", "errorMessage": "string", "errorCode": "string" } ], "resources": [ { "itemId": "string", "phrase": "string", "weight": number, "displayAs": "string" } ] }
-
由於這是批次操作,如果其中一個項目無法刪除,則請求不會失敗。錯誤清單將包含為什麼該特定項目的操作失敗的相關資訊。資源清單將包含已成功刪除的所有項目。
-
對於
BatchDeleteCustomVocabularyItem
,您可以預期會看到以下類型的錯誤:-
RESOURCE_DOES_NOT_EXIST
:您嘗試刪除的自訂詞彙項目不存在。 -
INTERNAL_SERVER_FAILURE
:處理請求時後端發生錯誤。這可能表示服務中斷或其他問題。
-
使用 BatchUpdateCustomVocabularyItem
API 更新現有的自訂詞彙項目:
-
如果您機器人的地區設定尚未建立自訂詞彙,請遵循使用 StartImport 建立自訂詞彙以建立自訂詞彙的步驟。
-
建立自訂詞彙之後,請使用
BatchUpdateCustomVocabularyItem
操作來更新現有的自訂詞彙項目。請求內文會如下所示:{ "customVocabularyItemList": [ { "itemId": "string", "phrase": "string", "weight": number, "displayAs": "string" } ] }
-
請注意,
weight
和displayAs
是請求內文的選用欄位。 -
的回應
BatchUpdateCustomVocabularyItem
如下所示:{ "botId": "string", "botVersion": "string", "localeId": "string", "errors": [ { "itemId": "string", "errorMessage": "string", "errorCode": "string" } ], "resources": [ { "itemId": "string", "phrase": "string", "weight": number, "displayAs": "string" } ] }
-
由於這是批次操作,如果其中一個項目無法刪除,則請求不會失敗。錯誤清單將包含為什麼該特定項目的操作失敗的資訊。資源清單將包含已成功更新的所有項目。
-
對於
BatchUpdateCustomVocabularyItem
,您可以預期會看到以下類型的錯誤:-
RESOURCE_DOES_NOT_EXIST
:您嘗試更新的自訂詞彙項目不存在。 -
DUPLICATE_INPUT
:輸入清單包含重複itemIds。 -
RESOURCE_ALREADY_EXISTS
:您自訂詞彙中已存在項目的指定片語。 -
INTERNAL_SERVER_FAILURE
:處理請求時後端發生錯誤。這可能表示服務中斷或其他問題。
-
建立自訂詞彙檔案
自訂詞彙檔案是標籤分隔的值清單,其中包含要辨識的片語、要提升的權重,以及將取代語音文字記錄中的片語displayAs
的欄位。提升值較高的詞組在音訊輸入中出現時,更有可能使用。
自訂詞彙檔案必須命名為 CustomVocabulary.tsv
,且必須在 zip 檔案中壓縮後才能匯入。zip 檔案的大小必須小於 300 MB。自訂詞彙中的片語數目上限為 500。
-
應該辨識的片語 1-4 個單字。用空格分隔片語中的單字。您無法在 檔案中有重複的片語。片語欄位為必要欄位。
-
weight – 字詞辨識提升的程度。值為整數 0、1、2 或 3。如果您未指定權重,預設值為 1。根據文字記錄中無法辨識字詞的頻率,以及輸入中字詞的罕見程度,決定權重。權重 0 表示不會套用提升,且項目只會用於使用
displayAs
欄位執行取代。 -
displayAs – 定義您希望片語在轉錄輸出中看起來的方式。這是自訂詞彙中的選用欄位。
自訂詞彙檔案必須包含標頭列,其中包含標頭「片語」、「權重」和「displayAs」。標頭可以按任何順序排列,但必須遵循上述命名法。
下列範例是自訂詞彙檔案。分隔片語、權重和 displayAs 所需的標籤字元以文字「【TAB】」表示。如果您使用此範例,請將文字取代為標籤字元。
phrase[TAB]weight[TAB]displayAs
Newcastle[TAB]2
Hobart[TAB]2[TAB]Hobart, Australia
U. Dub[TAB]1[TAB]University of Washington, Seattle
W. S. U.[TAB]3
Issaquah
Kennewick