AIML - Tag <random>

<random>Tag é usada para obter respostas aleatórias. Essa tag permite que o AIML responda de maneira diferente para a mesma entrada. A tag <random> é usada junto com as tags <li>. <li> as tags contêm respostas diferentes que devem ser entregues ao usuário de forma aleatória.

Sintaxe

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

Por exemplo, considere a seguinte conversa.

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

Exemplo

Crie random.aiml dentro C > ab > bots > test > aiml e random.aiml.csv dentro C > ab > bots > test > aimlif diretórios.

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

Execute o programa

Abra o prompt de comando. Vamos paraC > ab > e digite o seguinte comando -

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

Verifique o resultado

Você verá a seguinte saída -

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

Aqui, a resposta pode variar considerando as respostas aleatórias.