AIML - Balise <random>

<random>La balise est utilisée pour obtenir des réponses aléatoires. Cette balise permet à AIML de répondre différemment pour la même entrée. La balise <random> est utilisée avec les balises <li>. Les balises <li> contiennent différentes réponses qui doivent être fournies à l'utilisateur de manière aléatoire.

Syntaxe

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

Par exemple, considérez la conversation suivante.

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

Exemple

Créer random.aiml à l'intérieur C > ab > bots > test > aiml et random.aiml.csv à l'intérieur C > ab > bots > test > aimlif répertoires.

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

Exécuter le programme

Ouvrez l'invite de commande. Aller àC > ab > et tapez la commande suivante -

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

Vérifiez le résultat

Vous verrez la sortie suivante -

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

Ici, la réponse peut varier compte tenu des réponses aléatoires.