The task model consists of a set of typed feature structures, referred to as the task descriptions. Informally, a task description serves to specify a minimal amount of information that is necessary in order to perform a specific task, and the conditions that have to be verified in order for the execution of the task to be admissible. Consequently, each task description consists of two parts. The first part describes lower bounds on information related to the execution for the task associated with the task description. The second part describes an escape condition that has to be verified in order for the system to perform the goal. This is a reformulation of the concept of a persistent goal [Cohen and Levesque1994] in terms of feature structures. The representations of the task model only constrain the information necessary in order to perform a task; it does not describe how the task should be carried out. This is done by clauses as described in section 3.4.
Since the task model describes lower bounds on information particular to one application it is application-specific and can not be reused in general. However, only the task model describes the informational part of the tasks the dialogue system may carry out.
Figure 5: Strictly lower bounds of the information necessary to perform a restaurant
reservation is represented in the value of the INFO feature. The CANCEL
feature represents information that will remove the goal from the stack and thus represents
an escape condition. The SUBGOALS feature returns a value of lower bounds on
information that, if satisfied, trigger the execution of subgoals while not changing
the stack of persistent goals.
In case the provided information is still not specific enough to determine the intended task uniquely, an underspecified representation of all possible task representations allows to generate clarification questions to seek additional information. If, in the course of the dialogue, the acquired information is more specific than one or more of the representations in the SUBGOAL list, the action associated with the subgoals are carried out while the persistent goal remains on the goal stack. This is helpful for generating feedback to the user in the midst of a dialogue (see also the example in figure 10).
The task model is specific for one particular application and needs to be specified by the application designer. It answers the second of the three questions, namely which actions can the system perform and what is the information it needs to do so.