Information Technology Reference
In-Depth Information
interpretation domain we operate in. Let's take a look at those fluents first. We use the
fluents
spoken verb
(
s
)
and
spoken objects
(
s
)
to store the verb and the list of objects
extracted in the syntactic processing. Further, we use the fluents
assumed action
(
s
)
and
assumed objects
(
s
)
to store the skill and the list of objects that we assume to be
addressed by the user, respectively. Both these fluents are
nil
in the initial situation
S
0
since no interpretation has taken place so far. The fluent
assumed arguments
(
s
)
con-
tains a list of pairings between parameters and entities. Finally,
finished
(
s
)
indicates
whether the interpretation process is finished.
Let us now turn to the three interpretation actions. The precondition axiom for
interpret action
states that
interpret action
(
k
)
is only possible if we are not done
with interpreting yet and the word
k
actually is a synonym of the verb spoken. Simi-
larly,
interpret object
(
e
)
is possible for an entity
e
only if we are not finished and the
object (from
spoken object
(
s
)
) is a synonym appearing for
e
. Finally, the precondition
axiom for
assign argument
for an entity
e
and parameter
p
checks whether the in-
terpretation process is not finished and there is no entity assigned to the parameter yet.
Further,
p
needs to be a parameter of the assumed skill and we either have no preposi-
tion for the object or the preposition we have matches the preposition associated with
the parameter. Lastly, the attributes associated to parameter
p
need to be a subset of the
attributes for the entity. To allow for aborting the interpretation process we additionally
introduce an action
reject
which is always possible. We omit the formal definitions
here for space reasons.
After detailing the preconditions of actions, we now lay out how these actions change
the fluents introduced above. The fluents
spoken verb
and
spoken objects
contain the
essence of the utterance to be interpreted. The effect of the action
interpret action
(
k
)
is to reset the fluent
spoken verb
to
nil
andtosetthefluent
assumed action
to the assumed skill
k
. The action
interpret object
(
e
)
iteratively re-
moves the first object (in a list of multiple objects) from the fluent
spoken objects
and
adds it to the fluent
assumed objects
along with its preposition (if available). The ac-
tion
assign argument
(
p
)
removes the object from the fluent
assumed objects
and it
adds the pair
(
p,e
)
for parameter
p
and entity
e
to the fluent
assumed arguments
.Fi-
nally, the fluent
finished
is set to
true
if either the action was
interpret action
and
there are no more objects to process (i.e.
spoken objects
is empty) or the action was
assign argument
and there are no more objects to assign (i.e.
assumed objects
is
empty). It is also set to
true
by the action
reject
.
Programs.
Using the basic action theory described above, the overall interpretation
process can now be realised with R
EADYLOG
programs as follows. In case of multiple
verb phrases we process each separately. For each verb phrase, we first interpret the
verb. Then, we interpret the objects before we assign them to the parameters of the skill
determined in the first step. The procedures to do so are
proc
interpret verbphrase
solve
(
{
(
pickBest
(
var, AllActions,
interpret action
(
var
))
| reject
)
while
¬finished
do
interpret objectphrase
endwhile
, horizon, reward function
)
endproc
}