我正在学习AIML,并且已经看到了examples of the ,例如:
<category>
<pattern>DO YOU FIND ME ATTRACTIVE</pattern>
<template>
<condition name="gender">
<li value="male">I find you very handsome.</li>
<li value="female">I find you very pretty.</li>
<li>I find you very attractive.</li>
</condition>
</template>
</category>我想知道是否有形成合取或析取的方法。为了扩展这个示例,我希望输出不仅依赖于gender,还依赖于标志adult。
条件是否可以嵌套,或者我是否可以在修改变量时或条件之前使用<think>和<set>以获得相同的效果?我正在使用Pandorabots,以防它有任何扩展(尽管我在他们的文档中没有看到任何扩展)。
发布于 2021-11-21 14:08:34
你可以做嵌套条件,但这很快就会变得非常混乱,特别是当你有3到4个级别的时候。为此,我将使用要检查的谓词的内容设置一个var。为什么是一个var而不是一个名字?因为你不需要保留这个谓词。它只用于这个类别。Var在类别被激活后被刷新,而"name“谓词被保留以供其他类别使用。
<category>
<pattern>DO YOU FIND ME ATTRACTIVE</pattern>
<template>
<think>
<set var="check"><get name="gender"/> <get name="adult"/></set>
</think>
<condition var="check">
<li value="male yes">I find you very handsome.</li>
<li value="female yes">You are a very beautiful woman.</li>
<li value="male no">Yes, you are a handsome boy.</li>
<li value="female no">Yes, you are a very pretty girl.</li>
<li>I find you very attractive.</li>
</condition>
</template>
</category>https://stackoverflow.com/questions/70050601
复制相似问题