next up previous
Next: A Preliminary Evaluation Up: Dialogue Management Previous: Dialogue Moves

The Dialogue Management Cycle

In every turn, the DM receives a number of FUDs. No attempt is made to select the ``best'' FUD at this stage, but each FUD is processed in a number of steps. First, references are resolved and contextual information is added. Since there may be several possible antecedents for each reference, and several possible contexts, this leads to a multiplication of the FUD (typically a FUD gives rise to five to ten ``resolved'' FUDs).

As the next step, each resolved FUD is classified as a move (of one of the categories mentioned in the previous section), and a likelihood score is computed for each pair of resolved FUD and move. The winning pair is sent on to the next stage; all other candidates stemming from the same original FUD are discarded.

Once the DM knows what move the FUD represents, the dialogue state can be updated. For instance, if the user has made a user:accept move, the DM will look for the appropriate object in its list of objects under discussion, and mark that object as `accepted'. Furthermore, it will add actions to the agenda; in the case of an acceptance move from the user, a move for confirming the booking will be added.

Next, the DM will choose the system's response by looking at its agenda. The agenda is organised as a stack of items of the form

<Cond, Action>

where Cond can be any predicate that can be true or false of a dialogue state. If the top item's Cond is true for the current dialogue state, the corresponding Action is performed. Typically, Action is a response move (for example, a reply from the system to the user), or a database lookup. (It may also be an instruction to reorganize some internal data structure.) If Cond is false, the whole item is popped off the agenda, and the DM proceeds to the next item.

Finally, the chosen response action is given a score by a heuristic function. For example, prompting the user to rephrase his last utterance is judged as being less productive than asking ``When do you want to travel'' or performing a database lookup. Furthermore, the response may receive extra scores based on the input FUD (e.g. for the number of previously unknown filler values the FUD determined).

The winning response action is then carried out, which amounts to sending a message to the linguistic generator (in case of a system utterance), or to the database agent. The working cycle of the DM is summarized in Figure 4 gif.


For each FUD:
  1. Resolve references
  2. Add contextual information
  3. Classify the FUD as a certain move
  4. Update dialogue state
  5. Choose a response action (system utterance or database call)
  6. Calculate preference score

Figure 4: Basic working cycle of the dialogue manager.



next up previous
Next: A Preliminary Evaluation Up: Dialogue Management Previous: Dialogue Moves



Mats Wiren
Mon Oct 25 13:51:54 MET DST 1999