Badanswer.aiml
<?xml version="1.0" encoding="ISO-8859-1"?>
<aiml version="1.0">
 
<!-- Free software Copyright © ALICE A.I. Foundation. --> 
<!-- This program is open source code released under --> 
<!-- the terms of the GNU General Public License --> 
<!-- as published by the Free Software Foundation. --> 
<!-- Complies with AIML 1.01 Tag Set Specification --> 
<!-- as adopted by the ALICE A.I. Foundation. --> 
<!-- Badanswer.aiml: Demo of Pandorabots learning, AIML unquoting and eval --> 
<!-- Revision Badanswer-0.01 --> 
<!-- Last Modified Feb 23 2005 -->
<!-- Extended by KnyteTrypper, March 3, 2005 --> 
<!-- Last modified by John Campbell to allow multi-sentence inputs, June 30, 2005 --> 
 
<category>
<pattern>BAD ANSWER</pattern> 
<template>
<think>
    <set name="badanswer-input"><input index="2" /></set>
    <set name="badanswer-that"><that index="2,1" /></set>
    <set name="badanswer-that-full"><that index="2,*" /></set>
    <set name="topic">badanswer-prelim</set>
</think>
Would you like to teach me a new answer to "<get name="badanswer-input"/>"?
</template>
</category>
 
<topic name="BADANSWER-PRELIM">
 
<category>
<pattern>_</pattern> 
<template>
<think><set name="star"><star /></set></think>
<condition>
<li name="star" value="yes">
    OK, what should I have said?<think><set name="topic">learning new answers</set></think>
</li>
<li name="star" value="no">
    OK, let's forget it then.<think><set name="topic">learning new answers</set></think>
</li>
<li>Yes or No?</li>
</condition>
</template>
</category>
 
<category>
<pattern>_ _</pattern> 
<template><sr /></template>
</category>
 
</topic>
 
<category>
<pattern>_</pattern> 
<that>OK WHAT SHOULD I HAVE SAID</that> 
<template>
"<set name="badanswer-newresp"><input index="1" /></set>..."?
<condition>
<li name="badanswer-that" value="*">
    <think><set name="topic">BADANSWER</set></think>
    Does this depend on me having just said, "<get name="badanswer-that-full" />"? 
</li>
<li>
    <think><set name="topic">BADANSWER2</set></think>
    Do you want me to remember that?
</li>
</condition>
</template>
</category>
 
<category>
<pattern>_ _</pattern> 
<that>OK WHAT SHOULD I HAVE SAID</that> 
<template><sr /></template>
</category>
 
<topic name="BADANSWER">
 
<category>
<pattern>_</pattern> 
<template>
<think>
    <set name="star"><star /></set>
    <set name="response1"><response index = "1" /></set>
    <set name="response2"><response index = "2" /></set>
    <condition>
        <li name="response2" value="OK, what should I have said">
        <set name="badanswer-newresp"><request index = "1" /></set>
        </li>
    </condition>
</think>
<condition>
<li name="response1" value="OK, what should I have said"></li>
<li name="star" value="no">I'll try to remember to respond, "<get name="badanswer-newresp" />" when you say, "<get name="badanswer-input" />" 
<learn>
    <category>
    <pattern>
        <eval><uppercase><get name="badanswer-input" /></uppercase></eval>
    </pattern>
    <template>
        <eval><get name="badanswer-newresp" /></eval>
    </template>
    </category>
</learn>
<think><set name="topic">learning new answers</set></think>
</li>
<li name="star" value="yes">I'll try to remember to respond, "<get name="badanswer-newresp" />" when you say, "<get name="badanswer-input" />" if I have just said "<get name="badanswer-that-full" />" 
<learn>
    <category>
    <pattern>
        <eval><uppercase><get name="badanswer-input" /></uppercase></eval>
    </pattern>
    <that>
        <eval><uppercase><get name="badanswer-that" /></uppercase></eval>
    </that>
    <template>
    <eval><get name="badanswer-newresp" /></eval>
    </template>
    </category>
</learn>
<think><set name="topic">learning new answers</set></think>
</li>
<li>Yes or No?</li>
</condition>
</template>
</category>
 
<category>
<pattern>_ _</pattern> 
<template><sr /></template>
</category>
 
</topic>
 
<topic name="BADANSWER2">
 
<category>
<pattern>_</pattern> 
<template>
<think>
    <set name="star"><star /></set>
    <set name="response1"><response index = "1" /></set>
    <set name="response2"><response index = "2" /></set>
    <condition>
        <li name="response2" value="OK, what should I have said">
        <set name="badanswer-newresp"><request index = "1" /></set>
        </li>
    </condition>
</think>
<condition>
<li name="response1" value="OK, what should I have said"></li>
<li name="star" value="yes">Fine. I'll try to remember to respond, "<get name="badanswer-newresp" />" when you say, "<get name="badanswer-input" />" 
<learn>
    <category>
    <pattern>
        <eval><uppercase><get name="badanswer-input" /></uppercase></eval>
    </pattern>
    <template>
        <eval><get name="badanswer-newresp" /></eval>
    </template>
    </category>
</learn>
<think><set name="topic">learning new answers</set></think>
</li>
<li name="star" value="no">OK, let's forget it then.
<think><set name="topic">learning new answers</set></think>
</li>
<li>Yes or No?</li>
</condition>
</template>
</category>
 
<category>
<pattern>_ _</pattern> 
<template><sr /></template>
</category>
 
</topic>
 
<category>
<pattern>WRONG</pattern>
<template><srai>BAD ANSWER</srai></template>
</category>
 
<category>
<pattern>NOT RIGHT</pattern>
<template><srai>BAD ANSWER</srai></template>
</category>
 
<category>
<pattern>THAT IS WRONG</pattern>
<template><srai>BAD ANSWER</srai></template>
</category>
 
<category>
<pattern>THAT IS NOT RIGHT</pattern>
<template><srai>BAD ANSWER</srai></template>
</category>
 
<category>
<pattern>THAT IS INCORRECT</pattern>
<template><srai>BAD ANSWER</srai></template>
</category>
 
<category>
<pattern>THAT ANSWER IS NOT CORRECT</pattern>
<template><srai>BAD ANSWER</srai></template>
</category>
 
<category>
<pattern>THAT ANSWER IS INCORRECT</pattern>
<template><srai>BAD ANSWER</srai></template>
</category>
 
<category>
<pattern>THAT ANSWER IS WRONG</pattern>
<template><srai>BAD ANSWER</srai></template>
</category>
 
<category>
<pattern>THAT ANSWER IS NOT RIGHT</pattern>
<template><srai>BAD ANSWER</srai></template>
</category>
 
<category>
<pattern>THAT ANSWER WAS BAD</pattern>
<template><srai>BAD ANSWER</srai></template>
</category>
 
<category>
<pattern>THAT WAS A BAD ANSWER</pattern>
<template><srai>BAD ANSWER</srai></template>
</category>
 
<category>
<pattern>THAT WAS AN INCORRECT ANSWER</pattern>
<template><srai>BAD ANSWER</srai></template>
</category>
 
<category>
<pattern>THAT WAS THE WRONG ANSWER</pattern>
<template><srai>BAD ANSWER</srai></template>
</category>
 
<category>
<pattern>THAT ANSWER WAS NOT RIGHT</pattern>
<template><srai>BAD ANSWER</srai></template>
</category>
 
<category>
<pattern>WRONG ANSWER</pattern>
<template><srai>BAD ANSWER</srai>
</template>
</category>
 
<category>
<pattern>YOUR ANSWER WAS WRONG</pattern>
<template><srai>BAD ANSWER</srai></template>
</category>
 
<category>
<pattern>YOUR ANSWER WAS NOT RIGHT</pattern>
<template><srai>BAD ANSWER</srai></template>
</category>
 
<category>
<pattern>YOUR ANSWER WAS NOT CORRECT</pattern>
<template><srai>BAD ANSWER</srai></template>
</category>
 
<category>
<pattern>CAN I TEACH YOU</pattern>
<template>Yes, if I give you a bad answer, just say "Bad answer" and you can teach me a new response.</template>
</category>
 
<category>
<pattern>CAN YOU LEARN</pattern>
<template><srai>CAN I TEACH YOU</srai></template>
</category>
 
<category>
<pattern>DO YOU LEARN</pattern>
<template><srai>CAN I TEACH YOU</srai></template>
</category>
 
<category>
<pattern>CAN I TEACH YOU *</pattern>
<template><srai>CAN I TEACH YOU</srai></template>
</category>
 
<category>
<pattern>CAN YOU LEARN *</pattern>
<template><srai>CAN I TEACH YOU</srai></template>
</category>
 
<category>
<pattern>WILL YOU LEARN *</pattern>
<template><srai>CAN I TEACH YOU</srai></template>
</category>
 
<category>
<pattern>IF * WILL YOU LEARN *</pattern>
<template><srai>CAN I TEACH YOU</srai></template>
</category>
 
<category>
<pattern>DO YOU LEARN *</pattern>
<template><srai>CAN I TEACH YOU</srai></template>
</category>
 
</aiml>
Unless otherwise stated, the content of this page is licensed under GNU Free Documentation License.