[alicebot-archcomm] multiple patterns in a category

Gary Dubuque alicebot-archcomm@list.alicebot.org
Sun, 30 Mar 2003 09:40:20 -0800


I don't understand where any scaling problems could occur.  All the
categories are represented whether you need the more verbose syntax or the
compact version.  It seems to me to be the same impact on the bot engine.

As for merge policy, who has one?  I have yet to see any stated for the
record in AIML standards.  How can we concern the architecture of AIML with
things that are not part of it?  You can't have an intelligent discussion if
you don't know what you are talking about.

I can't see whether merging duplicate patterns would be any different than
using srai to reduce the multiple patterns into one.  If in the example
below, "IT IS *" was srai'ed from "THEY ARE *", a merge on "IT IS *"
wouldn't take into consideration any of the categories using it.  A merge on
"THEY ARE *" in this proposition would be different since it would not
effect any other category using "IT IS *".

Ultimately the new syntax is stating that the three patterns are identical
for the template and should share in the effects of any merge on each.

The catch is the other side where the merge is triggered.  Does a new
pattern have to accept the multiple associations as defined by the multiple
patterns in a category?  This probably would be wrong to flatly assume it
works.  The new pattern added to the mix doesn't have the context in which
the multiple patterns were optimized.  The proper merge policy from this
point of view would be to split the category apart into ones with only a
single pattern and template and then do the traditional algorithm of the
particular engine's merge policy.

The caveat delaying the implementation is the complexity of parsing multiple
patterns into the Graphmaster search index.  Holding the multiple patterns
while it iterates through the list is more work each engine would require to
fulfill this standard.  Can we get programmers to make these enhancements?

At one time there appeared to be a tool that listed all the patterns for
each unique template.  A preprocessor that formatted the AIML for editing
like described below and then saved back to the existing AIML standard would
be a great help.  With over 20,000 categories, I am finding days being lost
just trying to read the mess.  We have to find a better way to organize if
we expect the hundreds of thousands of categories required to produce a
robust chat.

Dirk Scheuring has approached the problem of the massive number of
categories by partitioning them into many files and using the file system to
organize.  I am quickly headed towards this resolution too.  Perhaps this is
all we really have to combat the tediousness of working directly inside the
AIML files.

Regards,
  Gary Dubuque
  AIML is alot to master

-----Original Message-----
From: alicebot-archcomm-admin@list.alicebot.org
[mailto:alicebot-archcomm-admin@list.alicebot.org]On Behalf Of Sandro
Golinelli
Sent: Sunday, March 30, 2003 6:10 AM
To: alicebot-archcomm@list.alicebot.org
Subject: Re: [alicebot-archcomm] multiple patterns in a category


A content creation tool would do a nice job.
But what if you have to watch inside the code? You'll could be completely
lost!
*Readability* of the code is important too.
Minimal AIML, to me, means also to have a 7 line category and not 3
categories in 21 lines of code. (based on quoted example)

So, as everything affects everything else, before deepen multiple patterns,
we have to discuss about the merge policy and later check for scaling
problems that can rise with the adoption of multiple patterns.

Do someone agree with this?

--
sandro

At 14.40 24/03/2003 +0100, you wrote:
>Multiple patterns per category can be handled by higher level content
>creation tools and compiled into AIML along exactly the lines you have
>suggested.
>I woul let the multiple pattern category be outside the scope
>of minimal AIML, even though its meaning is somewhat obvious.
>Under the thread, "everything affects everything else", multiple patterns
>per category will introduce scaling problems, potential conflicts between
>categories that must be resolved at load time (by a "merge policy") and
>also impact the targeting algorithm.
>
>
> > please state your concerns about something like :
> >
> > <category>
> >          <pattern>*</pattern>
> >          <pattern>IT IS *</pattern>
> >          <pattern>THEY ARE *</pattern>
> >          <that>WHAT</that>
> >          <template>
> >                  i don't know more about <star/>
> >          </template>
> > </category>
> >
> > it can handle a chat like:
> >
> > user: i-ching
> > bot: what?
> > user: the book of changes
> > bot: i don't know more about the book of changes
> >
> > or
> >
> > user: i-ching
> > bot: what?
> > user: they are the fundamental books of Confucianism
> > bot: i don't know more about the the fundamental books of Confucianism
> >
> > or
> >
> > user: i-ching
> > bot: what?
> > user: it's the book of changes
> > bot: i don't know more about the book of changes
> >
> >
> > in this example, we have a category, the template is activated by any
> > input  and where the previous bot sentence is "what"
> > This template will also be activated by any input starting with "it is"
> > or  "they are" followed by at least another word, and where the bot
> > previous  sentence is "what"
> >
> > this example is pretty simple but instead to write a 7 line category,
> > using  current standard aiml, i should write something like:
> >
> > <category>
> >          <pattern>*</pattern>
> >          <that>WHAT</that>
> >          <template>
> >                  i don't know more about <star/>
> >          </template>
> > </category>
> >
> > <category>
> >          <pattern>IT IS *</pattern>
> >          <that>WHAT</that>
> >          <template>
> >                  i don't know more about <star/>
> >          </template>
> > </category>
> >
> > <category>
> >          <pattern>THEY ARE *</pattern>
> >          <that>WHAT</that>
> >          <template>
> >                  i don't know more about <star/>
> >          </template>
> > </category>
> >
> > 21 lies of code, or many more, where just a line is different among
> > these  categories.
> >
> > what do you think ?
> >
> > --
> > sandro
> >
> > _______________________________________________
> > alicebot-archcomm mailing list
> > alicebot-archcomm@list.alicebot.org
> > http://list.alicebot.org/mailman/listinfo/alicebot-archcomm
>
>
>--
>Dr. Rich
>W A L L A C E
>ALICE A.I. Foundation
>drwallace@www.alicebot.org
>"Dean of cheezo-hobby system hackers."--Salon
>
>
>
>_______________________________________________
>alicebot-archcomm mailing list
>alicebot-archcomm@list.alicebot.org
>http://list.alicebot.org/mailman/listinfo/alicebot-archcomm

_______________________________________________
alicebot-archcomm mailing list
alicebot-archcomm@list.alicebot.org
http://list.alicebot.org/mailman/listinfo/alicebot-archcomm