Overblog
Suivre ce blog Administration + Créer mon blog
Le blog du CRRIAM

person

10 Avril 2011 , Rédigé par crriam

Soumis par Philippe YONNET du tres bon site pnambique qui n'existe plus

17-11-2007

 

 

Syntaxe <person>...</person>

autre syntaxe : <person/>

<person/> = <person><star/></person>

Description La balise <person> donne pour instruction à l'interpreteur AIML de :

remplacer les mots correspondant grammaticalement à la première personne du singulier/pluriel, par des mots

correspondants à la seconde personne du singulier/pluriel

et l'inverse... (remplacer les mots correspondant à la deuxième personne par les mots correspondant à la première

personne) La table de correspondance grammaticale n'est pas contenue dans l'interpréteur, mais dans

un fichier à part (baptisé startup.xml dans program_E) ce qui veut dire que la manière dont cette balise fonctionne

dépend de ce qui est prévu par l'auteur du fichier AIML. Historiquement, person a servi au départ uniquement

pour les pronoms, probablement parce que la plupart des fichiers AIML ont été écrits en anglais. Quoi qu'il en

soit, il est tout à fait possible de transformer la personne d'autres éléments si l'application AIML le

demande. Exemple

<person>Je suis timide..</person>

_ produira : "Tu es timide".

Remarque : en français, le changement de personne affecte de nombreux mots dans la phrase, et notamment les formes

verbales. Ce changement de personne est assez difficile à reproduire correctement, d'autant que le moindre oubli

produit une phrase boîteuse grammaticalement, ce qui tranche avec les réponses habituelles du robot, bien formées par

construction. Compatibilité Balise utilisable dans : Modèles de réponse Conforme AIML 1.0.1 : Oui Pandorabot : Oui,

mais ne fonctionne qu'en anglais... Impossible d'accéder au fichier implémentant le paramétrage de

cette balise Référence doc : 7.6.2.

Lire la suite

srai

10 Avril 2011 , Rédigé par crriam

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

17-11-2007

Syntaxe

<srai>...</srai>
autre forme (forme atomique): <sr/>
<sr/> = <srai><star/><srai>

Description
La balise <srai> commande à l’interpréteur AIML de passer le résultat du traitement du contenu de l’élément srai à la boucle de correspondance AIML, comme si l’entrée avait été produite sous cette forme par l’utilisateur (en incluant le processus complet de normalisation de l’entrée). La balise srai n’a pas d’attributs, et peut contenir n’importe quelle balise AIML utilisable dans un template.

L’acronyme "srai" signifie "Stimulus-Response Artificial Intelligence" (Intelligence Artificielle par Stimulus-Réponses).

Les balises AIML sont parsées de l’intérieur vers l’extérieur, ce qui signifie que l’on peut imbriquer des balises srai dans d’autres balises srai.

Exemple

L’application la plus fréquente de la balise <srai> est la "réduction symbolique" d’une phrase complexe en éléments plus simples, pour la ramener à une forme correspondant à un gabarit d’entrée existant.


<category>
<pattern>PEUX TU ME DIRE CE QU'EST *</pattern>
<template><srai>KESKE<star/></srai></template>
</category>

Remarque sur le KESKE : si l’auteur d’un fichier AIML sait à l’avance qu’un gabarit d’entrée ne sera utilisé que suite à des réductions symboliques, il peut très bien utiliser une forme atomique originale, qui ne correspond à aucune entrée connue, ce n’est pas grave. Certains auteurs ne s’en privent pas...

La réponse est donnée par une autre catégorie (atomique celle là) :


<category>
<pattern>KESKE LINUX</pattern>
<template><set_it>Linux</set_it> est l'un des meilleurs systèmes d'exploitation.</template>
</category>

En multipliant les catégories de "réduction symbolique" utilisant

<srai><code>, le robot peut donner la même réponse à toutes ces formes de question :

"Peux-tu me dire ce qu'est Linux ?"
"Sais-tu ce qu'est Linux ?"
"Donnes moi la définition de Linux"
"Alice s'il te plait dis moi tout de suite ce que veut dire Linux "

La réponse peut-être aussi la combinaison de deux réductions symboliques accolées (on peut donc placer plusieurs srai dans le même template) :

<code>
<category>
<pattern>OUI *</pattern>
<template><srai>OUI</srai> <sr/></template>
</category>

Avec une catégorie écrite ainsi, le robot répondra à toutes les entrées de type "Oui quelque chose" en combinant la réponse prévue pour "OUI" avec la réponse prévue pour "QUELQUE CHOSE" (attention, ceci peut produire des surprises, bonnes ou mauvaises).

Rappel : <sr/> est la forme abrégée de <srai><star/></srai>.

La balise <srai> est également la solution au problème souvent posé : puis-je avoir plus d’un gabarit d’entrée dans la même catégorie ? La réponse est : NON. Mais <srai> permet de contourner le problème élégamment.

Admettons que je souhaite que deux entrées différentes aboutissent à la même réponse (par exemple, que l’on dise "Ciao" ou "Au revoir", le robot répondra "A bientôt) :

Voila ce que cela donne avec


<category>
<pattern>CIAO</pattern>
<template><srai>AU REVOIR</srai></template>
</category>

<category>
<pattern>AU REVOIR</pattern> <template>A bientôt.</template>
</category>

Compatibilité

Balise utilisable dans :

Modèles de réponse

Conforme AIML 1.0.1 :

Oui

Pandorabot :

Oui

Référence doc :

7.5.1.

Lire la suite
<< < 1 2 3 4 5 6 7 8 9 10 > >>