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!


示例

C > ab > bots > test > aiml中创建random.aiml 和C > 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


执行程序

打开命令提示符.转到 C> 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!


在此,考虑到随机回复,回复可能会有所不同.