[alicebot-archcomm] input and that

Noel Bush alicebot-archcomm@list.alicebot.org
01 Apr 2002 20:21:13 +0400


I tend to think that it should return the original, unaltered input. 
Cases where this isn't done can lead to confusing results; consider:

user> I don't know
bot> That's okay with me.
user> Why did you say that?
bot> I said, "That's okay with me" because you said "I do not know".
user> I didn't say "I do not"; I said "I don't".

I have seen exchanges like this.  When the substitutions are more
involved, the user can be even more baffled.

A similar issue comes into play with srais.  I think the spec needs to
spell out that the interpreter must distinguish between the original
input and its reduced form.  Otherwise, in a case where the bot is
repeating something back to the user, it can seem that the bot has
totally "misheard" what the user said.

On Mon, 2002-04-01 at 20:12, Dr. Richard S. Wallace wrote:
> One of the tricky issues here is that the substitutions are many-one
> (non-invertible) mappings.  For instance all of the client inputs
> 
> I'm Mr. Smith.
> I'm Mr Smith.
> I'm Mr. Smith...
> I'm MR Smith.
> 
> would all map to the same string by the deperiodization subs.
> 
> The normalization substition is "even more" many-one, if you get my meaning.
> 
> The simplest solution would be to agree that <input/> and <that/> always
> return the normalized form, and it is up the Botmaster to prettify the
> output with <uppercase>, <lowercase>, <formal>, and <capitalize>.
> 
> Another solution might be to remember the original form of each sentence,
> but this is tricky with deperiodization, because the substitution occurs
> before the sentence-splitting.
> 
> Another solution would be to implement a "denormalize" substitution, which
> would make a "best guess" at restoring the original input.   Even more
> generally, there could be a whole post-processing substitution stage where
> the botmaster can correct a variety of grammatical mistakes the robot makes.
> 
> Rich
> 
> 
> ----- Original Message -----
> From: "John Foderaro" <jkf@franz.com>
> To: <alicebot-archcomm@list.alicebot.org>
> Sent: Monday, April 01, 2002 7:39 AM
> Subject: [alicebot-archcomm] input and that
> 
> 
> >
> > Section 7.1.3 of
> > http://www.alicebot.org/TR/2001/WD-aiml/
> >
> > says:
> >     The input element tells the AIML interpreter that it should
> >     substitute the contents of a previous user input.
> >
> >
> > my question is: is this the exact input the user provided or is
> > is the input after substitution?
> >
> > For example, given:
> >         I'm Mr. Smith
> > is <input> going to return
> >
> >         I'm Mr. Smith
> > or
> >         I am Mr Smith
> >
> >
> >
> >
> >
> >
> >  I've got the same question of <that> in section 7.1.2,
> > should <that> return bot output or the result of doing
> > substitution over bot output.
> >
> >
> >
> > The reason that I believe that substitution is important for
> > these elements is that the elements specify a particular
> > sentence of the input or reply and substitution is used
> > to remove characters that would otherwise cause the sentence
> > to be broken prematurely.   Now with a bit of programming
> > work you could do the substitutions, break the string
> > into sentences and then undo the substitutions thus giving
> > the raw user input or bot output.  Is this what should be done?
> >
> >
> >
> > -john foderaro
> >
> > _______________________________________________
> > 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
>