[alicebot-archcomm] Matching Order Revised

Jonathan Roewen alicebot-archcomm@list.alicebot.org
Tue, 18 May 2004 10:50:26 +1200 (NZST)


> ..the user input is the most important piece of the
> conversation whatever we
> are using that or topic categories.

Right, which is why <pattern/> comes first. From the
point of view of highly structured categories, and
things like trying to process logic, however, can
become problematic in such a scenario.

Hence, this was why I added a <context/> tag to
J-Alice, to allow for easier programmatic-style AIML
use. It gets matched before the user-input, and I
generally only use it for pre/post processing, or for
enforcing a restriction on the user input.

I think the most confusing thing about <topic/> is its
name. As for <that/>, I think it serves its purpose
very well in the current ordering of topics. And don't
forget about the underscore ;-)

> With slight modification, the matching order here
> below can achieve more
> contextual capabilities by still pose the user input
> as the most important
> piece of the conversation but, IMO, it shall keep
> the context because it's
> ordered by the topic and the that

If it's ordered by topic and that, then the user input
will never be the most important piece of the
conversation, as a catchall in a topic is more
important than an exact match outside of the topic.

> With this matching order, i see there are some
> advantages.
> The context is kept because, before the user input
> match, the topic and the
> that are taken into consideration first.

Only because you have no considered the fullness of
the matching orders, as you omit the underscore a lot.
Do not forget that you can use the underscore for
<topic/> and <that/> as well.

> Moreover, half of the matches can be skipped if no
> topic is set, and a
> quarter of the matches can be skipped too if no that
> is set.

In theory it's not. Only in practice as there are less
categories that use non-default <that/> (*) than there
are for <pattern/>. And similarly for <topic/>.

Jon =)


Find local movie times and trailers on Yahoo! Movies.
http://au.movies.yahoo.com