翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
JSON Lex V2 でボットをインポートおよびエクスポートするための形式
リソースの部分を記述するJSON構造を含む .zip ファイルを使用して、Amazon Lex V2 からボット、ボットロケール、またはカスタム語彙をインポートおよびエクスポートします。リソースをエクスポートすると、Amazon Lex V2 は .zip ファイルを作成し、Amazon S3 の署名付き を使用して使用できるようにしますURL。リソースをインポートするときは、 JSON構造を含む .zip ファイルを作成し、S3 の署名付き にアップロードする必要がありますURL。
Amazon Lex は、ボットをエクスポートするときに、.zip ファイルに以下のようなディレクトリ構造を作成します。ボットロケールをエクスポートする際、ロケールの下の構造のみがエクスポートされます。カスタム語彙をエクスポートすると、カスタム語彙の下の構造だけがエクスポートされます。
BotName
_BotVersion
_ExportID
_LexJson.zip -or-BotName
_BotVersion
_LocaleId
_ExportId
_LEX_JSON.zip --> manifest.json -->BotName
----> Bot.json ----> BotLocales ------>Locale_A
--------> BotLocale.json --------> Intents ---------->Intent_A
------------> Intent.json ------------> Slots -------------->Slot_A
----------------> Slot.json -------------->Slot_B
----------------> Slot.json ---------->Intent_B
... --------> SlotTypes ---------->SlotType_A
------------> SlotType.json ---------->SlotType_B
... --------> CustomVocabulary ------------> CustomVocabulary.json ------>Locale_B
...
マニフェストファイル構造
マニフェストファイルには、エクスポートファイルのメタデータが含まれています。
{ "metadata": { "schemaVersion": "1.0", "fileFormat": "LexJson", "resourceType": "
Bot
|BotLocale
|CustomVocabulary
" } }
ボットファイル構造
ボットファイルには、ボットの設定情報が含まれています。
{ "name": "
BotName
", "identifier": "identifier
", "version": "number
", "description": "description
", "dataPrivacy": { "childDirected":true
|false
}, "idleSessionTTLInSeconds":seconds
}
ボットロケールファイル構造
ボットロケールファイルには、ボットのロケールまたは言語に関する説明が含まれています。ボットをエクスポートする際、.zip ファイルに複数のボットロケールファイルが存在する可能性があります。ボットロケールをエクスポートする際、zip ファイルにはロケールが 1 つだけ含まれます。
{ "name": "
locale name
", "identifier": "locale ID
", "version": "number
", "description": "description
", "voiceSettings": { "voiceId": "voice
", "engine": "standard | neural
}, "nluConfidenceThreshold":number
}
インテントファイル構造
インテントファイルには、インテントの設定情報が含まれています。.zip ファイルには、特定のロケールのインテントごとに 1 つのインテントファイルがあります。
以下は、サンプル BookTrip ボットのイン BookCar テントのJSON構造の例です。インテントのJSON構造の完全な例については、CreateIntent「」オペレーションを参照してください。
{ "name": "BookCar", "identifier": "891RWHHICO", "description": "Intent to book a car.", "parentIntentSignature": null, "sampleUtterances": [ { "utterance": "Book a car" }, { "utterance": "Reserve a car" }, { "utterance": "Make a car reservation" } ], "intentConfirmationSetting": { "confirmationPrompt": { "messageGroupList": [ { "message": { "plainTextMessage": { "value": "OK, I have you down for a {CarType} hire in {PickUpCity} from {PickUpDate} to {ReturnDate}. Should I book the reservation?" }, "ssmlMessage": null, "customPayload": null, "imageResponseCard": null }, "variations": null } ], "maxRetries": 2 }, "declinationResponse": { "messageGroupList": [ { "message": { "plainTextMessage": { "value": "OK, I have cancelled your reservation in progress." }, "ssmlMessage": null, "customPayload": null, "imageResponseCard": null }, "variations": null } ] } }, "intentClosingSetting": null, "inputContexts": null, "outputContexts": null, "kendraConfiguration": null, "dialogCodeHook": null, "fulfillmentCodeHook": null, "slotPriorities": [ { "slotName": "DriverAge", "priority": 4 }, { "slotName": "PickUpDate", "priority": 2 }, { "slotName": "ReturnDate", "priority": 3 }, { "slotName": "PickUpCity", "priority": 1 }, { "slotName": "CarType", "priority": 5 } ] }
スロットファイル構造
スロットファイルには、インテント内のスロットの設定情報が含まれています。特定のロケールのスロットごとに、.zip ファイル内に 1 つのスロットファイルがあります。
次の例は、サンプル BookTrip ボットのイン BookCar テントでレンタルする車のタイプを顧客が選択できるようにするスロットのJSON構造です。スロットのJSON構造の完全な例については、CreateSlot「」オペレーションを参照してください。
{ "name": "CarType", "identifier": "KDHJWNGZGC", "description": "Type of car being reserved.", "multipleValuesSetting": { "allowMutlipleValues": false }, "slotTypeName": "CarTypeValues", "obfuscationSetting": null, "slotConstraint": "Required", "defaultValueSpec": null, "slotValueElicitationSetting": { "promptSpecification": { "messageGroupList": [ { "message": { "plainTextMessage": { "value": "What type of car would you like to rent? Our most popular options are economy, midsize, and luxury" }, "ssmlMessage": null, "customPayload": null, "imageResponseCard": null }, "variations": null } ], "maxRetries": 2 }, "sampleValueElicitingUtterances": null, "waitAndContinueSpecification": null, } }
次の例は、複合スロットのJSON構造を示しています。
{ "name": "CarType", "identifier": "KDHJWNGZGC", "description": "Type of car being reserved.", "multipleValuesSetting": { "allowMutlipleValues": false }, "slotTypeName": "CarTypeValues", "obfuscationSetting": null, "slotConstraint": "Required", "defaultValueSpec": null, "slotValueElicitationSetting": { "promptSpecification": { "messageGroupList": [ { "message": { "plainTextMessage": { "value": "What type of car would you like to rent? Our most popular options are economy, midsize, and luxury" }, "ssmlMessage": null, "customPayload": null, "imageResponseCard": null }, "variations": null } ], "maxRetries": 2 }, "sampleValueElicitingUtterances": null, "waitAndContinueSpecification": null, }, "subSlotSetting": { "slotSpecifications": { "firstname": { "valueElicitationSetting": { "promptSpecification": { "allowInterrupt": false, "messageGroupsList": [ { "message": { "imageResponseCard": null, "ssmlMessage": null, "customPayload": null, "plainTextMessage": { "value": "please provide firstname" } }, "variations": null } ], "maxRetries": 2, "messageSelectionStrategy": "Random" }, "defaultValueSpecification": null, "sampleUtterances": [ { "utterance": "my name is {firstName}" } ], "waitAndContinueSpecification": null }, "slotTypeId": "AMAZON.FirstName" }, "eyeColor": { "valueElicitationSetting": { "promptSpecification": { "allowInterrupt": false, "messageGroupsList": [ { "message": { "imageResponseCard": null, "ssmlMessage": null, "customPayload": null, "plainTextMessage": { "value": "please provide eye color" } }, "variations": null } ], "maxRetries": 2, "messageSelectionStrategy": "Random" }, "defaultValueSpecification": null, "sampleUtterances": [ { "utterance": "eye color is {eyeColor}" }, { "utterance": "I have eyeColor eyes" } ], "waitAndContinueSpecification": null }, "slotTypeId": "7FEVCB2PQE" } }, "expression": "(firstname OR eyeColor)" } }
スロットタイプファイル構造
スロットタイプファイルには、言語またはロケールで使用されるカスタムスロットタイプの設定情報が含まれています。特定のロケールのカスタムスロットタイプごとに、.zip ファイル内に 1 つのスロットタイプがあります。
以下は、 BookTrip サンプルボットで利用可能な車のタイプを一覧表示するスロットタイプのJSON構造です。スロットタイプのJSON構造の完全な例については、 CreateSlotTypeオペレーションを参照してください。
{ "name": "CarTypeValues", "identifier": "T1YUHGD9ZR", "description": "Enumeration representing possible types of cars available for hire", "slotTypeValues": [{ "synonyms": null, "sampleValue": { "value": "economy" } }, { "synonyms": null, "sampleValue": { "value": "standard" } }, { "synonyms": null, "sampleValue": { "value": "midsize" } }, { "synonyms": null, "sampleValue": { "value": "full size" } }, { "synonyms": null, "sampleValue": { "value": "luxury" } }, { "synonyms": null, "sampleValue": { "value": "minivan" } }], "parentSlotTypeSignature": null, "valueSelectionSetting": { "resolutionStrategy": "TOP_RESOLUTION", "advancedRecognitionSetting": { "audioRecognitionStrategy": "UseSlotValuesAsCustomVocabulary" }, "regexFilter": null } }
次の例は、複合スロットタイプのJSON構造を示しています。
{ "name": "CarCompositeType", "identifier": "TPA3CC9V", "description": null, "slotTypeValues": null, "parentSlotTypeSignature": null, "valueSelectionSetting": { "regexFilter": null, "resolutionStrategy": "CONCATENATION" }, "compositeSlotTypeSetting": { "subSlots": [ { "name": "model", "slotTypeId": "MODELTYPEID" # custom slot type Id for model }, { "name": "city", "slotTypeId": "AMAZON.City" }, { "name": "country", "slotTypeId": "AMAZON.Country" }, { "name": "make", "slotTypeId": "MAKETYPEID" # custom slot type Id for make } ] } }
以下は、カスタム文法を使用して顧客の発話を理解するスロットタイプです。詳細については、「文法スロットタイプ」を参照してください。
{ "name": "custom_grammar", "identifier": "7KEAQIQKPX", "description": "Slot type using a custom grammar", "slotTypeValues": null, "parentSlotTypeSignature": null, "valueSelectionSetting": null, "externalSourceSetting": { "grammarSlotTypeSetting": { "source": { "kmsKeyArn": "arn:aws:kms:
Region
:123456789012
:alias/customer-grxml-key", "s3BucketName": "grxml-test", "s3ObjectKey": "grxml_files/grammar.grxml" } } } }
カスタム語彙ファイル構造
カスタム語彙ファイルには、単一言語またはロケールのカスタム語彙のエントリが含まれます。.zip ファイルには、カスタム語彙を含むロケールごとに 1 つのカスタム語彙ファイルがあります。
以下は、レストランの注文を受けるボット用のカスタム語彙ファイルです。ボットにはロケールごとに 1 つのファイルがあります。
{
"customVocabularyItems": [
{
"weight": 3,
"phrase": "wafers"
},
{
"weight": null,
"phrase": "extra large"
},
{
"weight": null,
"phrase": "cremini mushroom soup"
},
{
"weight": null,
"phrase": "ramen"
},
{
"weight": null,
"phrase": "orzo"
}
]
}