対話モデルのスキーマ

対話モデルのスキーマ(スキル管理API)

対話モデルのリソースは、開発者コンソールスキルビルダーを使って作成した場合と同じ構造です。対話モデルは、ASK CLIコマンド対話モデルAPI操作を使って作成や変更を行うことができます。

関連トピック:Alexa Skills KitコマンドラインインターフェースとAlexaスキル管理APIの概要

対話モデル

フィールド 説明 必須
languageModel object スキルの会話型プリミティブです
dialog object ユーザーとのマルチターンのダイアログを行うためのルールです ×
prompts 配列 スキルに代わってユーザーに対してデータを要求したり、フィードバックを提供したりするためのキューです ×

languageModel

フィールド 説明 必須
invocationName 文字列 スキルの呼び出し名
intents 配列 インテントとそのスロットです
types 配列 カスタムスロットタイプです ×

languageModel_intents

フィールド 説明 必須
name 文字列 インテント名です
slots 配列 インテント内のスロットのリストです ×
samples 配列 インテントのサンプル発話です ×

slots

フィールド 説明 必須
name 文字列 スロット名です
type 文字列 スロットタイプです
samples 配列 スロットのサンプル発話です ×

types

フィールド 説明 必須
name 文字列 カスタムスロットタイプ名です
values 配列 スロットの代表的な値のリストです

value

フィールド 説明 必須
id 文字列 カスタムスロットタイプの値のIDです
name object カスタムスロットタイプの値の記述です

values_name

フィールド 説明 必須
value 文字列 カスタムスロットタイプの値です

values_synonyms

フィールド 説明 必須
value 文字列 カスタムスロットタイプの値です
synonyms 配列 カスタムスロットタイプの値に入力されると考えられる同義語のリストです ×

dialog

フィールド 説明 必須
intents 配列 関連付けられたダイアログルールを持つインテントのリストです

dialog_intents

フィールド 説明 必須
name 文字列 ダイアログルールを持つインテントの名前です
slots 配列 このインテント内でダイアログルールを持つスロットのリストです ×
confirmationRequired ブーリアン インテントの確認が必要かどうかの記述です ×
prompts マップ このインテントのプロンプトのコレクションです ×

dialog_intent_prompt_type

フィールド 説明 必須
confirmation 文字列 確認プロンプトIDを参照するdialog_intentsマップ内の列挙値です ×

dialog_slots

フィールド 説明 必須
name 文字列 ダイアログインテント内のスロットの名前です
type 文字列 ダイアログインテント内のスロットのタイプです
elicitationRequired ブーリアン スロットの要求が必要かどうかの記述です ×
confirmationRequired ブーリアン スロットの確認が必要かどうかの記述です ×
elicitation 文字列 このスロット値が存在しない場合に使用するprompt-idへの参照です ×
confirmation 文字列 スロット値の確認に使用するprompt-idへの参照です ×
prompts マップ このスロットのプロンプトのコレクションです ×

dialog_slot_prompt_type

フィールド 説明 必須
elicitation 文字列 要求プロンプトIDを参照するdialog_slotsマップ内の列挙値です ×
confirmation 文字列 確認プロンプトIDを参照するdialog_slotsマップ内の列挙値です ×

prompts

フィールド 説明 必須
id 文字列 プロンプトのIDです
variations 配列 プロンプトのバリエーションのリストです。テキスト文字列か、正しく定義されたSSML文字列のいずれかです

対話モデルのスキーマのサンプル

以下のスキーマサンプルには、3つの標準ビルトインインテント、2つのカスタムインテント、1つのダイアログモデル、1つのカスタムスロットタイプが含まれます。

{
  "languageModel": {
    "invocationName": "my space facts",
    "intents": [
      {
        "name": "AMAZON.CancelIntent",
        "slots": [],
        "samples": []
      },
      {
        "name": "AMAZON.HelpIntent",
        "slots": [],
        "samples": []
      },
      {
        "name": "AMAZON.StopIntent",
        "slots": [],
        "samples": []
      },
      {
        "name": "GetNewFactIntent",
        "slots": [],
        "samples": [
          "Give me a fact",
          "tell me a fact"
        ]
      },
      {
        "name": "GetTravelTime",
        "slots": [
          {
            "name": "DepartingPlanet",
            "type": "Planet",
            "samples": [
              "I'm starting from {DepartingPlanet} ",
              "{DepartingPlanet} ",
              "I'm going from {DepartingPlanet} to {ArrivingPlanet} "
            ]
          },
          {
            "name": "ArrivingPlanet",
            "type": "Planet",
            "samples": [
              "I'm going to {ArrivingPlanet} ",
              "{ArrivingPlanet} "
            ]
          }
        ],
        "samples": [
          "calculate travel time",
          "how long does it take to travel from {DepartingPlanet} to {ArrivingPlanet} "
        ]
      }
    ],
    "types": [
      {
        "name": "Planet",
        "values": [
          {
            "id": "",
            "name": {
              "value": "Mercury",
              "synonyms": []
            }
          },
          {
            "id": "",
            "name": {
              "value": "Venus",
              "synonyms": []
            }
          },
          {
            "id": "",
            "name": {
              "value": "Earth",
              "synonyms": []
            }
          },
          {
            "id": "",
            "name": {
              "value": "Mars",
              "synonyms": []
            }
          },
          {
            "id": "",
            "name": {
              "value": "Jupiter",
              "synonyms": []
            }
          },
          {
            "id": "",
            "name": {
              "value": "Saturn",
              "synonyms": []
            }
          },
          {
            "id": "",
            "name": {
              "value": "Uranus",
              "synonyms": []
            }
          },
          {
            "id": "",
            "name": {
              "value": "Neptune",
              "synonyms": []
            }
          },
          {
            "id": "",
            "name": {
              "value": "Pluto",
              "synonyms": []
            }
          }
        ]
      }
    ]
  },
  "dialog": {
    "intents": [
      {
        "name": "GetTravelTime",
        "confirmationRequired": false,
        "prompts": {},
        "slots": [
          {
            "name": "DepartingPlanet",
            "type": "Planet",
            "confirmationRequired": false,
            "elicitationRequired": true,
            "prompts": {
              "elicitation": "Elicit.Intent-GetTravelTime.IntentSlot-DepartingPlanet"
            }
          },
          {
            "name": "ArrivingPlanet",
            "type": "Planet",
            "confirmationRequired": false,
            "elicitationRequired": true,
            "prompts": {
              "elicitation": "Elicit.Intent-GetTravelTime.IntentSlot-ArrivingPlanet"
            }
          }
        ]
      }
    ]
  },
  "prompts": [
    {
      "id": "Elicit.Intent-GetTravelTime.IntentSlot-DepartingPlanet",
      "variations": [
        {
          "type": "PlainText",
          "value": "Which planet are you starting from?"
        }
      ]
    },
    {
      "id": "Elicit.Intent-GetTravelTime.IntentSlot-ArrivingPlanet",
      "variations": [
        {
          "type": "PlainText",
          "value": "Which planet are you going to?"
        }
      ]
    }
  ]
}