AIML - Balises de base

Dans ce didacticiel, nous aborderons les balises de base d'AIML.

  • <aiml> - définit le début et la fin d'un document AIML.

  • <category> - définit le unit of knowledge dans la base de connaissances d'Alicebot.

  • <pattern> - définit le modèle pour correspondre à ce qu'un utilisateur peut entrer dans un Alicebot.

  • <template> - définit la réponse d'un Alicebot à l'entrée de l'utilisateur.

Les fichiers AIML suivants ont été utilisés ici comme référence.

<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
   <category>
      <pattern> HELLO ALICE </pattern>
      
      <template>
         Hello User
      </template>
      
   </category>
</aiml>

Balise <aiml>

La balise <aiml> marque le début et la fin d'un document AIML. Il contient des informations de version et de codage sous les attributs de version et de codage. L'attribut version stocke la version AIML utilisée par ALICE chatterbot Knowledge Base, KB. Par exemple, nous avons utilisé la version 1.0.1. Cet attribut est facultatif.

Les attributs de codage fournissent les jeux de caractères à utiliser dans le document. Par exemple, nous avons utilisé UTF-8. Comme condition obligatoire, la balise <aiml> doit contenir au moins une balise <category>. Nous pouvons créer plusieurs fichiers AIML où chaque fichier AIML contient une seule balise <aiml>. Le but de chaque fichier AIML est d'ajouter au moins une seule unité de connaissances appelée catégorie à ALICE chatterbot KB.

<aiml version = "1.0.1" encoding = "UTF-8"?>
   ...
</aiml>

Balise <category>

La balise <category> est l'unité de connaissance fondamentale d'un bot ALICE. Chaque catégorie contient -

  • L'entrée utilisateur sous la forme d'une phrase qui peut être une assertion, une question et une exclamation, etc. L'entrée utilisateur peut contenir des caractères génériques comme * et _.

  • Réponse à l'entrée utilisateur présentée par Alicebot.

  • Contexte facultatif.

UNE <category> la balise doit avoir <pattern> et <template> marque. <pattern> représente l'entrée utilisateur et le modèle représente la réponse du bot.

<category>
   <pattern> HELLO ALICE </pattern>
   
   <template>
      Hello User
   </template>
   
</category>

Ici, si l'utilisateur entre Hello Alice alors le bot répondra comme Hello User.

Balise <pattern>

La balise <pattern> représente l'entrée d'un utilisateur. Il doit s'agir de la première balise de la balise <category>. La balise <pattern> peut contenir un caractère générique pour correspondre à plus d'une phrase comme entrée utilisateur. Par exemple, dans notre exemple, <pattern> contient HELLO ALICE.

AIML est insensible à la casse. Si un utilisateur entre Hello Alice, Hello Alice, HELLO ALICE etc., toutes les entrées sont valides et le bot les comparera à HELLO ALICE.

<category>
   <pattern> HELLO ALICE </pattern>
   
   <template>
      Hello User
   </template>
   
</category>

Ici, le modèle est "Hello User" et représente la réponse d'un robot à l'entrée de l'utilisateur.

Balise <template>

La balise <template> représente la réponse du bot à l'utilisateur. Il doit s'agir de la deuxième balise de la balise <category>. Cette balise <template> peut enregistrer des données, appeler un autre programme, donner des réponses conditionnelles ou déléguer à d'autres catégories.

<category>
   <pattern> HELLO ALICE </pattern>
   
   <template>
      Hello User
   </template>
   
</category>

Ici, le modèle est "Hello User" et représente la réponse d'un robot à l'entrée de l'utilisateur.