commerce chatbot - dialog manager

Post on 22-Jan-2018

107 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

• Dialog Management System

• Dialog Manager

• Dialog Management Technologies

• Main features in Ravenclaw

• 2-tier architecture

• Dialog Task Specification

• Dialog Agents

• Agent Behavior

• Concept

• DTS in Ravenclaw

• Hierarchical Plan-based representation

• Core Algorithm

• Execute Phase

• Stack & Tree

• Input phase

• Expectation agenda

• Mixed initiative

• Control the amount of initiative

• Context-based semantic disambigution

• Error handling

Dialog Management System

• determines the next system action with– Current semantic input

– Current dialog state

– Information about the task

• more-complex model– Timing, turn-taking

– Barge-ins, backchannels, multi-participant conversation

– Error handling

– Various appropriate requests

Dialog Manager

• Finite-state dialog manager

• Form-filling (frame-based) dialog manager

• Plan-based dialog manager (RavenClaw)

– Model the goals of the conversation

– Guide the dialog along the path towards these goals

Dialog Management Technologies

• Task-independence– Clear separation between – the domain-specific aspects of the dialog control l

ogic– And domain-independent– Reusable dialog control mechanism

• Flexibility• Scalability• Transparency• Modularity• …

Main features in RavenClaw

2-tier architecture

• DTS(Dialog Task Specification)– Covers domain specific aspects

– Describes hierarchical plan

– Consist of a tree of dialog agents

Dialog Task Specification

• Types• Inform

–Generate output(e.g. greeting)

• Request–Request information

–Collect the user’s response

• Expect–Expect information from user

• Execute–Database access

–Api calls

–Etc

• Dialog Agencies• Planning the execution of their sub-agents

Dialog Agents

• Execute routine– Basic operations of each agent(4 types)

• Additional configuration for agent/agency– Precondition

– Trigger

– Success/fail criteria

Agent Behavior

Concept

• Type

– Boolean, string, integer, float, structure, array

• Value/Confidence

– Ex. City_name = {Boston/0.35, Austin/0.27}

– Due to speech recognition error

– Not used in our Chatbot

• Information(value) maintained in scenario

– History of previous values

– Grounding state

– …

Concept

DTS in RavenClaw

Described in DialogTask.cpp with MACRO

DTS in RavenClaw

• No fixed order– Depends on user input,

encoded domain constraint, task logic and various execution policies

• Hierarchical plan-based representation– Most goal-oriented dialog tasks have a naturally

hierarchical structure

– Sub-components are independentEase in design, maintenance, scalability and reusability

– Can be extended at run timeAllow for the dynamic construction

Hierarchical Plan-based representation

• 2 data structures– Dialog stack

– Expectation agenda

• 2 phase– Execution phase

– Input phase

Core Algorithm

Execute Phase

• Execute agent on top of the stack– Inform agent : output system prompt

– Request agent – output system prompt input phase

– Expect agent – do nothing( just expect)

– Execute agent – call APIs

– Agency – push one of subagents on the dialog stack

• Eliminate completed agents from stack– If the completion condition is meet.

• Push focus claiming agents on stack– Inspects the focus claims(trigger) conditions.

Execute Phase

• Dialog Stack– Temporal and hierarchical structure of the discourse

• Tree(DTS)– Hierarchical goal structure of the task

• Isomorphism between stack and tree– Sometimes broken when focus shifts

If trigger condition meets, push the agent on the stack Isomorphism will be maintained after focus claimed agents finish

Stack & Tree

• Only in Request agent– Assemble the expectation agenda

• Waits for an user input– Thread blocked until user input

• Update concept (concept binding)– Top-down traversal of the expectation agenda

Input phase

Input phase

• Data-structure that describes what the system expects to hear from the user in the current turn– Advantages

Allow over-answer

Mixed-initiative interaction

Automatically performs context-based semantic disambiguation

Dynamic state-specific language modeling

Expectation agenda

Mixed initiative

• Focus claim if agenda is open.

• By default, open only when under the same topic– If main topic is set, child agent(agency) can be

focus-shifted.

앞의 예제에서 Hotels가 main topic으로 설정되어있었다면, focus shift가 되지 않음.

• Expectation scope operators– ! – open if expectation == focus

– * - always open

– @ - open if agents which are listed after @ == focus

Control the amount of initiative

Context-based semantic disambiguation

• State/context-specific language model

• Level-based organization of expectation agenda provides additional information

• But NOT yet implemented in RavenClaw engine

Dynamic state-specific language modeling

• Speech recognition and language understanding– Still far from perfect

– Non-understanding & misunderstanding

• Domain-independent error handling– Various advantages

Error handling

• No speech recognition in chatbot– No confidence level

• No explicit error decision process

In Chatbot

• Data flow

• Message NLU DM NLG Message

NLU DM NLG

DTS – json format

• Original RavenClaw is c-based.

– DTS JSONize

– RavenClaw engine : c python

• New classes

• New properties

Customize

top related