template

BOTの出力を定義するタグで、任意の文字列や子要素タグを記述できます。<template>タグは<category>タグ内に必ず1つだけ記述する必要があります。

属性

名称 必須 デフォルト 説明
id
独自拡張
string システム発話IDを指定します。
max_output属性, suppression_period属性を利用する場合、必須となります。
emotion
独自拡張
string システム発話の感情表現を指定します。
sound
独自拡張
string システム発話の効果音を指定します。
at
独自拡張
string start soundの再生タイミングを指定します。
timeout
独自拡張
integer APIレスポンスのタイムアウト(秒)を指定します。
max_output
独自拡張
integer システム発話の出力回数制限数を指定します。
suppression_period
独自拡張
integer システム発話の出力抑制期間(分)を指定します。
talkend
独自拡張
boolean APIレスポンスの発話終了フラグを指定します。

id

id属性を利用することで、<template>に発話IDを設定できます。発話IDは<category>タグの子要素の<that>タグで使用されます。
また、max_output属性, suppression_period属性を利用する場合、id属性は必須になります。

Example

emotion

システム発話の感情表現を指定します。
クライアント側で、emotionに応じたリアクションや、音声合成を行う際に使用します。

emotion属性で指定した値は、シナリオ対話APIのレスポンスパラメータに設定されます。

emotion属性は以下のいずれかを指定できます。

  • glad
  • angry
  • sad
  • happy

sound/at

システム発話の効果音(sound)と、再生タイミング(at)を指定します。
sound属性には、クライアント側であらかじめ準備した効果音を指定してください。

atsoundが指定されている場合のみ使用できます。

sound属性とat属性で指定した値は、シナリオ対話APIのレスポンスパラメータに設定されます。

at属性は以下のいずれかを指定できます。

  • start
  • middle
  • end

timeout

APIレスポンスのタイムアウト(秒)を記述します。

Example

xAIML

実行結果(JSON)

max_output

システム発話の出力回数制限数を記述します。出力回数制限数を超えると、その<template>id属性を持つ<category>タグはパターンマッチの対象から除外します。id属性が記述されていない場合、この属性は無効になります。

Example

xAIML

実行結果

suppression_period

システム発話の出力抑制期間(分)を記述します。1度出力したシステム発話は指定した時間(分)、パターンマッチの対象から除外されます。max_output属性と併用した場合は、出力抑制期間内であってもmax_output属性に指定した回数までは出力します。id属性が記述されていない場合、この属性は無効になります。

xAIML

実行結果

talkend

APIレスポンスの発話終了フラグを記述します。再帰処理などで、1度 trueになった場合はfalseになりません。

Example

xAIML

実行結果(JSON)

子要素

名称 必須 説明
bot あらかじめ登録してあるボットプロパティを取得します。
br シナリオ対話APIのレスポンスに、改行を挿入します。
calc 独自拡張 xAIML上で計算(加算・減算・乗算・除算・剰余)を行います。
command 独自拡張 xAIMLからクライアントに任意の情報を返却します。
condition Predicateの内容に応じて条件分岐を行います。
conditional_random
独自拡張
条件を満たした要素を出力候補とし、その中からランダムに出力内容を選択します。
date 日時を表示したり、特定の書式に変換します。
date_add 独自拡張 タグで囲んだ日時に対して加減算を行います。
date_span 独自拡張 タグで囲んだ日時と、属性で指定した日時の差の絶対値を計算します。
ext 独自拡張 AIML拡張のサービス(CGS)を利用する為に使用します。
eval <learn><learnf>の外から引用した値をリテラル化します。
<learn><learnf>内の<template>でのみ使用できます。
formal タグで囲んだ内容の単語の先頭文字を大文字にします。
get Predicateの値を取得します。
lowercase タグで囲んだ内容に含まれるアルファベットを、大文字から小文字にします。
map 特定の文字列をあらかじめ定義した辞書(MAPファイル)に基づいて置換します。
random ランダムに出力内容を選択します。
sentence タグで囲んだ内容の先頭文字を大文字にします。
set Predicateに値を記録します。
sr <pattern>のマッチングで行なった形態素解析結果を引き継いで<srai>します。
srai タグで囲んだ内容でパターンマッチを再度実行します。
sraix 指定したボットと対話を行います。
star <pattern>のワイルドカードシンボル(”*” or “_”)に一致した部分を抽出します。
that 文脈のある対話を実現するため直前のシステム発話を設定します。
thatstar <that>のワイルドカードシンボル(”*” or “_”)に一致した部分を抽出します。
think タグで囲んだ範囲の出力を抑制します。
topicstar <topic>のワイルドカードシンボル(”*” or “_”)に一致した部分を抽出します。
uppercase タグで囲んだ内容に含まれるアルファベットを、小文字から大文字にします。
utterance 独自拡張 シナリオ対話APIのレスポンスに、表示用テキストと音声合成用テキストを分けて設定します。