Information Technology Reference
In-Depth Information
with
proc
interpret objectphrase
(
pickBest
(
var, AllEntities,
interpret object
(
var
))
| reject
)
if
finished
then
nil
else
(
pickBest
(
var, AllParams,
assign argument
(
var
))
| reject
)
endif
endproc
where
Al lActions
,
AllEntities
,and
AllParams
are sets of all skills of the robot, all
entities known to the robot, and all parameters of a skill in the robot's domain specifica-
tion, respectively. We consider more intelligent selection methods than taking all items
available in the evaluation. The
solve
-statement initiates decision-theoretic planning,
where
pickBest
(
var
,
VarSet
,
prog
)
is a non-deterministic construct that evaluates the
program
prog
with every possibility for
var
in
VarSet
using the underlying optimisa-
tion theory given mainly by the reward function, which rates the quality of resulting
situations. To design an appropriate reward function situations that represent better in-
terpretations need to be given a higher reward than those with not so good interpretation.
A possible reward function could be to give a reward of
10
if the assumed action is not
nil
and one could further add the difference between the number of assigned arguments
and the total number of parameters required by the selected skill. Doing so results in
situations with proper parameter assignment being given higher reward than those with
fewer matches. If two possible interpretation have the same reward, one can either ask
the user which action to take or simply pick one of them at random.
Example.
Consider the utterance “Move to the kitchen.” After syntactical processing
we have the internal representation
[and, [[move, [objects, [[to, [the,
kitchen]] ]]] ] ]
. Using the program given above and a small basic action the-
ory as introduced before, one of the skills available to the robot that has
go
as a synonym
may be
goto
which is stored in
assumed action
by the action
interpret action
. Then,
interpret object
(
kitchen
)
will assume
kitchen
as the object (along with the preposi-
tion
to
). However, it could also interpret “move” as bringing some object somewhere
which leads to a lower reward, because a parameter slot remains unassigned. Trying
to assign arguments for the skill
goto
may succeed since
kitchen
is an entity that has
the
Location
attribute as would naturally be required for the target location parame-
terofa
goto
skill. Comparing the rewards for the different courses of interpretation
the system will pick the interpretation with the highest reward, which is executing the
goto
(
kitchen
)
skill.
3.3
Clarification and Response
Things might not always go as smoothly as in our example above. To provide a system
that has capabilities beyond a pure interface to translate utterances to system calls we
therefore include means for clarification if the utterance is missing information.
If the verb is missing, our grammar from the syntactical processing will already fail
to capture the utterance. Hence, we only consider missing objects for clarification in