[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 (Alices) brain. Certainly the AAA set useful as an example
but to alter the personality of the AAA set is an almost impossible task. We
dont 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 Brians 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 bots 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
(17751783), 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-ins 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