ファイル仕様

自然対話プラットフォームが扱うファイルの仕様です。

ご注意

ファイル内容のフォーマットに、「xAIML形式」または「テキスト形式」と記載されているものは、文字コードをUTF-8BOM無し)としてください。

xAIMLファイル

ボットのシナリオを記述するファイルです。
1つのボットに対して、複数のxAIMLファイルを登録できます。

ファイル仕様

ファイル名 {シナリオID}.aiml
ファイル内容 フォーマット:xAIML形式
使用可能なxAIMLタグや、使用方法についてはこちらをご覧ください。

サンプル

xAIML

DATファイル

xAIMLファイルのコンパイル結果が格納されるファイルです。

ファイル仕様

ファイル名 {任意}.dat
ファイル内容 フォーマット:バイナリ形式
自然対話プラットフォームにより作成されるファイルです。

MAPファイル

xAIMLの<map>で置換する内容を記述するファイルです。
利用する際は、ファイル名に含まれるカテゴリ名を指定します。

ファイル仕様

ファイル名 {カテゴリ名}.map
ファイル内容 フォーマット:テキスト形式
置換する内容を以下の形式で記述します。複数記述する際は別の行に記述してください。
置換前1tab置換後1   tabはタブ文字に置き換えてください。
置換前2tab置換後2
置換前・置換後の文字列は以下に準拠してください。

 置換前:1~200文字
 置換後:1文字以上

ボットの言語がja-JPの場合、オプションでファイルの先頭行に正規化モードを指定できます。

 #mode:exact ヨミと品詞を付与しない
 #mode:surface ヨミと品詞を付与する(未指定時のデフォルト値)

サンプル

「アップル」を「りんご」に、「ストロベリー」を「いちご」に置換するサンプルです。

fruit.map
xAIML

SETファイル

xAIMLから利用できる辞書ファイルです。利用の際はカテゴリ名を指定します。

ファイル仕様

ファイル名 {カテゴリ名}.set
ファイル内容 フォーマット:テキスト形式
定義する内容を以下の形式で記述します。複数記述する際は別の行に記述してください。
文字列1
文字列2
文字列は1~200文字の間で記述してください。
   
ボットの言語がja-JPの場合、オプションで先頭行に正規化モードを指定できます。

 #mode:exact ヨミと品詞を付与しない
 #mode:surface ヨミと品詞を付与する(未指定時のデフォルト値)

サンプル

果物の辞書を定義するサンプルです。

fruit.set

NGワードファイル

システム発話におけるNGワードを定義するファイルです。
システム発話にNGワードが含まれる場合に、システム発話全体を代替回答で置き換えます。

また、NGワードファイル内に代替回答を定義するかによって使用する代替回答が異なります。

  • 定義する場合 … NGワードと同じ行に記述した代替回答を使用します。(代替回答ファイルは使用しません)
  • 定義しない場合 … 代替回答ファイルに定義されている中からランダムに使用します。
ご注意

NGワードファイル内で代替回答の定義有無を混在させることはできません。

ファイル仕様

ファイル名 {任意}.ng
ファイル内容 フォーマット:テキスト形式
定義する内容を以下の形式で記述します。複数記述する際は別の行に記述してください。
NGワード1tab代替回答1   tabはタブ文字に置き換えてください。
NGワード2tab代替回答2
※代替回答ファイルを利用する場合は以下のようにNGワードのみ記述してください。
NGワード1
NGワード2

サンプル

NGワードファイル内に代替回答を記述するサンプルです。
※代替回答ファイルを使用するサンプルは、代替回答ファイルのサンプルをご覧ください。

test.ng
システム発話例

代替回答ファイル

システム発話にNGワードが含まれる場合の代替回答を定義するファイルです。
代替回答を複数定義した場合は、ランダムに代替回答を選択します。

ファイル仕様

ファイル名 {任意}.ans
ファイル内容 フォーマット:テキスト形式
定義する内容を以下の形式で記述します。複数記述する際は別の行に記述してください。
代替回答1
代替回答2

サンプル

代替回答ファイルを使用してNGワードを置き換えるサンプルです。

test.ng
test.ans
システム発話例

ボット属性ファイル 

ボット属性を定義するファイルです。
ファイル一括アップロードまたはファイル一括ダウンロードでのみ利用できます。

ファイル仕様

ファイル名 botattr.properties
ファイル内容 フォーマット:テキスト形式
定義する内容を以下の形式で記述します。複数記述する際は別の行に記述してください。
キー1=値1
キー2=値2
定義できるボット属性は、後述のボット属性一覧をご覧ください。

ボット属性一覧(現時点で利用できる属性は1種類のみ)

キー
scope <sraix>による呼び出し設定を以下の4種類で指定します。
globalpublicprojectnull
publicprojectを指定したボットは、Frontボットとして使用できません。
指定内容に応じたプロジェクト内、プロジェクト外からの呼び出し可否およびFrontボットとしての使用可否については下表をご覧ください。

利用方法 \ スコープ global public project null
プロジェクト内からのsraix呼び出し ×
プロジェクト外からのsraix呼び出し × ×
Frontボット × ×

サンプル

ボット属性を定義するサンプルです。

botattr.properties

ボット設定ファイル

ボット設定を定義するファイルです。
ファイル一括アップロードまたはファイル一括ダウンロードでのみ利用できます。

ファイル仕様

ファイル名 botconf.properties
ファイル内容 フォーマット:テキスト形式
定義する内容を以下の形式で記述します。複数記述する際は別の行に記述してください。
キー1=値1
キー2=値2

ボット設定一覧

キー
DialogueTimeout 対話タイムアウトを設定します。
ReplyAgainTimeoutSec 聞き直しタイムアウトを設定します。
SensitiveInfoKey 秘匿情報キーを設定します。
xxx_Url サービスのURLを設定します。xxxには任意のサービス名を指定します。
(サービス名をweatherとする場合はweather_Urlとなります)
xxx_ConnectionRetry サービスの接続総試行回数を任意で設定します。
xxxには設定先のサービス(xxx_Url)で指定したサービス名を指定します。
xxx_ConnectionTimeoutSec サービスの接続タイムアウトを任意で設定します。
xxxには設定先のサービス(xxx_Url)で指定したサービス名を指定します。
xxx_ResponseTimeoutSec サービスの応答タイムアウトを任意で設定します。
xxxには設定先のサービス(xxx_Url)で指定したサービス名を指定します。

サンプル

ボット設定を定義するサンプルです。

botconf.properties

ボットプロパティファイル

ボットプロパティを定義するファイルです。
ファイル一括アップロードまたはファイル一括ダウンロードでのみ利用できます。

ファイル仕様

ファイル名 bot.properties
ファイル内容 フォーマット:テキスト形式
定義する内容を以下の形式で記述します。複数記述する際は別の行に記述してください。
キー1=値1
キー2=値2

サンプル

ボットプロパティを定義するサンプルです。

bot.properties

デフォルトPredicateファイル

デフォルトPredicateを定義するファイルです。
ファイル一括アップロードまたはファイル一括ダウンロードでのみ利用できます。

ファイル仕様

ファイル名 preddef.properties
ファイル内容 フォーマット:テキスト形式
定義する内容を以下の形式で記述します。複数記述する際は別の行に記述してください。
キー1=値1
キー2=値2

サンプル

デフォルトPredicateを定義するサンプルです。

bot.properties

GUIエディター用ユーザー辞書ファイル

ユーザー辞書を定義するファイルです。ボットエディタのGUIエディターでのみ利用できます。

ファイル仕様

ファイル名 {任意}.csv
ファイル内容 フォーマット:テキスト形式
グループ名、単語名ごとに別の言い方をカンマ区切りで記述してください。
複数記述する際は別の行に記述してください。
グループ名,単語名1,単語名1の別の言い方1,単語名1の別の言い方2,…
グループ名,単語名2,単語名2の別の言い方1,単語名2の別の言い方2,…

サンプル

グループ名「フルーツ」に、「いちご」と「りんご」の辞書を登録するサンプルです。

fruit.csv

GUIエディター用シナリオCSVファイル

ボットのシナリオを記述するCSVファイルです。ボットエディタのGUIエディターでのみ利用できます。

ファイル仕様

ファイル名 {ボットID}_scenario.csv
ファイル内容 フォーマット:テキスト形式
ボックスごとに定義する内容をカンマ区切りで記述します。複数記述する際は別の行に記述してください。
(1ファイルに記述できる行数は最大100行です。)
ID1,ボックスタイプ1,ラベル名1,入力条件1,発話内容1,覚える内容1,…
ID2,ボックスタイプ2,ラベル名2,入力条件2,発話内容2,覚える内容2,…
定義できる内容は、後述の設定内容一覧をご覧ください。

設定内容一覧

共通設定

項目
ID IDを任意の値で設定します。CSVアップロード時にシステムが自動で払い出すIDに置き換わります。
(IDが置き換わっても、リンクの設定で記載したボックスの接続線は保持されます。)
システム発話起点のIDはsystem.initと記述してください。
(システム発話起点の設定は1シナリオにつき1つだけできます。)
ボックスタイプ ボックスタイプを設定します。設定できるボックスタイプは以下です。
control-system-init          (システム発話起点)
control-user-init               (ユーザー発話起点)
system                                          (システム発話)
user                                               (ユーザー発話)
link                                               (リンク)
control-change-scenario (シナリオ遷移)

システム発話/ユーザー発話の設定

項目
ラベル名 ラベル名を任意の値で設定します。(設定なしも可)
入力条件 システム発話の入力条件を任意の値で設定します。(設定なしも可)
発話内容 発話内容を任意の値で設定します。(設定なしも可)
|(パイプ)、,(カンマ)、=(イコール)は発話内容として使用できません。
(発話内容に設定されたJSON内で,(カンマ)は使用可能です。)
覚える内容 覚える内容を任意の値で設定します。(設定なしも可)
ご注意
複数の入力条件、発話内容、覚える内容を設定したい場合は、|(パイプ)で区切ることで設定可能です。

辞書や変数、発話内容を引数として指定する場合は[ ]で囲う必要があります。
また、変数の記述は全て@(アットマーク)を先頭につける必要があります。

リンクの設定

項目
接続元ID 接続元IDを任意の値で設定します。
接続先ID 接続先IDを任意の値で設定します。
ご注意
ユーザー発話ボックス同士は接続できません。

シナリオ遷移の設定

項目
遷移先ID 遷移先シナリオIDを設定します。

サンプル

システム発話起点/システム発話/リンク/シナリオ遷移を定義するサンプルです。

CSV例
ID例
入力条件例
システム発話の発話内容例
ユーザー発話の発話内容例
覚える内容例