Répondre

4

A * correspondra à rien à moins un motif d'un ou plusieurs mots sont mis en correspondance

A _ va correspondre à quelque chose, même si un motif d'un mot ou plusieurs mots pourraient correspondre

<pattern>BYE _</pattern> n'a pas de sens puisque <pattern>BYE *</pattern> correspond aux mêmes modèles mais <pattern>BYE _</pattern> seront ombre <pattern>BYE * SEE YOU</pattern> alors que BYE * ne sera pas. Utilisez _ soigneusement, par exemple _ correspond à n'importe quoi et votre bot donnera la même réponse à chaque fois. Est la bonne façon d'utiliser _ si vous voulez attraper chaque fois qu'un couple de mots est à l'intérieur ou à la fin d'une phrase.

0

_ et * sont deux caractères génériques, la différence est l'endroit où ils doivent être utilisés dans l'appariement de formes.

_ should be used before the word or phrase you're matching on 
* should be used after the word or phrase you're matching on. 

Voir: AIML spec

Pour mieux comprendre cela, il peut être intéressant de regarder des exemples dans les bots AIML existants.

Voir: Downloads, celui-ci Saluations.aiml a des exemples

+0

Donc, cela signifierait que 'HELLO _' est une expression invalide? Droite? –

+0

C'est ce que j'ai trouvé dans http://www.alicebot.org/aiml/aaa/Salutations.aiml Quelle est la différence essentielle entre ces deux modèles? * BYE _ BYE BTW, merci pour la réponse :) –

+0

Je dirais que, sur la base des spécifications qui BONJOUR _ est oui non valide. Et c'était un très mauvais exemple de ma part. Je ne pense pas que le * BYE serait jamais évalué. * BYE est à mon avis invalide, et devrait être BYE *. – Bravax