Lably
Skip to content

Dialog manager

  • 12 min read
  • 4 chapters

Related on Lably

Through Dialogue system, Natural language generation and Expert system

  • The input to the DM is the human utterance, usually converted to some system-specific semantic representation by the Natural language understanding (NLU) component. For example, in a flight-planning dialog system, the input may look like "ORDER(from=TA,to=JER,date=2012-01-01)".
  • The DM usually maintains some state variables, such as the dialog history, the latest unanswered question, etc., depending on the system.
  • The output of the DM is a list of instructions to other parts of the dialog system, usually in a semantic representation, for example "TELL(flight-num=123,flight-time=12:34)". This semantic representation is usually converted to human language by the Natural language generation (NLG) component.

There are many different DMs that fulfill very different roles. There can even be several DM components in a single DS.

The only thing common to all DMs is that they are stateful, in contrast to other parts of the DS (such as the NLU and NLG components), which are just stateless functions. The DM roles can roughly be divided into these groups:

  1. Input-control, which enable context-dependent processing of the human utterances.
  2. Output-control, which enable state-dependent generation of text.
  3. Strategic flow-control, which decide what action the dialog agent should take at each point of the dialog.
  4. Tactic flow-control, which make some tactical conversational decisions (error handling, initiative control, etc.).

Input-control DM

The human input has different meanings depending on the context. For example, in a travel-planning DS:

  • Computer: Where do you want to depart from?
    • Human: Tel Aviv.
  • Computer: Where do you want to arrive at?
    • Human: Gaza.

The meaning of the city name depends on the previously asked question. A DM may keep that question in a state variable, and use it to convert "Tel Aviv" to "I want to depart from Tel Aviv", and convert "Gaza" to "I want to arrive at Gaza".

This function is on the border between NLU and DM: in some systems it's included in the NLU, such as the context-dependent rules of Milward (2000); while in other systems it is included in the DM, such as the NP resolution module of Mirkovic and Cavedon (2005).

Another function between the NLU and DM is, determining which input utterances are part of a single utterance. Here is an example from a job negotiation dialog:

  • I offer a salary of 20,000 NIS
  • and a car
  • The pension conditions will be decided later

All three utterances are actually a single offer. For the second utterance, the word "and" is a clue, but for the third utterance the only possible clue is that it was said immediately after the second one. To understand this, the DM should probably keep a timestamp of each utterance.

Sign in to keep reading

3 more chapters are free with a Lably account.

More in From Lably lessons