next up previous
Next: Backend Manager Up: Architecture Previous: Parsing and Language Modeling

Dialog Manager

Dialog management in the Let's Go system is based on RavenClaw [3], a generic framework for dialog management. RavenClaw features a task-independent dialog engine that carries out the dialog according to a task specification. To build a dialog system for a new task, a dialog specification is written as a tree structure where each node represents a ``dialog agent''. Figure 1 is a simplified representation of the tree structure. Each leaf agent is in charge of one of four elementary tasks:

Non-terminal agents (a.k.a. agencies) group other agents and control their execution, capturing the higher level temporal and logical structure of the dialog.

Each call to the system starts with a welcome message that prompts the user to make a request. The system waits for the user's answer and grabs concepts such as question type (e.g. ``When is the next bus to X?'', ``How can I go from X to Y?'') or departure and arrival times and places. If it has enough information to be able to submit a query to the database, it does so, presents the results to the user, and prompts for a new query. If more information is needed to make a complete query (e.g. the user gave the destination but did not specify a place of departure), the system explicitly prompts the user to provide the missing information (e.g. ``Where are you leaving from?'').

Some agents (not represented in Figure 1) handle the explicit confirmation of recognized concepts. In the current system, each time a new piece of information is obtained from the user, the system repeats what it understood so that the user can detect and verbally correct misrecognitions as they occur.

Figure 1: Tree Structure of the Dialog Agents
[width=3.2in]dmarchitecture.eps


next up previous
Next: Backend Manager Up: Architecture Previous: Parsing and Language Modeling
Alan W Black 2003-10-27