Key architectural details RavenClaw: Dialog Management Using Hierarchical Task Decomposition and an Expectation Agenda Dan BohusAlex Rudnicky School of.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
Advertisements

TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Executional Architecture
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Manuela Veloso, Anthony Stentz, Alexander Rudnicky Brett Browning, M. Bernardine Dias Faculty Thomas Harris, Brenna Argall, Gil Jones Satanjeev Banerjee.
Error Handling in the RavenClaw Dialog Management Framework Dan Bohus, Alexander I. Rudnicky Computer Science Department, Carnegie Mellon University (
Mixed-Initiative Planning Yolanda Gil USC CS 541 Fall 2003.
An Agent Capable of Learning to Create and Maintain Websites Anthony Tomasic, Ravi Mosur Alex Rudnicky, Raj Reddy, John Zimmerman Carnegie Mellon University.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Software Testing and Quality Assurance
Lecture 5a: Sequence Interaction Diagrams CSE 111 Copyright W. Howden1.
Component-Level Design
Resource Management – a Solution for Providing QoS over IP Tudor Dumitraş, Frances Jen-Fung Ning and Humayun Latif.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
RavenClaw Yet another (please read “An improved”) dialog management architecture for task-oriented spoken dialog systems Presented by: Dan Bohus
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
1 Objectives To introduces the concept of software Design. To introduce the concept of Object- Oriented Design (OOD). To Define various aspects about object.
Application architectures
1 System: Mecano Presenters: Baolinh Le, [Bryce Carder] Course: Knowledge-based User Interfaces Date: April 29, 2003 Model-Based Automated Generation of.
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.
RavenClaw An improved dialog management architecture for task-oriented spoken dialog systems Presented by: Dan Bohus Work by: Dan Bohus,
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Course Instructor: Aisha Azeem
Chapter 10: Architectural Design
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Object Oriented Analysis and Design Using the UML
Computational Thinking Related Efforts. CS Principles – Big Ideas  Computing is a creative human activity that engenders innovation and promotes exploration.
Engineering Systems of.
Application architectures
What is it? A mobile robotics system controls a manned or partially manned vehicle-car, submarine, space vehicle | Website for Students.
Smart Learning Services Based on Smart Cloud Computing
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Understand Application Lifecycle Management
APPLICATIONS OF CONTEXT FREE GRAMMARS BY, BRAMARA MANJEERA THOGARCHETI.
The Architecture of Secure Systems Jim Alves-Foss Laboratory for Applied Logic Department of Computer Science University of Idaho By, Nagaashwini Katta.
Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)
Spoken dialog for e-learning supported by domain ontologies Dario Bianchi, Monica Mordonini and Agostino Poggi Dipartimento di Ingegneria dell’Informazione.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
1 PLAN RECOGNITION & USER INTERFACES Sony Jacob March 4 th, 2005.
Towards Cognitive Robotics Biointelligence Laboratory School of Computer Science and Engineering Seoul National University Christian.
SOFTWARE DESIGN.
1 Introduction to Software Engineering Lecture 1.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Design Concepts and Principles Instructor: Dr. Jerry Gao.
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,
EEL 5937 Agent models. EEL 5937 Multi Agent Systems Lecture 4, Jan 16, 2003 Lotzi Bölöni.
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.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
CSC480 Software Engineering Lecture 10 September 25, 2002.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Volgograd State Technical University Applied Computational Linguistic Society Undergraduate and post-graduate scientific researches under the direction.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Learning Procedural Knowledge through Observation -Michael van Lent, John E. Laird – 인터넷 기술 전공 022ITI02 성유진.
SOFTWARE DESIGN & SOFTWARE ENGINEERING Software design is a process in which data, program structure, interface and their details are represented by well.
SECURE TROPOS Michalis Pavlidis 8 May Seminar Agenda  Secure Tropos  History and Foundation  Tropos  Basics  Secure Tropos  Concepts / Modelling.
A Generic Model for Software Architecture Yun Sang-hyun Rossak. W. / Kirova. V. / Jolian. L. / Lawson. H. / Zemel. T. Software, IEEE Jul/Aug.
Principles of Programming & Software Engineering
Agenda Preliminaries Motivation and Research questions Exploring GLL
Complexity Time: 2 Hours.
Design and Implementation
Presentation transcript:

Key architectural details RavenClaw: Dialog Management Using Hierarchical Task Decomposition and an Expectation Agenda Dan BohusAlex Rudnicky School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, Abstract RavenClaw is a new dialog management framework developed as the successor to the Agenda architecture used in the CMU Communicator. RavenClaw introduces a clear separation between the specification of task and discourse behaviors, and allows rapid development of dialog management components for spoken dialog systems operating in complex, task- oriented domains. The new system development effort is focused entirely on the specification of the dialog task, while a rich set of domain-independent conversational behaviors are transparently generated by the dialog engine. To date, RavenClaw has been applied to five different domains allowing us to draw some preliminary conclusions as to the generality of the approach. We briefly describe our experience in developing these systems. ø. ø. 2. Overall design RavenClaw is a 2-tier architecture (see below) Dialog Task Specification Layer Captures all the domain-specific dialog (task) logic The system development effort is entirely focused here Domain-independent Dialog Engine Manages dialog by executing the Dialog Task Specification Provides domain-independent conversational strategies Fig Dialog Engine Dialog Task Specification RoomLine Login Welcome AskRegisteredAskName GreetUser 1. Rich concept representation Set of confidence / value pairs History of previous values Flags indicating grounding, availability, conveyance status, etc Dialog Task Specification (sample) DEFINE_AGENCY(CLogin, IS_MAIN_TOPIC() DEFINE_SUBAGENTS( SUBAGENT(Welcome, CWelcome) SUBAGENT(AskRegistered, CAskRegistered) SUBAGENT(AskName, CAskName) SUBAGENT(GreetUser, CGreetUser) ) DEFINE_CONCEPTS( STRING_USER_CONCEPT(user_name) BOOL_USER_CONCEPT(registered) ) SUCCEEDS_WHEN(COMPLETED(GreetUser)) PROMPT_ESTABLISH_CONTEXT(establish_context login) ) DEFINE_INFORM_AGENT(CWelcome, PROMPT(:non-interruptable inform welcome) ) DEFINE_REQUEST_AGENT(CAskRegistered, REQUEST_CONCEPT(registered) GRAMMAR_MAPPING([Yes]>true, [No]>false) ) DEFINE_REQUEST_AGENT(CAskName, PRECONDITION(IS_TRUE(registered)) REQUEST_CONCEPT(user_name) MAX_ATTEMPTS(2) GRAMMAR_MAPPING([UserName]) )... GetQuery DateTimeLocationProperties GetResultsDiscussResults Suspend NetworkProjectorWhiteboard user_name registered Expectation Agenda registered: [No] false, [Yes] true User Input: System:Are you a registered user? User:Yes, this is John Doe Parse:[Yes](yes / 0.87) [UserName](john doe / 0.46) Dialog Stack / Agents Execution RoomLine Login Welcome RoomLine Login RoomLine Login RoomLine Login AskRegistered queryresults John Doe / 0.46 Joe Down / 0.33 Goals RavenClaw = framework aimed at the rapid development of dialog managers for complex, task-oriented dialog domains Handle a variety of complex domains Easy to develop and maintain systems Developer focuses only on specifying the dialog task Dialog engine handles the rest automatically Architecture supports: Learning (both task and discourse levels) Dynamic generation of dialog tasks Grounding mechanisms

Conversational behaviors The Dialog Engine automatically provides a basic set of domain-independent conversational behaviors Generic dialog mechanisms Help, Repeat, Suspend, Start over, etc Turn-taking behavior Grounding behaviors Explicit and implicit verifications, disambiguations, context reestablishment, etc Dialog Task Agents Fundamental Dialog Agents (on leaves) Inform – sends an output Request – requests and listens for information Expect – expects (listens for) information DomainOperation – performs domain operations (i.e. back-end calls, etc) Dialog Agencies (non-terminal nodes) Control the execution of the subsumed agents Agent properties / functionalities: Execute routine Preconditions and triggers Completion criteria (successful / unsuccessful) Effects Hold concepts4. School of Computer Science, Carnegie Mellon University, 2003, Pittsburgh, PA, The Dialog Task Specification Generics The Dialog Task Specification = tree of dialog agents, with each agent handling the corresponding part of the dialog task Advantages of hierarchical representation: Dialog task structure naturally lends itself to hierarchical description Ease of maintenance and design; good scalability Implicitly captures context in dialog The Dialog Engine Domain-independent component that executes the Dialog Task Specification Dialog flow is generated by alternating Execution Phases and Input Phases Execution Phase The dialog agents in the task tree are executed and generate the systems behavior. Dialog engine uses a stack structure to execute the agents in the task tree: Repeatedly execute agent on top of the stack When agencies execute, they plan one of their subsumed agents for execution (according to preconditions and policies) Completed agents are removed from the stack Request-type fundamental agents can interrupt an Execution Phase and solicit an Input Phase (3-Stage) Input Phase 1. Assemble an Expectation Agenda Expectation Agenda models the systems input expectation at that point in time 2. Bind values from input to concepts Inputs are matched to system expectations 3. Analyze focus shifts Establish if the focus of the conversation should be shifted in light of the recent input … then, continue with another Execution Phase. 5. Conclusions RavenClaw = Dialog Management framework which focuses system development effort on creating a description of the underlying dialog task Dialog Engine drives the dialog towards its goals, and uses generic conversational strategies to maintain dialog flow and coherence 5 systems built to date spanning various domains and task complexities RavenClaw adapted easily, indicating high versatility and good scalability properties RavenClaw-based systems LARRI [Symphony Project, CMU] A multi-modal conversational agent that provides support for F/A-18 aircraft mechanics performing maintenance tasks: Guidance & information browsing domain Tree-based decomposition very well suited in this domain; portions of the dialog task tree are generated dynamically based on the task to be performed Intelligent Procedure Assistant [NASA Ames] Multi-modal system that provides assistance to astronauts on the International Space Station in the execution of procedural tasks and checklists: Guidance & information browsing domain RavenClaw interfaced in Open Agent Architecture (with Gemini inputs / output) BusLine [Lets Go! Project, CMU] Information search interface to Pittsburgh bus schedules: Information exploration domain Static dialog task tree RoomLine [CMU] Assistance for conference room reservation and scheduling within the School of Computer Science at CMU: Information management domain Static dialog task tree TeamTalk [11-741, CMU] Spoken command and control for a team of robots: Command and control domain Challenges: multi-way conversations, (complex) asynchronous behaviors Static dialog task tree