[alicebot-archcomm] Conditional wildcards
Gary Dubuque
alicebot-archcomm@list.alicebot.org
Sun, 2 Mar 2003 10:21:09 -0800
You've got it! You understand already. Again, I am asking for noting
different than a wild card except that it doesn't match unless the
conditions are met. Wildcards are always ambiguous. But a wildcard for a
phone might not match where a wildcard for a date would. All the rest of
the processing would be the same as any regular wildcard.
Sure you can say lets do the check in the template. Well maybe we could use
somehting like a regular expression there (in javascript maybe?) And if it
fails, we can throw the input back into fire using <srai>? I don't think
you have that option. You have to find a way to rephrase the input or make
a whole new back-end processing to pick up any other pattern the input might
have matched having proved the original star match was invalid. Its kinda
like a not "topic".
Anyway, these are just ideas to consider. As I said before, this is an old
subject.
Thanks very much,
Gary Dubuque
Sometimes I think too much
-----Original Message-----
From: alicebot-archcomm-admin@list.alicebot.org
[mailto:alicebot-archcomm-admin@list.alicebot.org]On Behalf Of Jonathan
Roewen
Sent: Saturday, March 01, 2003 2:26 AM
To: alicebot-archcomm@list.alicebot.org
Subject: Re: [alicebot-archcomm] Conditional wildcards
> This version of AIML would work if you wanted to record every number
> possible. Already we have many categories for just entering someone's
age.
> The idea is that these are classes of items to match. Classes that don't
> fit into the realm of just natural language. Surely you're not saying that
> entering all those dates would simplify the processing of them. I would
> image the minimalist would say no, no, no, we want it simple. Just let us
> call a date a date. Don't make us list all the possible dates there are.
Who says you have to? You don't have to do that, just to make use of a
class. There are ways to find out what kind of class (if any) that a word is
after it has been matched to a wildcard when being processed in the
template.
> So how are we going to know when someone is going to use a date as an
> answer? One has to ask deliberately for a date or expect that only a date
> is appropriate from the context of the inputted phrase. This leaves alot
of
> wiggle room.
Only if you let there be wiggle room.
Such things as conditional wildcards have been attempted before. There was
the typeof tag Jon Baer experimented with, and maybe not quite as known was
creating sets, and specifying a set (a restricted wildcard, using @ syntax).
There are problems with both.
Typeof has the problems of how to expand the tag .. does it occur while
processing the template, or does it get expanded into multiple categories at
load time? Also, what happens with two or more instances of the same typeof
in both the template and pattern? Such as:
<pattern><typeof_a/> * IS <typeof_a/> *</pattern>
<template>I didn't know <typeof_a/> <star/> is <typeof_a/> <star
index="2"/></template>
And <typeof_a/> is defined to be "a" and "an". How do you know which is
which in the template? Do you instead treat matching to a typeof as an
additional wildcard, so it'd instead be:
<template>I don't know <star/> <star index="2"/> is <star index="3"/> <star
index="4"/></template>
If you do, this would imply the category doesn't get expanded at load time.
And the @ syntax has the same problem as your conditional wildcard idea. How
do you decide among two plausible matches?
What if you have @NUMBER and @PHONE? @PHONE would just be a more restricted
form of @NUMBER but the interpreter doesn't know that.
I do believe that <typeof> could become a possible solution .. it would just
require a bit of work to establish exactly how it would work. But it is
still susceptible to the same problem as these others.
So I guess the real question is: is the possibility for ambiguity such as
this acceptable?
Jon =)
_______________________________________________
alicebot-archcomm mailing list
alicebot-archcomm@list.alicebot.org
http://list.alicebot.org/mailman/listinfo/alicebot-archcomm