|
Le projet Carole est une tentative de création d'une personnalité AIML générique. L'expression "personnalité générique" recèle une contradiction : il sera difficile de doter Carole d'une personnalité qui lui soit propre, et en même temps, de créer des fichiers AIML génériques réutilisables par la communauté francophone. Il y'a quand même un moyen de le faire : séparer les catégories spécifiques à la personnalité de Carole des autres catégories (en créant des fichiers séparés : categories.aiml et categories_carole.aiml) et utiliser au maximum les propriétés dans les templates pour rendre la réutilisation des fichiers AIML non seulement possible mais facile. Qu'est-ce qu'une propriété en AIML ? Une propriété est un couple de données {nom;valeur} réutilisable à l'intérieur d'une balise <bot name="champ" /> Ex : nom = mere valeur = Alice Voir la fiche sur la balise bot : <bot name="XXX" /> La propriété "mere" peut être appelée dans un template par la balise <bot name="mere" />. Si on change les valeurs de ces propriétés, les réponses deviennent différentes, alors que les templates sont identiques. C'est une façon simple de créer des catégories génériques. Par exemple le template suivant : <template>Je m'appelle <bot name="name" />. Et ma mère s'appelle <bot name="mere" /></template> peut aussi bien renvoyer : Je m'appelle Carole. Et ma mère s'appelle Alice. que Je m'appelle Philippe. Et ma mère s'appelle Paule. Certaines implémentations de l'AIML proposent une liste fixée à l'avance, d'autres proposent comme Pandorabots d'ajouter les propriétés que l'on souhaite en toute liberté. Si l'on démarre avec un bot vide, la seule propriété définie sera "name".
Pour simplifier l'utilisation des propriétés, j'ai créé un fichier de test baptisé proprietes.aiml, qui affiche toutes les propriétés paramétrées dans Carole en réponse à la question codée : dimoikitué Si vous reprenez mon jeu de fichiers AIML, et si vous changez les propriétés dans Pandorabots, il suffit de tester la liste des propriétés utilisées en tapant "dimoikitué" pour vérifier le résultat. <?xml version="1.0" encoding="ISO-8859-1"?> <aiml> <!-- Fichier développé pour le Chatterbot Carole --> <!-- Copyright : PNAMBIQUE / Philippe YONNET - 2007 / Reproduction interdite sans autorisation de l'auteur--> <!-- Auteur : Philippe YONNET --> <!-- Crédits : A.L.I.C.E / Richard Wallace --> <!-- Complies with AIML 1.0.1 Tag Set Specification --> <!-- as adopted by the ALICE A.I. Foundation. -->
<!-- catégories de test pour les propriétés de bot -->
<category> <pattern>DIMOIKITUÉ</pattern> <template> name : <bot name="name" /><br/> mere : <bot name="mere" /><br/> age : <bot name="age" /><br/> </template> </category> </aiml> Voici le tableau complet des propriétés définies pour Carole : (je le mets à jour au fur et à mesure de l'utilisation de la création de propriétés) | Propriété | Valeur | | name | Carole |
|