Authentification :

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

Moteur de recherche

Affichage type blog de toutes les sections sans images
pattern Convertir en PDF Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 0
Écrit par Philippe YONNET   
25-11-2007

Syntaxe
<pattern>...</pattern>

La balise <pattern> sert à indiquer un gabarit d’entrée. L’entrée de l’internaute est d’abord normalisée puis comparé aux différents gabarits d’entrée. Si l’un d’entre eux correspond, le modèle de réponse associé dans la même catégorie sera traité et utilisé pour produire la réponse du robot.

Les gabarits d’entrée sont constitués d’une chaine alphanumérique complétée par un ou plusieurs caractères joker "*" ou "_"

Remarque : un grand soin doit être apporté à l’écriture des gabarits d’entrée, qui doivent être soigneusement testés, notamment en français. Il existe de plus des différences gênantes de comportement d’un interpréteur à un autre...

Exemple


<pattern>BONJOUR *</pattern>
Compatibilité
Balise utilisable dans : (Balise de niveau 1) dans <category>...</category>, avant <that>...<that> et <template>...</template>
Conforme AIML 1.0.1 : Oui
Pandorabot : Oui
Référence doc : 6.
 
that (version hors template) Convertir en PDF Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 0
Écrit par Philippe YONNET   
25-11-2007

Syntaxe
<that>...</that>

La balise <that>...<that> se place uniquement entre les balises <pattern>...</pattern> et les balises <template>...</template>. Cette balise est facultative. Voici donc un exemple de syntaxe d’une catégorie utilisant cette balise


<category>
<pattern>...</pattern>
<that>...</that> (les caractères joker sont autorisés dans les gabarits <that>...</that>
<template>...</template>
</category>

Description
Cette balise qui apparait en dehors des templates, à une fonction totalement différente de sa balise homonyme <that /> ou <that index="M"/>, qui elle est une balise "atomique" : attention aux confusions.

Ici, la balise <that>...</that> sert à guider la recherche du gabarit d’entrée correspondant, dès lors qu’il existe plusieurs gabarits possibles et que le choix du gabarit peut-être déterminé par le "contexte".

Le cas le plus évident est une entrée de type "OUI". Il est probable que ce oui vient en réponse d’une question du robot lui même, cette question (la réponse du robot) étant récupérable par l’autre balise (that). En précisant un gabarit dans

<that>...</that><code> qui correspond au contexte de la réponse du robot, on va pouvoir derrière choisir le gabarit à utiliser.

On comprendra mieux sur un exemple :

{{Exemple}}

Soit deux gabarits d'entrée "OUI", l'un prévu pour un OUI à la question "Ai je déjà discuté avec toi ?", l'autre à la question "Es tu un homme ?". Comment choisir le gabarit à utiliser ? La solution consiste à ajouter des gabarits dans les balises that, correspondant aux différents contextes possibles.

<code>
<category>
<pattern>OUI</pattern>
<that>ES TU UN HOMME</that>
<template>Et moi je suis une femme</template>
</category>
<pattern>OUI</pattern>
<that>AI JE DEJA DISCUTE AVEC TOI</that>
<template>Ah ! Je suis contente que tu sois revenu.</template>
<category>
</category>

Nota Bene : les gabarits de contexte "<that>...</that>" se rédigent exactement avec les mêmes règles que les gabarits d’entrée, ce qui signifie notamment que l’on peut utiliser les caractères joker "*" et "_" dans les gabarits. Ce qui autorise notamment que l’on prévoit qu’une réponse puisse être adaptée pour plusieurs formulations de questions possibles.

Il est parfois utile dans la réponse suivante de récupérer la partie spécifique à la réponse du robot (celle représentée par le caractère joker) pour augmenter la pertinence de la réponse. Voir la balise <thatstar /> à ce sujet.

Compatibilité
Balise utilisable dans : (balise de niveau 1), entre <pattern>...</pattern> et <template>...</template>
Conforme AIML 1.0.1 : Oui
Pandorabot : Oui
Référence doc : 6.1.
 
star index="N"/ Convertir en PDF Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 0
Écrit par Philippe YONNET   
25-11-2007

Syntaxe
<star index="N"/>
autre syntaxe <star/> = <star index="1" />

Description
La balise <star /> permet d’afficher dans un modèle de réponse, la valeur du caractère joker ("*", mais aussi "_" même si le nom de la balise ne le laisse pas supposer) dans le gabarit d’entrée.

L’index est facultatif, et permet d’indiquer la position du caractère joker que l’on cible, dans l’hypothèse ou l’entrée en contiendrait plus d’un.

Exemple 1 : <star />


<category>
<pattern>MON NOM EST *</pattern>
<template>Tu t'appelles <star /></template>
</category>

L’entrée "Mon nom est Audrey" produit comme réponse "Tu t’appelles audrey"

Exemple 2 : <star index="N" />


<category>
<pattern>BONJOUR *, MON NOM EST *</pattern>
<template>Bonjour <star index="2">, tu m'as appelée <star index="1">?<star /></template>
</category>

L’entrée "Bonjour Philippe, mon nom est Audrey" produit comme réponse "Bonjour audrey, tu m’as appelé philippe ?"

Compatibilité
Balise utilisable dans : Modèles de réponse
Conforme AIML 1.0.1 : Oui
Pandorabot : Oui
Référence doc : 7.1.1
 
that index="M,N" / (dans un template) Convertir en PDF Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 0
Écrit par Philippe YONNET   
25-11-2007
<that index="M,N" />
_ autre syntaxe : <that index="N" />
_ autre syntaxe : <that/>
_ <that/>=<that index="1" />=<that index="1,1" />

Description
La balise <that /> permet d’afficher dans un modèle de réponse, la valeur de la dernière réponse du robot.

Si l’on veut remonter de plus d’une réponse en arrière, il suffit de l’indiquer en utilisant le premier indice : <that index="2" /> permet d’obtenir l’avant dernière réponse.

Le deuxième indice, après la virgule, permet d’indiquer quelle phrase de la réponse on veut obtenir : <that index="2,2"/> permet d’obtenir la phrase n°2 de l’avant dernière réponse.

Exemple 1 : <that />

Voici une conversation de départ


Internaute : Quel temps fait-il ?
Robot : Ici, il fait beau.
Voici un exemple d’utilisation de la balise <that /> dans une liste de réponse générique

<category>
<pattern>*</pattern>
<template>
<li>...</li>
<li>Euh ? Je disais : <that /></li>
<li>...</li>
</template>
</category>

Ce qui donne :


Internaute : Quel temps fait-il ?
Robot : Ici, il fait beau.
Internaute : xdvvfgg ?
Robot : Euh ? Je disais : ici, il fait beau.

Exemple 2 : <that index="2"/>

En remontant de deux réponses, la conversation peut être :


Internaute : Quel temps fait-il ?
Robot : Ici, il fait beau.
Internaute : Comment ca va ?
Robot : Super et toi.
Internaute : tu disais ?
Robot : Je viens de te dire : super et toi. Et juste avant : Ici, il fait beau.

La dernière réponse est obtenue par ce code :


<category>
<pattern>TU DISAIS</pattern>
<template>Je viens de te dire : <that index="1" /> Et juste avant : <that index="2" /></template>
</category>

Remarque : le deuxième indice porte sur des phrases délimitées par l’un des délimiteurs reconnus : ".", " ?" et " !". La présence d’un point dans un sigle ou autre peut donc ruiner l’effet en cas d’utilisation de ce deuxième indice dans la balise "that".

Compatibilité
Balise utilisable dans : Modèles de réponse
Conforme AIML 1.0.1 : Oui
Pandorabot : Oui. Spécificité : accepte la syntaxe
Référence doc : 7.1.2
 
input index="N"/ Convertir en PDF Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 0
Écrit par Philippe YONNET   
25-11-2007

Syntaxe

<input index="N"/>
autre syntaxe
<input />=<input index="N" />=<input index="M,N" />

Description
La balise <input /> sert à obtenir dans un modèle la valeur de la dernière entrée de l’utilisateur. Là où <star /> permet de récupérer uniquement ce qui a été entrée à la place du caractère joker, ici, on retrouve l’ensemble de l’entrée...

Si l’on veut récupérer la valeur d’une entrée saisie plusieurs questions en arrière, c’est possible en indiquant une valeur dans l’attribut index. <input index="2"/> permet d’afficher l’avant-dernière entrée de l’internaute.

Il est également possible de récupérer une phrase en particulier dans l’entrée, en utilisant la syntaxe <input index="M,N" />. <input index="2,2" /> permet de récupérer la deuxième phrase de l’avant dernière réponse.

Exemple


<category>
<pattern>Tu es nul</pattern>
<template>Toi aussi</template>
</category>

<category>
<pattern>TU PEUX REPETER *</pattern>
<template><srai>TU PEUX REPETER</srai></template>
</category>

<category>
<pattern>TU PEUX REPETER</pattern>
<template>Tu m'as dit : <input index="2" />. Et je t'ai répondu : <that index="1" /></template>
</category>

permet d’obtenir la conversation suivante


Internaute : Tu es nul
Robot : Toi aussi
Internaute : Tu peux répéter ?
Robot : Tu m'as dit : Tu es nul. Et je t'ai répondu : Toi aussi.
Compatibilité
Balise utilisable dans : Modèles de réponse
Conforme AIML 1.0.1 : Oui
Pandorabot : Oui
Référence doc : 7.1.3
 
thatstar index="N"/ Convertir en PDF Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 0
Écrit par Philippe YONNET   
25-11-2007

Syntaxe

<thatstar index="N"/>
autre syntaxe :
<thatstar />
<thatstar />=<thatstar index="1">

Description
Cette balise permet de récupérer la valeur de la chaine représentée par le caractère joker dans un gabarit de contexte <that>...</that>. Elle permet d’améliorer la pertinence de la réponse en récupérant les éléments spécifiques à la question précédente. Dans la plupart des cas, l’utilisation de <that index="N" /> permet (théoriquement) d’obtenir le même résultat, mais <thatstar> a le mérite de permettre de ne capturer que l’élément de la phrase représenté par *, ce qui offre des possibilités de réponse plus "souples".

Exemple

Partons du principe que le contexte est celui de la catégorie suivante :


<category>
<pattern>Je m'appelle *</pattern>
<template>Bonjour <star/>. Où habites-tu ?</pattern>
</category>

La catégorie suivante peut-être celle-ci, avec utilisation de la balise <that> (version hors modèle de réponse)


<category>
<pattern>A *</pattern>
<that>BONJOUR *. OU HABITES TU</that>
<template><star/>C'est sympa comme endroit, <thatstar /> ?</pattern>
</category>

Ce qui donne cette conversation :


Internaute : Je m'appelle Eric
Robot : Bonjour Eric. Où habites-tu ?
Internaute : à Bordeaux.
Robot : Bordeaux, c'est sympa comme endroit, Eric ?
Compatibilité
Balise utilisable dans : Modèles de réponse
Conforme AIML 1.0.1 : Oui
Pandorabot : Oui
Référence doc : 7.1.4
 
<< Début < Précédente 1 2 3 4 5 Suivante > Fin >>

Résultats 21 - 30 sur 47