<?xml version="1.0" encoding="ISO-8859-1"?>
<aiml version="1.0">

<!-- Copyright (c) 2007 ALICE A.I. Foundation, Inc. -->
<!-- -->
<!-- Permission is hereby granted, free of charge, to any person       -->
<!-- obtaining a copy of this software and associated documentation    -->
<!-- files (the "Software"), to deal in the Software without           -->
<!-- restriction, including without limitation the rights to use,      -->
<!-- copy, modify, merge, publish, distribute, sublicense, and/or sell -->
<!-- copies of the Software, and to permit persons to whom the         -->
<!-- Software is furnished to do so, subject to the following          -->
<!-- conditions:                                                       -->
<!-- -->
<!-- The above copyright notice and this permission notice shall be    -->
<!-- included in all copies or substantial portions of the Software.   -->
<!-- -->
<!-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,   -->
<!-- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES   -->
<!-- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND          -->
<!-- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT       -->
<!-- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,      -->
<!-- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING      -->
<!-- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR     -->
<!-- OTHER DEALINGS IN THE SOFTWARE. -->
<!-- -->
<!-- Complies with the AIML 1.0.1 Standard -->
<!-- as adopted by the ALICE A.I. Foundation. -->
<!-- Last modified July 26, 2007 -->
<!-- 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>

