対話モデルのスキーマ
Note: Sign in to the developer console to build or publish your skill.
対話モデルのスキーマ
対話モデルのリソースは、開発者コンソールやスキルビルダーを使って作成した場合と同じ構造です。対話モデルは、ASK CLIコマンドや対話モデルAPI操作を使って作成や変更を行うことができます。
関連トピック: Alexa Skills KitコマンドラインインターフェースとAlexaスキル管理APIの概要
対話モデル
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
languageModel | オブジェクト | スキルの会話型プリミティブです | ◯ |
dialog | オブジェクト | ユーザーとのマルチターンのダイアログを行うためのルールです | × |
prompts | 配列 | スキルに代わってユーザーに対してデータを要求したり、フィードバックを提供したりするための実行条件です | × |
languageModel
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
invocationName | 文字列 | スキルの呼び出し名です | ◯ |
intents | 配列 | インテントとそのスロットです | ◯ |
types | 配列 | カスタムスロットタイプです | × |
languageModel_intents
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
name | 文字列 | インテント名です | ◯ |
slots | 配列 | インテント内のスロットのリストです | × |
samples | 配列 | インテントのサンプル発話です | × |
slots
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
name | 文字列 | スロット名です | ◯ |
type | 文字列 | スロットタイプです | ◯ |
samples | 配列 | スロットのサンプル発話です | × |
types
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
name | 文字列 | カスタムスロットタイプ名です | ◯ |
values | 配列 | スロットの代表的な値のリストです | ◯ |
value
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
id | 文字列 | カスタムスロットタイプの値のIDです | ◯ |
name | オブジェクト | カスタムスロットタイプの値の記述です | ◯ |
values_name
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
value | 文字列 | カスタムスロットタイプの値です | ◯ |
values_synonyms
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
value | 文字列 | カスタムスロットタイプの値です | ◯ |
synonyms | 配列 | カスタムスロットタイプの値に入力されると考えられる同義語のリストです | × |
dialog
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
intents | 配列 | 関連付けられたダイアログルールを持つインテントのリストです。 | ◯ |
delegationStrategy | 文字列 | このスキルのダイアログが自動的にAlexaにデリゲートされるかどうかを指定します。ALWAYS (スキル全体で自動デリゲートがオン)またはSKILL_RESPONSE (スキル全体で自動デリゲートがオフ)にできます。この設定は、インテントレベルで上書きできます。 |
dialog_intents
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
name | 文字列 | ダイアログルールを持つインテントの名前です | ◯ |
delegationStrategy | 文字列 | このインテントのダイアログが自動的にAlexaにデリゲートされるかどうかを指定します。ALWAYS (このインテントで自動デリゲートがオン)またはSKILL_RESPONSE (インテントで自動デリゲートがオフ)にできます。このプロパティが存在しない場合、インテントはスキルレベルのdelegationStrategy を使用します。 |
|
slots | 配列 | このインテント内でダイアログルールを持つスロットのリストです | × |
confirmationRequired | ブール値 | インテントの確認が必要かどうかの記述です | × |
prompts | Map | このインテントのプロンプトのコレクションです | × |
dialog_intent_prompt_type
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
confirmation | 文字列 | 確認プロンプトIDを参照するdialog_intentsマップ内の列挙値です | × |
dialog_slots
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
name | 文字列 | ダイアログインテント内のスロットの名前です | ◯ |
type | 文字列 | ダイアログインテント内のスロットのタイプです | ◯ |
elicitationRequired | ブール値 | スロットの要求が必要かどうかの記述です | × |
confirmationRequired | ブール値 | スロットの確認が必要かどうかの記述です | × |
prompts | Map | このスロットのプロンプトのコレクションです | × |
validations | 配列 | このスロットの検証ルールのリストです | × |
dialog_slot_validations
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
type | 文字列 | 検証ルールのタイプを参照する列挙値です。検証ルールを参照してください | ◯ |
prompt | 文字列 | この検証ルールのプロンプトのセットを参照するIDです | ◯ |
validation
オブジェクトには、利用可能な検証に固有の追加プロパティが含まれます。検証ルールを参照してください。
dialog_slot_prompt_type
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
elicitation | 文字列 | 要求プロンプトIDを参照するdialog_slotsマップ内の列挙値です | × |
confirmation | 文字列 | 確認プロンプトIDを参照するdialog_slotsマップ内の列挙値です | × |
prompts
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
id | 文字列 | プロンプトのIDです | ◯ |
variations | 配列 | プロンプトのバリエーションのリストです | ◯ |
variations
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
type | 列挙 | 以下のいずれかになります。 「PlainText」または「SSML」 | ◯ |
value | 文字列 | プロンプトとしてAlexaが読み上げるテキストです | ◯ |
対話モデルのスキーマのサンプル
以下のスキーマサンプルには、3つの標準ビルトインインテント、2つのカスタムインテント、1つのダイアログモデル、1つのカスタムスロットタイプが含まれます。
{
"interactionModel": {
"languageModel": {
"invocationName": "宇宙の豆知識",
"intents": [
{
"name": "AMAZON.CancelIntent",
"samples": []
},
{
"name": "AMAZON.HelpIntent",
"samples": []
},
{
"name": "AMAZON.StopIntent",
"samples": []
},
{
"name": "GetNewFactIntent",
"slots": [],
"samples": [
"豆知識を教えて",
"豆知識を挙げて"
]
},
{
"name": "GetTravelTime",
"slots": [
{
"name": "DepartingPlanet",
"type": "Planet",
"samples": [
"{DepartingPlanet}から出発します ",
"{DepartingPlanet} ",
"{DepartingPlanet}から{ArrivingPlanet}まで行きます "
]
},
{
"name": "ArrivingPlanet",
"type": "Planet",
"samples": [
"{ArrivingPlanet}に行きます",
"{ArrivingPlanet} "
]
}
],
"samples": [
"所要時間を計算して",
"{DepartingPlanet}から{ArrivingPlanet}までの所要時間はどれくらいですか "
]
}
],
"types": [
{
"name": "Planet",
"values": [
{
"name": {
"value": "水星"
}
},
{
"name": {
"value": "金星"
}
},
{
"name": {
"value": "地球"
}
},
{
"name": {
"value": "火星"
}
},
{
"name": {
"value": "木星"
}
},
{
"name": {
"value": "土星"
}
},
{
"name": {
"value": "天王星"
}
},
{
"name": {
"value": "海王星"
}
},
{
"name": {
"value": "冥王星"
}
}
]
}
]
},
"dialog": {
"intents": [
{
"name": "GetTravelTime",
"confirmationRequired": false,
"prompts": {},
"slots": [
{
"name": "DepartingPlanet",
"type": "Planet",
"confirmationRequired": false,
"elicitationRequired": true,
"prompts": {
"elicitation": "Elicit.Intent-GetTravelTime.IntentSlot-DepartingPlanet"
},
"validations": [
{
"type": "isNotInSet",
"prompt": "Slot.Validation.596358663326.282490667310.1526107495625",
"values": [
"太陽",
"おひさま",
"われわれの太陽"
]
},
{
"type": "hasEntityResolutionMatch",
"prompt": "Slot.Validation.596358663326.282490667310.1366622834897"
}
]
},
{
"name": "ArrivingPlanet",
"type": "Planet",
"confirmationRequired": false,
"elicitationRequired": true,
"prompts": {
"elicitation": "Elicit.Intent-GetTravelTime.IntentSlot-ArrivingPlanet"
}
}
]
}
],
"delegationStrategy": "ALWAYS"
},
"prompts": [
{
"id": "Elicit.Intent-GetTravelTime.IntentSlot-DepartingPlanet",
"variations": [
{
"type": "PlainText",
"value": "どの惑星から出発しますか?"
}
]
},
{
"id": "Elicit.Intent-GetTravelTime.IntentSlot-ArrivingPlanet",
"variations": [
{
"type": "PlainText",
"value": "どの惑星まで行きますか?"
}
]
},
{
"id": "Slot.Validation.596358663326.282490667310.1526107495625",
"variations": [
{
"type": "PlainText",
"value": "太陽についての質問にはお答えできません。惑星についてだけお答えできます。惑星の名前を言ってください。"
},
{
"type": "PlainText",
"value": "太陽は私たちの太陽系の中心ですが、惑星ではありません。惑星の名前を言ってください。"
}
]
},
{
"id": "Slot.Validation.596358663326.282490667310.1366622834897",
"variations": [
{
"type": "PlainText",
"value": "{DepartingPlanet}は惑星ではありません。太陽系の9個の惑星のどれかを言ってください。"
},
{
"type": "PlainText",
"value": "{DepartingPlanet}を太陽系の惑星の1つと認識していません。惑星の名前を言ってください。"
}
]
}
]
}
}