[alicebot-archcomm] Conditional wildcards
Gary Dubuque
alicebot-archcomm@list.alicebot.org
Mon, 3 Mar 2003 11:22:59 -0800
No I have the proper running code.
I am doing two things like you have noticed.
One is demonstrating the need to revise the official standard to be clear
about things like adjacent wildcards (which are apparently in the standard
if one wishes to perform rigorous mathematical proofs). But there are edits
to be done because, for example, the flowchart for "Explanation via
implementation description: Graphmaster" doesn't match the text. I know its
a nit, but this is already a confusing subject to many AIML beginners.
The other is to explore a proposal for dealing with typed wildcards other
than the two kinds the standard currently utilizes. This second topic is
ambitious. I'm probably going to back away from it again as has been done
so many times before until I can demonstrate a strong working example with
significant benefit to AIML. It is feasible and not as expansive as the
template side processing that comes with things like <uppercase>,
<lowercase>, <formal>, <sentence>, <size/>, <version/>, <id/>, <person/>,
<sr/>, etc. Those kinds of feature have always, in my experience, been like
hydras. They can multiple like wildfire. I don't envision that happening
with elements on the pattern side. I have another topic for pattern side
that I am hesitant to brook. So I'll save that discussion until the dust
settles.
Regards,
Gary Dubuque
Lazy AIML is my style
-----Original Message-----
From: alicebot-archcomm-admin@list.alicebot.org
[mailto:alicebot-archcomm-admin@list.alicebot.org]On Behalf Of Dr. Rich
Wallace
Sent: Monday, March 03, 2003 12:00 AM
To: alicebot-archcomm@list.alicebot.org
Subject: RE: [alicebot-archcomm] Conditional wildcards
> It is this design I am tampering with.
>
Gary, are you trying to implement the wrong algorithm, or describe the
correct algorithm? If you are having trouble with the implementation,
there are several code examples of the Graphmaster matching algorithm in
M.setl, Program D, Program dB, E, V, J, and all the others; just copy one
of those and translate it to your environment.
If you are trying to describe the algorithm, may I suggest a metric based
approach I have been working on (but not found the solution to). Indeed
you are correct that a given input X might match(*) a set {P} of AIML
patterns becuause of wildcards. Even within that set there might be
ambiguous matches (assuming we were really confused about the order of
assigning words to the wildcards) depending on how we rearrange the words
between the wild cards. So let us say there is a set of matches {M}
associated with each P.
Now, Let M' = the union of all the sets {M{P)} be the set of all possible
matches of X from a given AIML set containing the P's.
I claim that given each match M in M' there exists a distance metric
d(X, M) that measures the difference in pattern space between the input
and the given match M.
Moreover, there is a unique M in M' such that d(X, M) is less than all the
other d(X, N) for N in M'-{M}. Specifically, this M corresponds to the
match selected by the Graphmaster matching algorithm.
Put another way, there is a "cost" metric associated with matching any
input with the set of AIML patterns. If the pattern doesn't match at all,
we could say the cost is infinite. Among the possible matches, there is a
set of associated finite costs. The match found by the Graphmaster is the
"cheapest" one among these.
The only little technical glitch in my presentation here is that, as yet,
I have been unable to define such a suitable metric d(X, M).
Note: (*) We can even give a technical definition of "might match" by
saying that if X is an input and P is a pattern, then consider the pattern
in isolation as the sole member an AIML set. Does X match P in this set by
itself? If so, we could say P "might match" X in any larger AIML set
containing {P} as a subset.
_______________________________________________
alicebot-archcomm mailing list
alicebot-archcomm@list.alicebot.org
http://list.alicebot.org/mailman/listinfo/alicebot-archcomm