Question

Je vais avoir un problème à essayer de comprendre comment fonctionne métacaractères AIML. Quelle est la différence entre _ et *? Et comment je devrais les utiliser pour obtenir le meilleur match?

Je ce document seulement, mais il ne dispose pas de bons exemples.

Était-ce utile?

La solution

A * correspondra à quoi que ce soit à moins qu'un motif d'un ou plusieurs mots sont mis en correspondance

_ correspondra à quoi que ce soit, même si un motif d'un ou plusieurs mots pourrait correspondre

<pattern>BYE _</pattern> n'a pas de sens puisque <pattern>BYE *</pattern> correspond aux mêmes modèles mais <pattern>BYE _</pattern> sera ombre <pattern>BYE * SEE YOU</pattern> alors que BYE * ne sera pas.

Utilisez _ soigneusement, par exemple _ égalerait quoi que ce soit et votre bot donnera la même réponse chaque fois.

<pattern>_ A COUPLE OF WORDS *</pattern> et <pattern>_ A COUPLE OF WORDS</pattern> est la bonne façon d'utiliser _ si vous voulez attraper tous les temps QUELQUES MOTS est à l'intérieur ou à la fin d'une phrase.

Autres conseils

_ et * sont les deux jokers, la différence est là où ils doivent être utilisés en correspondance de motif.

_ 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: spec AIML

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

Voir: Téléchargements , celui-ci Saluations.aiml a des exemples

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top