[alicebot-archcomm] Topic handling
Dr. Rich Wallace
alicebot-archcomm@list.alicebot.org
Sat, 26 Jul 2003 12:02:38 -0700 (PDT)
There is a lot of material in this proposal.
One point to consider: you can implement a topic stack in AIML without
adding any new tags. Kim Sullivan and others have already show how to
write stacks with PUSH and POP operations in "pure" AIML.
> The topic is accessed by <topic name="..."> to group categories in the
> AIML files and by <set/get> inside <template> to switch the topic.
>
> Proposal:
>
> Top-level topic: <topic value="..."> ..... </topic> (changed)
>
> The use of the attribute "value" is consistent in the face of the
> overall use of name/value in AIML.
>
> Pattern-side topic: <topic> ... </topic> (new)
>
> This works analog to pattern-side <that> and might be more readable
> in cases, you want to group categories by patterns.
>
> Constraint: If <topic> is defined top-level, the use of pattern-side
> <topic> is forbidden.
>
> Template-side topic: <topic [value="..."|index="#"|pop] /> (new)
> <topic [push]>...</topic> (new)
>
> The use of normal set/get here interferes with user-defined
> predicates (variables). So it might be clearer to handle the topic
> analog to template-side <that> with the difference, that <topic> is
> writable.
>
> Possible usage:
>
> <topic value="..."/> or
> <topic push>...</topic> or
> <topic>...</topic> set current topic and push it
> on stack
>
> <topic/> or
> <topic index="1"/> return current topic
>
> <topic index="2"/> return last topic
> <topic index="3"/> return last but one topic
> etc.
>
> <topic pop/> return current topic and pop it
> from the stack (last topic becomes
> current topic)
>
> (Maybe we have to use something like push="1" or push="push" or
> action="push" to be 100% XML compliant - any XML guru around? ;-)
>
>
> For that matter another
>
> Proposal:
>
> Top-level that: <that value="..."> ..... </that> (new)
>
> Works like top-level <topic> and helps grouping categories.
>
> Pattern-side that: <that> ... </that> (unchanged)
>
> Constraint: If <that> is defined top-level, the use of pattern-side
> <that> is forbidden.
>
> Template-side that: <that [index="#[,#]"] /> (unchanged)
>
> Read-only in contrast to the template-side <topic>.
>
>
> The new idea of having a topic-stack must be discussed. There might be a
> need of this - see i.e.
> http://www.alicebot.org/pipermail/alicebot-general/2002-March/003514.html
>
> And there is another issue: Top-level and pattern-side <topic/that> are
> used to define patterns to be matched against the current values, while
> the template-side <topic/that> return the current values: <that
> index="1,1"/> returns the bot's last uttered sentence, which is matched
> against the pattern-side <that>. The same applies to <topic>, so the
> AIML writer must be careful, what to store in <topic> and what he'll get
> back in respect of meaningfull output - e.g. pay attention to character
> case, do not store topics like "* LIZARDS" etc..
>
> Maybe <topic/> should return '' instead of '*', if the last topic was
> '*' aka 'catch all' aka 'stack is empty'.
>
> I think, that a topic stack is useful especially in catch-all categories
> to return to a previous topic.
>
> Ernest
>
> --
> ProgramV - Alice on Perl - available at
> http://www.virtualitas.net/perl/aiml/
>
> VIRTUALITAS - Manufacturer of fine OOPPS - since 1996
> ********************************************************************* *
> VIRTUALITAS Inc. * http://www.virtualitas.net * *
> Ernest Lergon * mailto:Ernest@virtualitas.net *
> *********************************************************************
> PGP-Fingerprint 6E6F DC17 A886 342D D63F 7880 12F5 6BA9
> PGP-Key http://www.virtualitas.net/Ernest_Lergon.asc
>
> ---------------------------------------------------------------------
> SPAM ALERT http://www.virtualitas.net/spam.html
> ---------------------------------------------------------------------
>
>
> _______________________________________________
> 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