シナリオ関連ファイル仕様

ボットのシナリオに関連するファイルの仕様です。

ご注意

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

xAIMLファイル

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

ファイル仕様

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

サンプル

xAIML

MAPファイル

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

ファイル仕様

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

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

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

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

サンプル

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

fruit.map
xAIML

SETファイル

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

ファイル仕様

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

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

サンプル

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

fruit.set

FAQチャットボット用Excelファイル

質問とそれに対する回答を記述するExcelファイルです。
ボットエディタのFAQデータ編集でのみ利用できます。

ファイル仕様

ファイル名 {任意}.xlsx
ファイル内容 フォーマット:Excel形式 ファイルサイズ上限:10MB
質問とそれに対する回答を一覧形式でシートを分けて記述してください。
設定できるシートは以下です。
質問一覧
回答一覧
専門用語辞書
動詞ゆらぎ辞書
SETSファイル
各シートで定義できる内容は、後述をご覧ください。

質問一覧

項目
回答ページID/AnswerID 回答ページID/AnswerIDを任意の値で設定します。
回答ページIDは1~64文字の間で記述してください。
複数記述する際は別の行に記述してください。
回答ページID例
メール-001
メール-002
回答ページIDに-(ハイフン)と_(アンダースコア)以外の記号は入力できません。
真理表生成用質問文 真理表生成用質問文を任意の値で設定します。
真理表生成用質問文は1~200文字の間で記述してください。
複数記述する際は別の行に記述してください。
質問例
PCでメールを送りたい
携帯でメールを送りたい
ボットエディタのFAQデータ編集画面で「FAQデータ生成」を行うと、設定した質問文からキーが抽出されます。
※ キー抽出後の真理表は、エクスポートでダウンロードされるDataフォルダのtest_03_Shinrihyou.txtで確認できます。
上記の質問例から抽出されるキーは以下です。
PC メール 送る
携帯 メール 送る
表示用質問文/questionText 表示用質問文を任意の値で設定します。
表示用質問文は1~200文字の間で記述してください。
※ 表示用に質問文を変更しない場合、真理表生成用質問文と同じ文を設定してください。
聞き返しキー順フラグ 聞き返しキー順フラグを設定します。(設定なしも可)
設定できる値は以下です。
0 聞き返しキー順フラグ設定なし(未指定時のデフォルト値)
1 聞き返しキー順フラグ設定あり
ユーザ発話から抽出したキーが真理表のキーと一部マッチする場合、「<残りのキー>についての質問ですか?」と聞き返されます。
残りのキーの中で優先して聞き返したいキーを指定する場合に1を設定してください。
聞き返すキーの優先順は、真理表に表示されているキーの左から順に優先されます。
聞き返すキーの優先順を変更したい場合は、下記の例2のように「優先して聞き返したいキー(全角スペース)質問文」の形式で「真理表生成用質問文」に記載してください。
例1:聞き返しキー順フラグを利用しない場合
真理表生成用質問文
携帯でメールを送りたい(聞き返しキー順フラグ: 未指定 or 0)
真理表のキー
携帯 メール 送る
例2:聞き返しキー順フラグを利用した場合
真理表生成用質問文
メール 携帯でメールを送りたい(聞き返しキー順フラグ: 1)
真理表のキー
メール 携帯 送る

サンプル

質問一覧シートのサンプルです。

回答ページID/AnswerID 真理表生成用質問文 表示用質問文/questionText 聞き返しキー順フラグ
メール-001 メール PCでメールを送りたい PCでメールを送りたい 1
メール-002 携帯でメールを送りたい 携帯でメールを送りたい 0

回答一覧

項目
回答ページID/AnswerID 回答ページID/AnswerIDを任意の値で設定します。
回答ページIDは1~64文字の間で記述してください。
複数記述する際は別の行に記述してください。
回答ページID例
メール-001
メール-002
質問一覧に設定した「回答ページID/AnswerID」と紐付く値を設定してください。
IDが異なる場合、正しく回答が表示されません。
回答ページIDに-(ハイフン)と_(アンダースコア)以外の記号は入力できません。
表示文 回答の表示文を任意の値で設定します。
表示文は1~1000文字の間で記述してください。
複数記述する際は別の行に記述してください。
回答例
PCでのメールの送り方はこちらをご覧ください。
携帯でのメールの送り方はこちらをご覧ください。
閲覧回数(回) 回答の優先度を任意の数値で設定します。(設定なしも可)
閲覧回数は整数(マイナスも可)で記述してください。
回答の優先度は、ユーザ発話から抽出したキーと真理表のキーがマッチする数で決定されます。
マッチするキーの数が多い順に優先され、同数の場合は閲覧回数が多い方を優先します。
マッチするキーの数が同数で閲覧回数が未指定の場合は、DBに登録される順に優先されるため、回答一覧の表示順には依存しません。

サンプル

回答一覧シートのサンプルです。

回答ページID/AnswerID 表示文 閲覧回数(回)
メール-001 PCでのメールの送り方はこちらをご覧ください。 50
メール-002 携帯でのメールの送り方はこちらをご覧ください。 100

専門用語辞書

このシートでは、GUIエディターで利用するユーザ辞書ファイルと同様に、定義する内容を同じ行に以下の形式で記述します。
ユーザ辞書ファイルの詳細は、こちらをご覧ください。

項目
揺らぎ 正式名称に紐付ける単語を任意の値で設定します。(設定なしも可)
揺らぎは1~85文字の間で記述してください。
複数記述する際は別の行に記述してください。
正式名称 正式名称を任意の値で設定します。(設定なしも可)
正式名称は1~85文字の間で記述してください。
正式名称はスペースのみで登録しないでください。
正式名称に指定した単語自体がキーとして取得されないことがあるため、「揺らぎ」=「正式名称」を必ず設定してください。

サンプル

専門用語辞書シートのサンプルです。

揺らぎ 正式名称
PC PC
パソコン PC
パーソナルコンピュータ PC
携帯 携帯
携帯電話 携帯
スマホ 携帯
スマートフォン 携帯

動詞ゆらぎ辞書

このシートでは、「統一させたい真理表のキー」と「統一後の真理表のキー」を同じ行に以下の形式で記述します。
動詞ゆらぎ辞書シートを活用すると、異なるキーを同じ統一キーとしてみなし、拾える回答候補を広く設定できます。

項目
揺らぎ 統一キーに置き換えて認識させたい真理表のキーを設定します。(設定なしも可)
揺らぎは1~85文字の間で記述してください。
複数記述する際は別の行に記述してください。
ボットエディタのFAQデータ編集画面で「FAQデータ生成」を行うと、設定した質問文からキーが抽出されます。
※ キー抽出後の真理表は、エクスポートでダウンロードされるDataフォルダのtest_03_Shinrihyou.txtで確認できます。
揺らぎはスペースのみで登録せず、真理表に抽出されているキーを設定してください。
真理表に抽出されていない単語を設定してもキーとして取得されません。
統一キー 揺らぎに指定したキーを置き換える単語を設定します。(設定なしも可)
統一キーは1~85文字の間で記述してください。
統一キーはスペースのみで登録しないでください。
質問例
PCでメールを送りたい
携帯でメールを送りたい
画像を届けたい
上記の質問例から抽出されるキーは以下です。
PC メール 送る
携帯 メール 送る
画像 届ける
後述のサンプルを動詞ゆらぎ辞書に設定すると、抽出されるキーは以下に変更されます。
PC メール 送信
携帯 メール 送信
画像 送信
「送る」、「届ける」が「送信」として認識されるようになるため、「タブレットに送りたい」というユーザ発話が合った場合は「PCについての質問ですか?」と「携帯についての質問ですか?」と「画像についての質問ですか?」の全てが聞き返されます。

サンプル

動詞ゆらぎ辞書シートのサンプルです。

揺らぎ 統一キー
送る 送信
届ける 送信

SETSファイル

このシートでは、xAIMLで利用するSETファイルと同様に、定義する内容を同じ列に以下の形式で記述します。
SETファイルの詳細は、こちらをご覧ください。

項目
カテゴリ名 カテゴリ名を任意の値で設定します。(設定なしも可)
正規化モード 正規化モードを設定します。(設定なしも可)
設定できるモードは以下です。
#mode:exact ヨミと品詞を付与しない
#mode:surface ヨミと品詞を付与する(未指定時のデフォルト値)
単語名 カテゴリに紐付ける単語名を任意の値で設定します。(設定なしも可)
複数記述する際は別の行に記述してください。

サンプル

SETSファイルシートのサンプルです。

YES NO
#mode:surface #mode:surface
YES NO
yes no
Yes No
いえす のー
イエス ノー
はい いいえ
そう ちがう

サンプル

サンプルファイルは、こちらからダウンロードしてご利用ください。

ご注意
サンプルファイルはダウンロード後、必ず質問と回答のデータを入力してからアップロードを行ってください。

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

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

ファイル仕様

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

サンプル

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

fruit.csv

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

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

ファイル仕様

ファイル名 {ボットID}_scenario.csv
ファイル内容 フォーマット:テキスト形式(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 (シナリオ遷移)
external                                     (外部API連携)
control-system-init(システム発話起点)、control-user-init(ユーザ発話起点)以外のボックスタイプには、個別で設定が必要です。
個別で設定する内容は後述の設定内容をご覧ください。

ボックスタイプ:system(システム発話)/user(ユーザー発話)の設定

項目
ラベル名 ラベル名を任意の値で設定します。(設定なしも可)
入力条件 システム発話の入力条件を任意の値で設定します。(設定なしも可)
※現在、入力条件の値に|(パイプ)は使用できません。
 |(パイプ)を使用する場合は、アップロード後にGUIエディタ上で入力条件の変更を行ってください。
発話内容 発話内容を任意の値で設定します。(設定なしも可)
|(パイプ)、,(カンマ)、=(イコール)は発話内容として使用できません。
(発話内容に設定されたJSON内で,(カンマ)は使用可能です。)
覚える内容 覚える内容を任意の値で設定します。(設定なしも可)
LINE LINE用システム発話の設定を"[ ]"内にJSON形式で設定します。(設定なしも可)
JSON内で使用している"はエスケープします。
JSON例

設定内容については、LINEのMessaging APIリファレンスに従って記述してください。
設定できるメッセージタイプは以下です。

  • text          (テキスト)
  • sticker   (スタンプ)
  • image        (画像)
  • video        (動画)
  • audio        (音声)
  • location (位置情報)
  • buttons   (ボタン)
  • confirm   (確認)
  • json          (JSON)
ドコモAIエージェントAPIで利用できるアクションオブジェクトには制限があります。
詳細については、ドコモAIエージェントAPIへお問い合わせください。
my daiz my daiz用システム発話の設定を"[ ]"内にJSON形式で設定します。(設定なしも可)
JSON内で使用している"はエスケープします。
JSON例
設定できるメッセージタイプは以下です。

  • text           (テキスト)
  • media        (メディア)
  • button      (ボタン)
  • conpaund (カルーセル)
  • json           (JSON)
選択ボタン自動挿入 選択ボタン自動挿入を設定します。設定できる値は以下です。
0 (選択ボタン自動挿入なし)
1 (選択ボタン自動挿入あり)
ご注意
複数の入力条件、発話内容、覚える内容、LINEを設定したい場合は、|(パイプ)で区切ることで設定可能です。

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

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

ボックスタイプ:control-change-scenario(シナリオ遷移)の設定

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

ボックスタイプ:external(外部API連携)の設定

項目
ラベル名 ラベル名を任意の値で設定します。(設定なしも可)
入力条件 入力条件を任意の値で設定します。(設定なしも可)
※現在、入力条件の値に|(パイプ)は使用できません。
 |(パイプ)を使用する場合は、アップロード後にGUIエディタ上で入力条件の変更を行ってください。
発話内容 APIリクエストでエラーが発生した場合、応答を発話するかを設定します。
設定できる発話内容は以下です。

  • text (応答を発話する)
  • none (発話しない)
エラー発生時の発話内容 エラー発生時の発話内容を任意の値で設定します。(設定なしも可)
発話内容にnone (発話しない)を設定した場合は、値を設定してもエラー発生時に発話されません。
リクエストメソッド リクエストメソッドを設定します。設定できるリクエストメソッドは以下です。

  • GET
  • POST
  • PUT
  • DELETE
  • PATCH
リクエストURL 接続先APIのリクエストURLを任意の値で設定します。
リクエストヘッダー リクエストヘッダーを" "内にJSON形式で設定します。
JSON内で使用している"はエスケープします。
JSON例
リクエストボディ リクエストボディを" "内にJSON形式で設定します。
JSON内で使用している"はエスケープします。
JSON例
保存するレスポンス内容 保存するレスポンス内容を任意の値で設定します。(設定なしも可)
ご注意
複数の入力条件、保存するレスポンス内容を設定したい場合は、|(パイプ)で区切ることで設定可能です。

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

サンプル

システム発話起点/システム発話(LINE設定なし、my daiz設定あり)/システム発話(LINE設定あり、my daiz設定なし)/リンク/シナリオ遷移/外部API連携を定義するサンプルです。

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