AIML <random>标签

<random>标签用于获取随机响应。 此标记使AIML能够针对相同的输入做出不同的响应。 <random>标签与<li>标签一起使用。 <li>标签设置每个不同的响应,这些响应将随机传递给用户。

语法

<random>
   <li> pattern1 </li>
   <li> pattern2 </li>
   ...
   <li> patternN </li>
</random>

例如,请考虑以下对话。

Human: Hi
Robot: Hello!
Human: Hi
Robot: Hi! Nice to meet you!

示例

D:/software/ab/bots/test/aiml 目录中创建一个文件:random.aiml,并在D:/software/ab/bots/test/aimlif 目录中创建一个文件:random.aiml.csv

文件:random.aiml

<?xml version = 1.0 encoding = UTF-8?>
<aiml version = 1.0.1 encoding =UTF-8?>
   <category>
      <pattern>HI</pattern>

      <template>
         <random>
            <li> Hello! </li>
            <li> Hi! Nice to meet you! </li>
         </random>
      </template>

   <category>      
</aiml>

文件:random.aiml.csv

0,HI,*,*, <random><li> Hello! </li><li> Hi! Nice to meet you! </li></random>,random.aiml

执行程序

打开命令提示符。 进入目录:D:/software/ab 并键入以下命令 -

java -cp lib/Ab.jar Main bot = test action = chat trace = false

执行上面示例代码后,将得到以下结果 -

Human: Hi
Robot: Hi! Nice to meet you!
Human: Hi
Robot: Hello!

这里,响应可以根据随机响应而变化。