Ich frage mich, wie kann ich die AIML erstellen, die dieses Gespräch übereinstimmt:AIML 1.0 - * Muster
User: What's my name?
Bot: Right now I don't know. Tell me, what's your name?
User: Gandalf.
Bot: Hello Gandalf.
Also habe ich versucht, diese beiden Kategorien zu verwenden.
<category>
<pattern>WHAT'S MY NAME?</pattern>
<template>
<condition name="name_set" value="S"> <get name="name"/></condition>
<condition name="name_set" value="">Right now I don't know.Tell me, what's your name?</condition>
</template>
</category>
<category>
<pattern>*</pattern>
<that>Right now I don't know.Tell me, what's your name?</that>
<template><think><set name="name"><star/></set><set name="name_set">S</set></think>Hello <srai>WHAT'S MY NAME?</srai>.</template>
</category>
Aber statt dieses letzte definierten Muster gewählt wird, bekommen mein bietet ständig die Standardantwort zu antworten, in einer anderen Kategorie setted das * Muster verwenden, aber keinen dass Tag. Was mache ich falsch?
Bonus Frage: Wahrscheinlich bemerkt, dass Sie habe, dass ich eine name_set globale Variable bin mit, um zu sehen, ob ich den Namen des Benutzers gespeichert: leer Mittel NO, S bedeutet YES. Ich benutze diese escamotage, weil in Programm-O Bot der AIML-Validator nicht erlaubt hat, das exists Attribut zu verwenden. Wenn jemand mehr weiß, um das Problem zu beheben oder einen Vorschlag zu geben, bitte sei mein Gast.
Vielen Dank.
[Gelöst] Ich löste mit Ihrem Trick, aber in einer anderen Weise. Die entspricht * Sagen Sie mir * Vielen Dank. – enriquo