Ok, I’ve found the problem, and I’m kicking myself (and, by extension, Steve, but only a little bit!) for not seeing it right off the bat.
The only punctuation allowed in either the <PATTERN> or <THAT> tags are the two wildcard symbols (_ and *). Any other punctuation, such as periods, commas, exclamation points or question marks will break the script, and return a blank response. Also, on further examination of the AIML code, I’ve found some patterns with leading and trailing spaces that will cause the same problems, since Program O will remove any of those from the input, causing any patterns that have such spaces at the beginning and/or end to never match. Below, you’ll see a revised and corrected copy of what was last posted, and that should work perfectly (at least it does on my installation):
<category>
<pattern>HELLO</pattern>
<template>
<think><set name="score">0</set></think>
Hi. So are you ready for interview?
</template>
</category>
<category>
<pattern>YES</pattern>
<that>* ARE YOU READY FOR INTERVIEW</that>
<template>
What is a concrete object?
</template>
</category>
<category>
<pattern>* KEYWORD NEW</pattern>
<that>WHAT IS A CONCRETE OBJECT</that>
<template>
<srai>CORRECTANSWER</srai>
Correct. What is the degree of relation?
</template>
</category>
<category>
<pattern>* NUMBER OF ATTRIBUTES</pattern>
<that>* IS THE DEGREE OF RELATION</that>
<template>
<srai>CORRECTANSWER</srai>
correct.Is it possible for two classes to inherit from each other? (yes/no)
</template>
</category>
<category>
<pattern>NO</pattern>
<that>* IT POSSIBLE FOR TWO CLASSES TO INHERIT FROM EACH OTHER *</that>
<template>
<srai>CORRECTANSWER</srai>
correct.Cin stands for?
</template>
</category>
<category>
<pattern>STANDARD INPUT STREAM</pattern>
<that>* STANDS FOR</that>
<template>
<srai>CORRECTANSWER</srai>
correct.....
</template>
</category>
<category>
<pattern>WHAT IS MY SCORE</pattern>
<template>
<condition name="score">
<li value="0">You dont have any correct answer.</li>
<li value="*">Your score has not yet been determined.</li>
<li>You now have a score of <get name="score"/>.</li>
</condition>
</template></category>
<category>
<pattern>CORRECTANSWER</pattern>
<template>
<think>
<condition name="score">
<li value="0"><set name="score">1</set></li>
<li value="1"><set name="score">2</set></li>
<li value="2"><set name="score">3</set></li>
<li value="3"><set name="score">4</set></li>
<li value="4"><set name="score">5</set></li>
<li value="5"><set name="score">6</set></li>
<li value="6"><set name="score">7</set></li>
<li value="7"><set name="score">8</set></li>
<li value="8"><set name="score">9</set></li>
<li value="9"><set name="score">10</set></li>
<li value="10"><set name="score">More than 10</set></li>
</condition>
</think>
</template>
</category>
Please note that Program O handles the values of <CONDITION> tags differently from Pandorabots, so I’ve altered the response to “What is my score” accordingly.