motif AIML correspondant - guide pratique?
-
11-09-2019 - |
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.
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