独自拡張 xAIML独自のタグです。
<predstore>
タグは、同一プロジェクト内の複数のボットで共有できるストレージ(PredicateStore)で、JSON形式のデータを作成・編集することができます。<predstore>
タグで保存したデータは、システム発話を返した後も継続して保存されます。データの作成・編集は、PredicateStore記法およびPredicateStore関数を使用して行います。
ご注意
<predstore>
タグ内で改行を行う場合は、インデント文字に半角・全角スペースが混在しないようにしてください。登録される値にそれらが含まれる可能性があります。インデントを行う場合はタブ文字を使用してください。※aiml全般でインデントはタブ文字推奨です。
意図した値の登録がされない場合は改行せずに使用してください。
ポイント
PredicateStore記法のうち、^
記法や@
記法を使用すると、複数プロジェクト間でPredicateStoreを共有することができます。
記法例
1 2 3 4 5 6 7 |
<category> <pattern>predstore</pattern> <template> <think><predstore>family.father=太郎</predstore></think> <predstore>family.father</predstore> </template> </category> |
1 2 |
user > predstore bot > 太郎 |
関数例
1 2 3 4 5 6 7 |
<category> <pattern>predstore</pattern> <template> <think><predstore>family.children=$(一郎 二郎)</predstore></think> <predstore>family.children.contains(一郎)</predstore> </template> </category> |
1 2 |
user > predstore bot > TRUE |
属性
属性を持ちません。
子要素
名称 | 必須 | 説明 |
---|---|---|
bot |
– | あらかじめ登録してあるボットプロパティを取得します。 |
get |
– | Predicateの値を取得します。 |
matcher |
– | <li> タグのregex 属性で定義した正規表現にマッチした部分文字列を抽出します。 |
sr |
– | <pattern> のマッチングで行なった形態素解析結果を引き継いで<srai> します。 |
star |
– | <pattern> のワイルドカードシンボル(”*” or “_”)に一致した部分を抽出します。 |
bot
あらかじめ登録してあるボットプロパティを取得できます。
詳細はこちらをご覧ください。
get
Predicateの値を取得します。
詳細はこちらをご覧ください。
matcher
<li>
タグのregex
属性で定義した正規表現にマッチした部分文字列を抽出します。
詳細はこちらをご覧ください。
ご注意
<li>
タグ配下時のみ使用できます。
sr
<pattern>
のマッチングで行なった形態素解析結果を引き継いで<srai>
します。
詳細はこちらをご覧ください。
star
<pattern>
のワイルドカードシンボル(*
or _
)に一致した部分を抽出します。
詳細はこちらをご覧ください。