システム発話の出力制限を行う方法をご紹介します。
実装方法1
<template>
のmax_output
属性を指定することで、システム発話の出力回数制限を定義することができます。
ご注意
id
属性を指定しない場合、max_output
属性は無効となります。xAIML(max_output
属性例)
1 2 3 4 5 6 7 8 9 |
<category> <pattern>こんにちは</pattern> <template id="aisatu" max_output="1">こんにちは。</template> </category> <category> <pattern>*</pattern> <template id="test">はじめまして。</template> </category> |
実行結果
1 2 3 4 5 6 |
user > こんにちは bot > こんにちは。 user > こんにちは bot > はじめまして。 user > こんにちは bot > はじめまして。 |
実装方法2
<template>
のsuppression_period
属性で指定した時間(分)、システム発話の出力を制限することができます。
ご注意
id
属性を指定しない場合、suppression_period
属性は無効となります。xAIML(suppression_period
属性例)
1 2 3 4 5 6 7 8 9 |
<category> <pattern>こんにちは</pattern> <template id="aisatu" suppression_period="2">こんにちは。</template> </category> <category> <pattern>*</pattern> <template id="test">はじめまして。</template> </category> |
実行結果
1 2 3 4 5 6 7 |
user > こんにちは bot > こんにちは。 user > こんにちは bot > はじめまして。 <-- 2分後 --> user > こんにちは bot > こんにちは。 |
実装方法3
<li>
でも同様のことが可能です。
xAIML(<li>
例)
1 2 3 4 5 6 7 8 9 |
<category> <pattern>出力制限確認</pattern> <template> <random> <li id="01" max_output="1">1度だけ出力します。</li> <li id="02" suppression_period="1">出力後、1分間抑制します。</li> </random> </template> </category> |
実行結果
1 2 3 4 5 6 7 8 9 10 11 |
user > 出力制限確認 bot > 1度だけ出力します。 user > 出力制限確認 bot > 出力後、1分間抑制します。 user > 出力制限確認 bot > NOMATCH <-- 1分後 --> user > 出力制限確認 bot > 出力後、1分間抑制します。 user > 出力制限確認 bot > NOMATCH |