Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
Le blog du CRRIAM

Les avantages et les inconvénients des jokers _ et *

10 Avril 2011 , Rédigé par crriam Publié dans #l'aiml

Écrit par Philippe YONNET du tres bon site pnambique qui n'existe plus :

La qualité des fichiers AIML et d'une manière générale des bases de personnalité dépend de l'utilisation judicieuse des _ et des *. Il est donc important de savoir quand utiliser l'un ou l'autre et quels sont leurs avantages et leurs inconvénients respectifs.

1. Le choix de "*" ou "_" change la logique et l'ordre de traitement des stimulus : il faut penser les templates différemment selon que l'on utilise l'un ou l'autre

Il existe une balise "<star />" qui permet de laisser à une nouvelle catégorie le soin de reconnaître une partie du stimulus, même après qu'une première correspondance avec un pattern ait été trouvée :

exemple 1: stimulus = "Bonjour ! Tu vas bien ?" matche avec "BONJOUR *". Si le template est "Salut. <srai><star/></srai>", le second segment "tu vas bien" va matcher avec "* TU VAS BIEN" et la réponse complète sera : "Salut. Oui je vais bien et toi". L'ensemble du stimulus "Bonjour ! Tu vas bien ?" peut être traité avec des patterns utilisant des "*".

exemple 2 : si le deuxième pattern est rédigé à l'aide d'un "_", devenant "_ TU VAS BIEN", la réponse sera uniquement "Oui je vais bien et toi ?". A noter que l'on peut quand même prévoir de réutiliser l'info cachée par le "_" avec un template rédigé comme suit : "<srai><star/></srai>. Oui je vais bien et toi ?"

2. "_" rend plus rapide l'exécution du code AIML

Les fichiers AIML sont parsés par des logiciels qui doivent en fait être capables d'analyser des graphes extrêmement complexes à la vitesse de l'éclair. L'utilisation des "_" (underscores) permet d'écrire des règles prioritaires qui "court circuitent" l'analyse de milliers de branches inutiles. Le problème de ces "raccourcis" c'est qu'ils peuvent conduire à ne jamais rencontrer l'embranchement qui donnerait la réponse la plus intelligente.

3. "_" est une arme de réduction massive

"_" est très utiles pour écrire des règles de réduction : comme les règles écrites à base de "_" sont traitées prioritairement, "_" permet de supprimer tous les mots vides et tout ce qui n'est pas porteur de sens dans une phrase : adverbes, locutions, conjonctions, etc... avant de passer la main aux fichiers de catégories capables de traiter les stimulus contenant des termes porteurs de sens.

4. "_" est aussi une formidable moyen de rendre votre robot idiot

Avec des "_" vous pouvez "shunter" sans vous apercevoir des milliers de réponses très intelligentes que vous avez mis des semaines à réaliser et qui ne sortiront jamais parce qu'une réponse prioritaire à l'aide de "_" aura pris le dessus.

Partager cet article

Repost 0

Commenter cet article