<?xml version="1.0" encoding="UTF-8"?>
<aiml version="1.0">
<!--  -->
<!-- Free software (c) 2011 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.0 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 --> 
<!-- Extended by KnyteTrypper, March 3, 2005 --> 
<!-- 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>
