[pandorabots-general] Revamping the AAA set ... the AIML Panel

R. B. Chandler rbchandler at hotmail.com
Sat Jun 24 07:32:56 PDT 2006


Where do we go from here? “What is the next (step)? I'm not sure we agreed 
exactly on how to proceed. Topical or alphabetical or something different?” 
Princess Artemis asks. What is the goal, what do we want to accomplish? This 
is what the panel of people revamping the AAA set is asking itself. Any good 
thoughts here could have a great impact on the direction AIML and 
Pandorabots could go in the future.

Do we want to fix the AAA set? I say there is nothing to fix. The AAA set is 
a bot specific (Alice’s) brain. Certainly the AAA set useful as an example 
but to alter the personality of the AAA set is an almost impossible task. We 
don’t have to reinvent the wheel here, but we may want to build a whole new 
kind of car. Perhaps several cars.

What makes up the core of any chatterbot? What would constitute a generic 
brain of the same?

To recap Brian’s view point for our viewers at home: 1) I envision 2 
dominant types of bots - a chatty bot and a direct bot. The chatty bot model 
is Alice and she has keep it moving type responses intermixed with her 
various categories. The direct bot requires more reduction, 
"Super-categories", better monitoring of "no response found" (targeting) by 
the botmaster and an applied FAQ knowledge base to be effective.

1a) Chatty bot responses intermixed with generically useful functions like 
reducers, reductions require the botmaster to make sure they are consistent 
with the bot's personality.

1b) Direct bots use "Super-categories" which I'll define as more reductions 
to fewer categories, but those categories have "better" (more suitable to 
the bot's personality) responses and use the <random> tag more to avoid 
repeating themselves.

2) Bot responses to sub-compartments of knowledge need to have an "as yet 
undefined" structure to them (maybe it is like a shopping list, maybe a tree 
view, maybe a 3-D cube, I'm open on this one and think we should just get 
started with a shopping list and look for what makes sense). Similar to the 
Alice AAA, ideas here are: bot's knowledge of itself, of AI, of its own 
existence, of its sexuality, of religion, of its own past (split further 
into family, job, friends, etc.) and so on. Gender of the bot can be 
concentrated through this effort. I also believe that many of the categories 
related to gender in Alice AAA have to do with the original design of the 
Turing test wherein the human has to try to guess whether a hidden candidate 
is a male or female and the test of machine intelligence was how well a bot 
could pass itself off accurately as one of the candidates (and then one year 
it became the interviewer)... this sort of "growing up of the code" needs to 
be compartmentalized so that it can either be eliminated or forged into the 
descendent bot (yes that is a new term) personality.

3) Some of the files just need an overhaul to take advantage of the above. 
That.aiml comes immediately to mind. The responses appear to be expecting a 
variety of responses which just mean yes, no, maybe and should be handled by 
reductions not separate categories.

4) Some of the files need an overhaul for what I call best practices. I 
think I've devised a means to avoid "no pattern found" whenever the bot asks 
a question. These should be debated and hammered through for approval in the 
sub-panel of this forum then applied to the complete data set in a 
controlled process.

Here again I ask, what makes up the core of any chatterbot? What would 
constitute a generic brain of the same?

Having cut the Reductions.aiml file in half category by category I was 
struck by how much could be handled by generic reductions for what, who, and 
where if there was a database of information the bot could draw from. The 
trick of course is having the database(s) available in the first place. A 
database of knowledge is rather simple to make and opens the door to an 
endless number of databases on various topics that can be created. But, you 
have to come back to what makes up the core of a bot?

Stripped down, bare bones, what is it that gives a bot the ability to carry 
on a conversation without really asking or answering any questions? If we 
can identify this one attribute we would know where we need to start in the 
creation of the basic brain of a chatterbot. Outside of this everything else 
is topical in nature and can range everywhere from a simple generic response 
to an in depth explanation of a given topic, and should be easily adaptable 
to any given bot’s personality.

Layout for Annotated AIML set should layout as follows: Master topic, 
topical, alphabetical or numerical or a combination of all three displayed 
in an easy to follow format. So that a presidents file I am working on will 
start with a generic presidents list 1- 42 in numerical order, followed by a 
more in depth look at each president listed alphabetically, followed by 
<srai> reductions. "Would you like to know more?" question requiring a 
<that> expression with a yes or no response would probably follow the 
respective category to which it is tied. So that it might look like this:

<topic name=”President”>
<category>
<pattern> WHO WAS THE FIRST PRESIDENT OF THE UNITED STATES</pattern>
<template> The first president was George Washington, would you like to know 
more about him?
</template>
</category>
<category>
<pattern> YES </pattern>
<that> The first president was George Washington, would you like to know 
more about him?</that>
<template><srai>Define George Washington</srai></template>
</category>
<category>
<pattern> SURE </pattern>
<that> The first president was George Washington, would you like to know 
more about him?</that>
<template><srai>Define George Washington</srai></template>
</category>
<category>... and so on and so forth from 1 - 42nd president...

<!-- Database -->

</category>... and so on and so forth...
<category>
<pattern> DEFINE GEORGE WASHINGTON</pattern>
<template> George Washington was born February 22, 1732. He was the 
Commander in Chief of American forces in the American Revolutionary War 
(1775–1783), and, later, the first President of the United States, an office 
he held from 1789 to 1797. Because of his central role in the founding of 
the United States, Washington is often called the "Father of his Country". 
Scholars rank him among the greatest of United States presidents.
</template>
</category>
<category>... and so on and so forth...

<!-- Reductions with srai expression - alphabetical/numerical -->

<category>
<pattern> TELL ME WHO WAS THE 1ST PRESIDENT </pattern>
<template><srai>Who was the first president of the United 
States</srai></template>
</category>
<category>
<pattern> TELL ME WHO WAS THE FIRST PRESIDENT </pattern>
<template><srai>Who was the first president of the United 
States</srai></template>
</category>
<category>
<pattern> TELL ME WHO WAS THE 1ST PRESIDENT OF THE UNITED STATES </pattern>
<template><srai>Who was the first president of the United 
States</srai></template>
</category>
<category>
<pattern> TELL ME WHO WAS THE FIRST PRESIDENT OF THE UNITED STATES 
</pattern>
<template><srai>Who was the first president of the United 
States</srai></template>
</category>

<category>
<pattern> WHO WAS THE 1ST PRESIDENT </pattern>
<template><srai>Who was the first president of the United 
States</srai></template>
</category>
<category>
<pattern> WHO WAS THE FIRST PRESIDENT</pattern>
<template><srai>Who was the first president of the United 
States</srai></template>
</category>
<category>
<pattern> WHO WAS THE 1st PRESIDENT OF THE UNITED STATES</pattern>
<template><srai>Who was the first president of the United 
States</srai></template>
</category>
<category>... and so on and so forth from 1 - 42nd president...
</topic>

The above example would also be a good example of an independent knowledge 
plug-in where a bot would be able to instantly gain a topical knowledge of 
presidents simply by adding the plug-in’s file to its brain. How much of 
such knowledge could be added to any give bot if there was a library of such 
plug-ins available? Here again we have to ask what is the core around which 
such plug-ins could be built?

This is the great philosophical question for which we need an answer. What 
would you have liked to have had available to make bot building easier? If 
you could have had a plug-and-play brain to start with what would you like 
it to have been like? What makes up the core of any chatterbot? What would 
constitute a generic brain of the same? We could use some feedback if we are 
to completely overhaul the AAA set effectively.


R. B. Chandler




More information about the pandorabots-general mailing list