Authentification :

Connexion
Pas encore de compte ? Enregistrez-vous
 
Accueil arrow Articles

Moteur de recherche

Affichage type blog de toutes les sections sans images
Les bases de la syntaxe de l'AIML Convertir en PDF Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 0
Écrit par Philippe YONNET   
15-12-2007


Le langage AIML (AIML signifie Artificial Intelligence Markup Language) est un langage de balises qui a évolué vers un dialecte XML. Les fichiers AIML respectent donc les règles d'écriture propre au format XML, mais il n'y a pas de DTD pour l'AIML : il est donc possible d'inventer une balise sans que cela déclenche quelque réaction que ce soit de l'éditeur.

Le langage par ailleurs reste mal standardisé : il existe des variantes, avec des balises qui n'existent que dans certaines implémentations, ou qui fonctionnent différemment selon les implémentations (les program A, B, C, D, E... ou Pandorabots par exemple).

La syntaxe du langage est donc très simple : elle obeit aux règles habituelles pour créer un fichier XML bien formé.

PATTERNS, TEMPLATES, ET CATEGORIES

L'AIML est un langage de description d'objets de type "stimulus-réponse". Le stimulus est constitué par le texte tapé par l'utilisateur, qui est comparé à une forme ("pattern"). La réponse du Chatterbot est fournie en suivant un modèle ("template").

Le couple pattern / template (stimulus / réponse) constitue une catégorie ("category").

Voici un exemple simple de catégorie écrit en langage AIML

<category>
<pattern>BONJOUR</pattern>
<template>Bonjour chez vous !</template>
</category>

SYNTAXE DES FORMES DE STIMULUS (PATTERNS)

Le langage permettant d'écrire les formes en AIML est très simple : une forme est constituée de mots, d'espaces, et des caractères jokers "_" et "*".

Les caractères jokers seront souvent désignés par la suite sous leur nom anglais ("underscore" = souligné, et "star"= étoile), car on les retrouve sous ce nom dans certaines balises ou certains fichiers AIML.

Les mots doivent être séparés par un seul caractère "espace", et les caractères jokers s'utilisent exactement comme des mots.
Les mots peuvent contenir des lettres ou des chiffres, mais aucun autre caractère

Le langage de description des formes est insensible à la casse (aucune différence entre majuscules et minuscules). Par convention, on écrit les formes en MAJUSUCULES.

Attention : ces règles s'appliquent uniquement au contenu compris entre deux les balise <pattern> et </pattern>

EN-TETE DU FICHIER AIML

Il s'agit d'un fichier XML, donc il commence par une balise <?xml > :

<?xml version="1.0" encoding="ISO-8859-1"?>
On peut utiliser un autre encodage que l'ISO-8859-1, comme l'UTF-8 par exemple, mais je le déconseille fortement : beaucoup d'implémentations ont des carences certaines en matière de gestion des encodages, et dès que l'on ajoute des accents en encodage UTF-8, le résultat est souvent catastrophique. J'ai donc pris l'habitude de coder en ISO. IMPORTANT : il faut utiliser un éditeur de texte (ou de XML) qui gère correctement les encodages.

Le contenu aiml du fichier se glisse entre deux balises <aiml>

<?xml version="1.0" encoding="ISO-8859-1"?>
<aiml>
<category><pattern>BONJOUR *</pattern><template><srai>bonjour</srai></template></category>
<category><pattern>BONJOUR LA</pattern><template><srai>bonjour</srai></template></category>
<category><pattern>BONJOUR MON NOM EST *</pattern><template><srai>bonjour</srai><srai>mon nom est ce que <star/> est</srai></template></category>
<category><pattern>BONJOUR CAROLE</pattern><template><srai>bonjour</srai></template></category>
<category><pattern>BONJOUR</pattern><template><random><li>Bonjour <get name="name"/>! </li><li>Salut <get name="name"/>! </li></random></template></category>
<category><pattern>BONNE NUIT *</pattern> <template><srai>bonne nuit</srai></template></category>
</aiml>
On peut aussi ajouter quelques commentaires (en utilisant la syntaxe XML habituelle). C'est même conseillé, car un bot en AIML finit par comporter beaucoup de fichiers différents, dont on ne se souvient pas forcément de la genèse quelques années après.

Voici donc le contenu de notre premier fichier AIML :

<?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 type bonjour, comment ça va, au revoir, bonne nuit -->

<category><pattern>BONJOUR *</pattern><template><srai>bonjour</srai></template></category>
<category><pattern>BONJOUR LA</pattern><template><srai>bonjour</srai></template></category>
<category><pattern>BONJOUR MON NOM EST *</pattern><template><srai>bonjour</srai><srai>mon nom est ce que <star/> est</srai></template></category>
<category><pattern>BONJOUR EMILIE</pattern><template><srai>bonjour</srai></template></category>
<category><pattern>BONJOUR</pattern><template><random><li>Bonjour <get name="name"/>! </li><li>Salut <get name="name"/>! </li></random></template></category>
<category><pattern>BONNE NUIT *</pattern> <template><srai>bonne nuit</srai></template></category>
</aiml>

Et voila !
Dernière mise à jour : ( 15-12-2007 )
 
6. Carole s'incarne... Convertir en PDF Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 0
Écrit par Philippe YONNET   
09-12-2007

Pour vous montrer les possibilités avancées de personnalisation des avatars d'Oddcast, j'ai décidé de fabriquer quelques photos de Carole avec différents accessoires et avec des fonds différents.

J'ai rassemblé le tout dans un profil Facebook : Carole Pnambique.

Les photos peuvent être retrouvées dans cet album Facebook

L'album des photos de Carole

Dernière mise à jour : ( 14-12-2007 )
 
5. Personnalisation de notre avatar Sitepal Convertir en PDF Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 1
Écrit par Philippe YONNET   
08-12-2007

Nous avons créé notre avatar Oddcast, et choisi "Ginger" comme base de notre personnage. Nous allons à présent relooker Ginger pour la transformer en Carole...

Première chose : changer subtilement le look de Ginger. Les "canons" européens étant un peu différents des canons européens (a fortiori français), j'ai entrepris de changer légèrement l'anatomie de Ginger pour créer une Carole moins "américaine". Pour Ginger, les changements à opérer sont très légers : rapport taille de la tête/cou/épaules, taille du nez, de la bouche, couleur de peau.

Dernière mise à jour : ( 14-12-2007 )
Lire la suite...
 
4. Création de l'avatar Carole Convertir en PDF Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 0
Écrit par Philippe YONNET   
02-12-2007

Maintenant que notre compte spécial "Pandorabots" est créé chez Oddcast, nous allons pouvoir nous lancer dans la création de l'aspect visuel de notre avatar.

Pour cela, rien de plus facile : après s'être connecté sur son compte Vhost Oddcast, on tombe sur la liste des scènes disponibles. Un clic sur la "photo" de l'avatar  associé à l'une de ces scènes ouvre l'éditeur de scènes.

 

Les sitepal d'Oddcast offrent une grande variété de personnages, de tous les styles : mangas, célébrités, et depuis peu des avatars "photo réalistes". J'ai choisi ce dernier type d'avatars Flash pour notre Carole plutôt qu'une version "dessinée".

Notre Chatterbot s'appelle déjà Eva, ce qui m'incite évidemment à choisir plutôt une fille. Mais laquelle choisir ?

 

Un petit détour sur les accessoires va me permettre de trancher facilement : Ginger offre beaucoup plus de possibilités : plus de coiffures, d'accessoires, de vêtements. A l'usage, cela permettra de changer réulièrement le "look" de l'avatar, ce qui est toujours une bonne idée pour éviter de lasser les internautes.

 

Va pour Ginger donc... Reste à personnaliser Ginger, pour la transformer définitivement en Carole 

Dernière mise à jour : ( 14-12-2007 )
 
3. Création du compte Sitepal associé Convertir en PDF Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 4
Écrit par Philippe YONNET   
25-11-2007

A présent nous allons procéder à l'ouverture du compte Sitepal associé.

RAPPEL : il faut créer un compte Vhost spécial Pandorabots depuis l'interface Vhost. Il n'y a pas de moyen prévu pour relier un compte Sitepal "normal" déjà existant à un Pandorabot. Le fait d'avoir créé les deux comptes indépendamment empêchera par la suite que l'avatar puisse intéragir avec le bot Pandorabot, ce qui serait dommage...

Par contre il est possible de changer l'association entre un compte Sitepal spécial Pandorabots, et de le relier à un autre Pandorabot. 

 

 Il est possible d'utiliser un compte de type "démo". Ce compte ne permet que 500 "streams" TTS par mois (en gros l'avatar ne pourra prononcer que 500 phrases en audio) et n'est adapté que pour effectuer des tests. Il est par ailleurs limité à quelques personnages type seulement (les plus anciens avatars, qui ne sont pas les plus réussis).

Si vous envisagez une utilisation plus sérieuse, il faut acheter un abonnement chez Sitepal (dans ce cas, pensez à m'en parler, je peux vous obtenir 10% de réduction).

 

 

 

Dernière mise à jour : ( 14-12-2007 )
 
2. Création du bot Carole Convertir en PDF Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 1
Écrit par Philippe YONNET   
25-11-2007

C'est le grand moment : nous allons enfin créer le robot "Carole"

Pour cela (nous sommes toujours identifiés), il suffit de cliquer sur le bouton "create a Pandorabot" 

Ensuite, je baptise "Carole" le bot que je suis en train de construire.

 

Ne pas cocher la case "automatically discover spaces between words (suggested for Japanese)" qui ne sert effectivement que pour le Japonais.

Et je choisis un robot... vide.

En effet, tous les autres "sets" ont un défaut : ils ne comprennent pas le français (enfin très peu : il y'a quelques catégories en français dans certains d'entre eux).

Donc nous allons entreprendre de travailler avec une base de catégories parfaitement vide pour commencer.

Et voila ce que l'on obtient en cliquant sur le bouton "create a pandorabot"

 

Prochaine étape : la création du compte chez Oddcast...

 

Dernière mise à jour : ( 14-12-2007 )
 
<< Début < Précédente 1 2 3 4 5 Suivante > Fin >>

Résultats 11 - 20 sur 47