RavenClaw An improved dialog management architecture for task-oriented spoken dialog systems Presented by: Dan Bohus Work by: Dan Bohus,

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Key architectural details RavenClaw: Dialog Management Using Hierarchical Task Decomposition and an Expectation Agenda Dan BohusAlex Rudnicky School of.
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Non-Native Users in the Let s Go!! Spoken Dialogue System: Dealing with Linguistic Mismatch Antoine Raux & Maxine Eskenazi Language Technologies Institute.
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Chapter 11 user support. Issues –different types of support at different times –implementation and presentation both important –all need careful design.
Error Handling in the RavenClaw Dialog Management Framework Dan Bohus, Alexander I. Rudnicky Computer Science Department, Carnegie Mellon University (
1 Coven a Framework for High Performance Problem Solving Environments Nathan A. DeBardeleben Walter B. Ligon III Sourabh Pandit Dan C. Stanzione Jr. Parallel.
Alternate Software Development Methodologies
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Classes and Object- Oriented... tMyn1 Classes and Object-Oriented Programming The essence of object-oriented programming is that you write programs in.
Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.
An Agent Capable of Learning to Create and Maintain Websites Anthony Tomasic, Ravi Mosur Alex Rudnicky, Raj Reddy, John Zimmerman Carnegie Mellon University.
Informatics 43 – May 7, Restatement of Goals for Testing Want to verify software’s correctness  Need to test  Need to decide on test cases  No.
Increased Robustness in Spoken Dialog Systems 1 (roadmap to a thesis proposal) Dan Bohus, SPHINX Lunch, May 2003.
Software Reuse Building software from reusable components Objectives
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
CS 290C: Formal Models for Web Software Lecture 10: Language Based Modeling and Analysis of Navigation Errors Instructor: Tevfik Bultan.
Designing Help… Mark Johnson Providing Support Issues –different types of support at different times –implementation and presentation both important.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Speech recognition, understanding and conversational interfaces Alexander Rudnicky School of Computer Science
RavenClaw Yet another (please read “An improved”) dialog management architecture for task-oriented spoken dialog systems Presented by: Dan Bohus
Spoken Dialog Management for an Astronaut’s Procedure Assistant Presented by: Dan Bohus Collaborators: Gregory Aist, RIALIST Group.
Madeleine, a RavenClaw Exercise in the Medical Diagnosis Domain Dan Bohus, Alex Rudnicky MITRE Workshop on Dialog Management, Boston, October 2003.
Protégé An Environment for Knowledge- Based Systems Development Haishan Liu.
Strategies to relate the program and problem domains using code instrumentation Mario Marcelo Berón University of Minho Pedro Rangel Henriques University.
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
1 Shawlands Academy Higher Computing Software Development Unit.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
CSE 303 – Software Design and Architecture
1 Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Spoken dialog for e-learning supported by domain ontologies Dario Bianchi, Monica Mordonini and Agostino Poggi Dipartimento di Ingegneria dell’Informazione.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
1 Chapter 5 Software Engineering Practice. 2 What is “Practice”? Practice is a broad array of concepts, principles, methods, and tools that you must consider.
SOFTWARE DESIGN.
Software Requirements Engineering: What, Why, Who, When, and How
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Dept. of Computer Science University of Rochester Rochester, NY By: James F. Allen, Donna K. Byron, Myroslava Dzikovska George Ferguson, Lucian Galescu,
Precedence Health Care The MAS – SE Gap: Bridging the Divide Michael Georgeff Precedence Health Care & Monash University Autonomous Agents and Multiagent.
ENTERFACE 08 Project 1 “MultiParty Communication with a Tour Guide ECA” Mid-term presentation August 19th, 2008.
Processes Introduction to Operating Systems: Module 3.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Introduction to Dialogue Systems. User Input System Output ?
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Service Service metadata what Service is who responsible for service constraints service creation service maintenance service deployment rules rules processing.
The Software Development Process
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Slide 1 ApacheCon 2011 > Doreen Seider> Using OSGi to Build Better Software > Using OSGi to Build Better Software Lessons from a Telemedicine.
Do This file can be found at
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Integrating Multiple Knowledge Sources For Improved Speech Understanding Sherif Abdou, Michael Scordilis Department of Electrical and Computer Engineering,
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Learning Procedural Knowledge through Observation -Michael van Lent, John E. Laird – 인터넷 기술 전공 022ITI02 성유진.
DESIGN PROCESS AND CONCEPTS. Design process s/w design is an iterative process through which requirements are translated into a “blueprint” for constructing.
SOFTWARE DESIGN & SOFTWARE ENGINEERING Software design is a process in which data, program structure, interface and their details are represented by well.
Agenda Preliminaries Motivation and Research questions Exploring GLL
Algorithms and Problem Solving
Chapter ? Quality Assessment
Introduction to Parsing (adapted from CS 164 at Berkeley)
Design and Maintenance of Web Applications in J2EE
IDE and Visualisation of Abstract Syntax Trees for Coco/R
Algorithms and Problem Solving
Presentation transcript:

RavenClaw An improved dialog management architecture for task-oriented spoken dialog systems Presented by: Dan Bohus Work by: Dan Bohus, Alex Rudnicky, Andrew Hoskins Carnegie Mellon University, 2002

RavenClaw: a new DM architecture2 New DM Architecture: Goals  Able to handle complex, goal-directed dialogs  Go beyond (information access systems and) the slot-filling paradigm  Easy to develop and maintain systems  Developer focuses only on dialog task  Automatically ensure a minimum set of task- independent, conversational skills  Open to learning (hopefully both at task and discourse levels)  Open to dynamic SDS generation  More careful, more structured code, logs, etc: provide a robust basis for future research.

RavenClaw: a new DM architecture3 A View from far, far away What did you just say ? Try opening that hatch SELECT * WHERE … Since that failed, I need you to push button B Can you repeat that, please ? Suspend… Resume … Conversational Skills Dialog Task Specification Backend Core  Let the developer focus only on the dialog task spec.:  Don’t worry about misunderstandings, the accuracy of concepts, repeats, focus shifts, barge-ins, etc… merely describe (program) the task, assuming perfect knowledge of the world  Automatically generate the conversational mechanisms

RavenClaw: a new DM architecture4 Outline  Goals  A view from far away  Main ideas  Dialog Task Specification / Execution  Conversational skills  In more detail  Dialog Task Specification / Execution  Conversational skills Conversational DTS Backend Core

RavenClaw: a new DM architecture5 Dialog Task Spec & Execution  Dialog Task implemented by a hierarchy of agents  Handle and Operate based on concepts  Execution with interleaved Input Passes.  Execute the agents by top-down “planning”  Do input passes when information is required  REMEMBER: This is just the dialog task DTS Communicator Welcome LoginTravelLocals Bye AskRegistered AskName GreetUserGetProfile Leg1 DepartLocationArriveLocation

RavenClaw: a new DM architecture6 Handling inputs Communicator Welcome LoginTravelLocals Bye AskRegistered AskName GreetUserGetProfile Leg1 DepartLocationArriveLocation  Input Pass  Assemble an agenda of expectations (open concepts)  Bind values from the input to the concepts  Process non-understanding (if), analyze need for focus shifts  Continue execution DTS

RavenClaw: a new DM architecture7 Conversational Skills / Mechanisms  A lot of problems in SDS generated by lack of conversational skills. “It’s all in the little details!”  Dealing with misunderstandings  Generic channel/dialog mechanisms : repeats, focus shift, context establishment, help, start over, etc, etc.  Timing  Even when these mechanisms are in, they lack uniformity & consistency.  Development and maintenance are time consuming. Conversational

RavenClaw: a new DM architecture8 Conversational Skills / Mechanisms  The core takes care of these by dynamically inserting appropriate agencies in the task tree  A list of (more or less) task independent mechanisms:  Implicit/Explicit Confirmations, Clarifications, Disambiguation = the whole Misunderstandings problem  Context reestablishment  Timeout and Barge-in control  Back-channel absorption  Generic dialog mechanisms: Repeat, Suspend… Resume, Help, Start over, Summarize, Undo, Querying the system’s belief Conversational

RavenClaw: a new DM architecture9 Outline  Goals  A view from far away  Main ideas  Dialog Task Specification / Execution  Conversational skills  In more detail  Dialog Task Specification / Execution  Conversational skills DTS

RavenClaw: a new DM architecture10 Dialog Task Specification  Goal: able to handle complex domains, beyond information access, frame-based, slot-filling systems i.e. :  Symphony, Intelligent checklists, Navigation, Route planning  We need a powerful enough formalism to describe all these tasks:  C++ code ?  Declarative would be nice … but is it powerful enough ?  Templatized C++ code … ?

RavenClaw: a new DM architecture11 Dialog Task Specification  Tree of predefined agents types:  Inform, Request, Expect, Execute  Each agent has:  A set of concepts  Preconditions  Success Criteria  Effects  Focus Criteria (triggers)  Concepts  Data, Type (basic, struct, array)  Confidence/Value, Availability, Ambiguousness, Groundedness, System/User, TurnAcquired, TurnConveyed, etc…

RavenClaw: a new DM architecture12 An example DTS UserLogin: AGENCY concepts: registered(BOOL), name(STRING), id(STRING), profile(PROFILE), profile_found(BOOL) achieves_when: profile || InformProfileNotFound AskRegistered: REQUEST(registered) grammar: {[yes]->true,[no]->false,[guest]->false} AskName: REQUEST(name) precond: registered==no grammar: [user_name] max_attemps: 2 InformGreetUser: INFORM precond: name AskID: REQUEST(id) precond: registered==yes mapping: [user_id] DoProfileRetrieval: EXECUTE precond: name || id call: ABEProfile.Call >name, >id, <profile, <profile_found InformProfileNotFound: INFORM precond: !profile_found Given that the baseline is 259 lines of C++ code, this is pretty good.

RavenClaw: a new DM architecture13 Can a formalism cut it ?  People have repeatedly tried formalizing dialog … and failed   We’re focusing only on the task (like in robotics/execution)  Actually, these agents are all C++ classes, so we can backoff to code; the hope is that most of the behaviors can be easily expressed as above.

RavenClaw: a new DM architecture14 DTS execution  Agency.Execute() decides which subagent is executed next, based on preconditions  Various simple policies can be implemented Left-to-right (open/closed), choice, etc  But free to do more sophisticated things (MDPs, etc) ~ learning at the task level

RavenClaw: a new DM architecture15 Libraries of DTS agencies ?  Provide a library of “common task” and “common discourse” agencies  Frame agency  List browse agency  Choose agency  Disambiguate agency, Ground Agency, …  Etc

RavenClaw: a new DM architecture16 [Name] [Registered] [Hotel] [Bye] Input Pass 1. Construct an agenda of expectations  (Partially?) ordered list of concepts expected by the system [ArrivalCity][DepartureCity] Co Welcome LoginTravelLocals Bye Regist. Nam GreetProf. Leg1 DepArr Focused

RavenClaw: a new DM architecture17 Input Pass (continued) 2. Bind values/confidences to concepts  The System <> Mixed Initiative spectrum can be expressed in terms of the way the agenda is constructed and binding policies, independent of task [Name] [Registered] [Hotel] [Bye] [ArrivalCity] [DepartureCity] I’m flying to San Francisco and I need a hotel there.

RavenClaw: a new DM architecture18 Input pass (continued) 3. Process non-understandings (iff) - try and detect source and inform user:  Channel (SNR, clipping)  Decoding (confidence score, prosody)  Parsing (parsing scores)  Dialog level (parse ok, but no expectation match)

RavenClaw: a new DM architecture19 Input Pass 4. Focus shifts  Focus shifts seem to be task dependent. Decision to shift focus is taken by the task (DTS)  But they also have a TI-side (sub-dialog size, context reestablishment). Context reestablishment is handled automatically, in the Core (see later)

RavenClaw: a new DM architecture20 Outline  Goals  A view from far away  Main ideas  Dialog Task Specification / Execution  Conversational skills  In more detail  Dialog Task Specification / Execution  Conversational skills Conversational Core

RavenClaw: a new DM architecture21 Task-Independent, Conversational Mechanisms  Should be transparently handled by the core  However, the developer should be able to write his own customized mechanisms if needed  Most cases handled by inserting extra “discourse” agents on the fly in the dialog task tree

RavenClaw: a new DM architecture22 Conversational Skills: A List  The grounding / misunderstandings problems  Universal dialog mechanisms:  Repeat, Suspend… Resume, Help, Start over, Summarize, Undo, Querying the system’s belief  Timing and Barge-in control  Focus Shifts, Context Establishment  Back-channel absorption  Q: To which extent can we abstract these away from the Dialog Task ?

RavenClaw: a new DM architecture23 UDM: Repeat  Repeat (simple)  The DTT is adorned with a “Repeat” Agency automatically at start-up  Which calls upon the OutputManager  Not all outputs are “repeatable” (i.e. implicit confirms, gui, )… which ones exactly… ?  Repeat (with referents)  only 3%, they are mostly [summarize]  User-defined custom repeat agency

RavenClaw: a new DM architecture24 UDM: Help  DTT adorned at start-up with a help agency  Can capture and issue:  Local help (obtained from focused agent)  ExplainMore help (obtained from focused) What can I say ?  Contextual help (obtained from main topic)  Generic help (give_me_tips)  Obtains Help prompts from the focused agent and the main topic (defaults provided)  Default help agency can be overwritten by user

RavenClaw: a new DM architecture25 UDM: Suspend … Resume  DTT adorned with a SuspendResume agency.  Context reestablishment  Automatically when focusing back after a sub- dialog  Construct a model for that (given size of sub- dialog, time issues, etc)  Prompts problem shifted to the NLG

RavenClaw: a new DM architecture26 UDM: Start over, Summarize  Start over:  DTT adorned with a Start-Over agency  Summarize:  DTT adorned with a Summarize agency  prompt generated automatically  problem shifted to NLG …

RavenClaw: a new DM architecture27 Timing & barge-in control  Knowledge of barge-in location  Information on what got conveyed is fed back to the DM  Special agencies can take special action based on that (I.e. List Browsing)  Can we determine what are non-barge-in-able utterances in a task-independent manner ?

RavenClaw: a new DM architecture28 Confirmation, Clarif., Disamb., Misunderstandings, Grounding…  Largely unsolved: this is next !  2 components:  Confidence scores/computation on concepts Obtaining them Updating them  Taking the “right” decision based on those scores: Insert appropriate agencies on the fly in the dialog task tree: opportunity for learning What’s the set of decisions / agencies ? How do you decide ?

RavenClaw: a new DM architecture29 Confidence scores  Obtaining conf. Scores: from annotator  Updating them, from different sources:  (Un)Attacked implicit/explicit confirms  Correction detector  Elapsed time ?  Domain knowledge  Priors ?  But how do you integrate all these in a principled way ?

RavenClaw: a new DM architecture30 Mechanisms  DepartureCity =  Implicit / Explicit confirmations  When do you leave from Seattle ?  So you’re leaving from Seattle… When ?  Clarifications  Did you say you were leaving from Seattle ?  Disambiguation  I’m sorry was that Seattle or San Francisco?  How do you decide which ?  Learning ?

RavenClaw: a new DM architecture31 Software Engineering  Provide a robust basis for future research.  Modularity  Separability between task and discourse  Separability of concepts and confidence computations  Portability  Mutiple servers  Aggressive, structured, timed logging

RavenClaw: a new DM architecture32 Conclusion  New DM framework  separation of dialog task from conversational mechanisms developer can focus only on dialog task conversational mechanisms generated automatically  easier development/maintenance  robust platform for future research  Most of the implementation completed  Symphony/LARRI reimplemented  Next: back to misunderstandings !