Multi-Modal Dialogue in Human-Robot Conversation Information States in a Multi- modal Dialogue System for Human-Robot Conversation (Lemon et al. 2001)

Slides:



Advertisements
Similar presentations
Fall Meeting October 2013 International Technology Alliance in Network and Information Sciences Human-Machine Conversations to Support Coalition Missions.
Advertisements

Intelligent Technologies Module: Ontologies and their use in Information Systems Revision lecture Alex Poulovassilis November/December 2009.
Technical and design issues in implementation Dr. Mohamed Ally Director and Professor Centre for Distance Education Athabasca University Canada New Zealand.
Manuela Veloso, Anthony Stentz, Alexander Rudnicky Brett Browning, M. Bernardine Dias Faculty Thomas Harris, Brenna Argall, Gil Jones Satanjeev Banerjee.
Language and Cognition Colombo, June 2011 Day 8 Aphasia: disorders of comprehension.
1http://img.cs.man.ac.uk/stevens Interaction Models of Humans and Computers CS2352: Lecture 7 Robert Stevens
(Spoken) Dialogue and Information Retrieval Antoine Raux Dialogs on Dialogs Group 10/24/2003.
Programming Logic and Design Fourth Edition, Introductory
© Sara Fleury & Félix Ingrand, LAAS/RIA, 2000 Architecture for Autonomy Sara Fleury & Félix Ingrand LAAS-CNRS (
What is NLG? NLG "is the process of deliberately constructing a natural language text in order to meet specified communicative goals". [McDonald 1992]
MIS 5241 SOFTWARE. MIS 5242 Agenda The Stored Program Concept Software as Control Software as Simulation.
Campus Memories: Learning with contextual blogging Tim de Jong, Bashar Al Takrouri, Marcus Specht, Rob Koper.
Programming Fundamentals. Programming concepts and understanding of the essentials of programming languages form the basis of computing.
Brent Dingle Marco A. Morales Texas A&M University, Spring 2002
Supervised by Prof. LYU, Rung Tsong Michael Department of Computer Science & Engineering The Chinese University of Hong Kong Prepared by: Chan Pik Wah,
Natural Language Processing AI - Weeks 19 & 20 Natural Language Processing Lee McCluskey, room 2/07
1 Information Retrieval and Extraction 資訊檢索與擷取 Chia-Hui Chang, Assistant Professor Dept. of Computer Science & Information Engineering National Central.
Information Retrieval and Extraction 資訊檢索與擷取 Chia-Hui Chang National Central University
WP1 UGOT demos 2nd year review Saarbrucken Mar 2006.
An Introduction to Rational Rose Real-Time
Introduction to the course January 9, Points to Cover  What is GIS?  GIS and Geographic Information Science  Components of GIS Spatial data.
By Kyle Rector Senior, EECS, OSU. Agenda Background My Approach Demonstration How it works The Survey Plans for User Evaluation Future Plans.
MVC pattern and implementation in java
Modularly Adaptable Rover and Integrated Control System Mars Society International Conference 2003 – Eugene, Oregon.
2.2 A Simple Syntax-Directed Translator Syntax-Directed Translation 2.4 Parsing 2.5 A Translator for Simple Expressions 2.6 Lexical Analysis.
1 Lab Session-III CSIT-120 Fall 2000 Revising Previous session Data input and output While loop Exercise Limits and Bounds Session III-B (starts on slide.
Concept demo System dashboard. Overview Dashboard use case General implementation ideas Use of MULE integration platform Collection Aggregation/Factorization.
1 Lecture 4: Threads Operating System Fall Contents Overview: Processes & Threads Benefits of Threads Thread State and Operations User Thread.
Chapter 7 Web Content Mining Xxxxxx. Introduction Web-content mining techniques are used to discover useful information from content on the web – textual.
Working group on multimodal meaning representation Dagstuhl workshop, Oct
ITCS 6010 SALT. Speech Application Language Tags (SALT) Speech interface markup language Extension of HTML and other markup languages Adds speech and.
Speech User Interfaces Katherine Everitt CSE 490 JL Section Wednesday, Oct 27.
The ID process Identifying needs and establishing requirements Developing alternative designs that meet those requirements Building interactive versions.
Chapter 7. BEAT: the Behavior Expression Animation Toolkit
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
Spoken dialog for e-learning supported by domain ontologies Dario Bianchi, Monica Mordonini and Agostino Poggi Dipartimento di Ingegneria dell’Informazione.
APML, a Markup Language for Believable Behavior Generation Soft computing Laboratory Yonsei University October 25, 2004.
Putting together a complete system Chapter 10. Overview  Design a modest but complete system  A collection of objects work together to solve a problem.
Intelligent Systems Lecture 13 Intelligent robots.
Towards multimodal meaning representation Harry Bunt & Laurent Romary LREC Workshop on standards for language resources Las Palmas, May 2002.
Software Engineering Saeed Akhtar The University of Lahore Lecture 6 Originally shared for: mashhoood.webs.com.
Dept. of Computer Science University of Rochester Rochester, NY By: James F. Allen, Donna K. Byron, Myroslava Dzikovska George Ferguson, Lucian Galescu,
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
卓越發展延續計畫分項三 User-Centric Interactive Media ~ 主 持 人 : 傅立成 共同主持人 : 李琳山,歐陽明,洪一平, 陳祝嵩 水美溫泉會館研討會
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
Towards a Theoretical Framework for the Integration of Dialogue Models into Human-Agent Interaction John R. Lee Assistive Intelligence Inc. Andrew B. Williams.
ENTERFACE 08 Project 1 “MultiParty Communication with a Tour Guide ECA” Mid-term presentation August 19th, 2008.
 Motivated by desire for natural human-robot interaction  Encapsulates what the robot knows about the human  Identity  Location  Intentions Human.
Introduction to Dialogue Systems. User Input System Output ?
Referring to Objects with Spoken and Haptic Modalities Frédéric LANDRAGIN Nadia BELLALEM & Laurent ROMARY LORIA Laboratory Nancy, FRANCE.
37 Copyright © 2007, Oracle. All rights reserved. Module 37: Executing Workflow Processes Siebel 8.0 Essentials.
CMPS 435 F08 These slides are designed to accompany Web Engineering: A Practitioner’s Approach (McGraw-Hill 2008) by Roger Pressman and David Lowe, copyright.
Chapter 1. Cognitive Systems Introduction in Cognitive Systems, Christensen et al. Course: Robots Learning from Humans Park, Sae-Rom Lee, Woo-Jin Statistical.
Distributed Models for Decision Support Jose Cuena & Sascha Ossowski Pesented by: Gal Moshitch & Rica Gonen.
Internal and Confidential Cognos CoE COGNOS 8 – Event Studio.
Chapter 8. Situated Dialogue Processing for Human-Robot Interaction in Cognitive Systems, Christensen et al. Course: Robots Learning from Humans Sabaleuski.
Boeing-MIT Collaborative Time- Sensitive Targeting Project July 28, 2006 Stacey Scott, M. L. Cummings (PI) Humans and Automation Laboratory
Laboratory 2 Group 19 The Group of Destiny. User Interface - Debugging Objectives:  Display: Sensor data (telemetry) – including IR sensors, status of.
Understanding Naturally Conveyed Explanations of Device Behavior Michael Oltmans and Randall Davis MIT Artificial Intelligence Lab.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Intelligent Agents Chapter 2. How do you design an intelligent agent? Definition: An intelligent agent perceives its environment via sensors and acts.
Software Architecture for Multimodal Interactive Systems : Voice-enabled Graphical Notebook.
WP6 Emotion in Interaction Embodied Conversational Agents WP6 core task: describe an interactive ECA system with capabilities beyond those of present day.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Network Management Lecture 13. MACHINE LEARNING TECHNIQUES 2 Dr. Atiq Ahmed Université de Balouchistan.
Overview Issues in Mobile Databases – Data management – Transaction management Mobile Databases and Information Retrieval.
Intelligent Agents Chapter 2.
Data Groupings: File File: a group of related records
From Use Cases to Implementation
Presentation transcript:

Multi-Modal Dialogue in Human-Robot Conversation Information States in a Multi- modal Dialogue System for Human-Robot Conversation (Lemon et al. 2001) Multi-tasking and Collaborative Acitivities in Dialogue Systems (Lemon et al. 2002) Edith Klee June 3, 2003

Overview Mobile Robots Requirements for Human-Robot conversation The WITAS Dialogue System Dialogue Management in WITAS Message Generation in WITAS Demo videoclip

Mobile Robots move about their environment using wheels, legs, or similar mechanisms, e.g. unmanned land vehicles (ULV), unmanned air vehicles (UAV), autonomous underwater vehicles (AUV) device sensors (e.g. camera, mouse gesture input) may give rise to new information at any time no predictable course of actions or conversation no strict endpoint to action or conversation simple form-filling/data-base query style dialogue not sufficient

Requirements on dialogue management in conversational interaction with mobile robots Asynchronicity events in the dialogue scenario can happen at overlapping time periods Mixed task-initiative operator and system will introduce issues for discussion Open-ended no clear start/end points for (sub-)dialogues, no rigid pre-determined goals for interchanges Resource-bounded participants' actions must be generated and produced in time enough to be effective dialogue contributions Simultaneous participants can produce and receive actions simultaneously

The WITAS Dialogue System robot helicopter (UAV, 'Unmanned Aerial Vehicle') mission goals provided by a human operator, conversation via spoken dialogue Open Agent Architecture (OAA2) OAA2 facilitator SR Nuance Speech Recognizer NL Gemini Parser and Generator ROBOT Control and Report GUI Interactive Map Display TTS Festival Speech Synthesizer DM Dialogue Manager ROBOT

Dialogue Management in WITAS Dialogue Management: 1)dialogue modelling (representation) 2)dialogue control (algorithm) main tasks of the DM in WITAS: -interpretation spoken language and map-gestures (mouse click) inputs as commands -interpretation of queries, responses, declarations to the robot -generation of synthesized speech and graphical output to express the robot's responses questions, reports about the environment The current DM supports: -ambiguity resolution -presupposition checking -processing of anaphoric and deictic expressions -command revision -report generation, confirmation backchannel

implemetation of a dynamic information state model creates and updates Information States (IS) dialogue moves have the effect of updating information states moves can be initiated by both the operator and the robot parts of an information state (2001): Issues Raised (IR) stack – a stack or public unresolved issues raised in the dialogue System Agenda – issues to be raised by system Salience List – the objects referenced in the dialogue so far Modality Buffer – keeps track of mouse gestures Databases – dynamic objects, planned routes, geographical information, names Dialogue Manager in WITAS (contd.)

Parts of an Information State (2002) Dialogue Move Tree (DMT) structured history of dialogue moves and ‘threads’ + list of ‘active nodes’ Activity Tree (AT) temporal and hierarchical structure of activities specified by the user or planned/initiated by the system + their execution status System Agenda (SA) stores the communicative goals of the system Pending List (PL) stores question that the system has asked, but which the user has not answered, they may be re-raised Salience List (SL) objects referenced in the dialogue so far, ordered by recency Modality Buffer (MB) keeps track of mouse gestures (until bound to deictic expressions or recognized as purely gestural expressions)

INDEXICAL INFORMATION SALIENCE LIST (NPs, Activities) MODALITY BUFFER Map Display Inputs (mouse clicks) DIALOGUE MOVE TREE (Active Node List) PENDING LIST MESSAGE GENERATION (Selection and Aggregation) DEVICE ACTIVITY LAYER SYSTEM AGENDA ACTIVITY TREE ACTIVITY MODEL Conversational Move Inputs (parsed human speech) Dialogue Manager Architecture

INDEXICAL INFORMATION SALIENCE LIST (NPs, Activities) MODALITY BUFFER Map Display Inputs (mouse clicks) DIALOGUE MOVE TREE (Active Node List) PENDING LIST MESSAGE GENERATION (Selection and Aggregation) DEVICE ACTIVITY LAYER SYSTEM AGENDA ACTIVITY TREE ACTIVITY MODEL O: Yes! That car. Example O: Try to find the red car! U: Do you mean the big red car? O: Oh look! The car is here! S: So you mean the big red car?

A Dialogue Move tree is... constructed for any ongoing dialogue to represent the current state of the conversation input: logical forms from the parsing process, e.g. "go to the tower": command([go], [param-list ([pp-loc(to, arg([np(det([def],the),[n(tower,sg)])]))])]) a history ("message board") of dialogue contributions, organized by "thread", based on activities classifies whether incoming utterances can be interpreted in the current dialogue context, delimits a space of possible IS update functions has an Active Node List which controls the order in which this function space is searched classifies how incoming utterances are to be interpreted in the current dialogue context

Example Dialogue Operator: Fly to the tower! UAV: I plan to fly to the tower. UAV: Now taking off. UAV: I have taken off. UAV: Now flying there. Operator: Make that the police station. UAV: I plan to fly to springfield police station. UAV: I have cancelled flying to the tower UAV: Now flying to springfield police station....

active nodes are red; position on active node list in parens [0=most active] Root (1) Root Command (0) "Fly to the tower" command([go],[param_list([pp_loc(to,arg([np(det([def],the... Report "I plan to fly to the tower" report(inform,agent([np([n(uav,sg)])]),confirm_activity... Example Dialogue Move Tree

active nodes are red; position on active node list in parens [0=most active] Root (1) Root Command (0) "Fly to the tower" command([go],[param_list([pp_loc(to,arg([np(det([def],the... Report "I plan to fly to the tower" report(inform,agent([np([n(uav,sg)])]),confirm_activity... Example Dialogue Move Tree

active nodes are red; position on active node list in parens [0=most active] Root (1) Root Command (0) "Fly to the tower" command([go],[param_list([pp_loc(to,arg([np(det([def],the... Report "Now taking off" report(inform,agent([np([n(uav,sg)])]),curr_activity... Report "I plan to fly to the tower" report(inform,agent([np([n(uav,sg)])]),confirm_activity... Example Dialogue Move Tree

active nodes are red; position on active node list in parens [0=most active] Root (1) Root Command (0) "Fly to the tower" command([go],[param_list([pp_loc(to,arg([np(det([def],the... Report "Now taking off" report(inform,agent([np([n(uav,sg)])]),curr_activity... Report "I plan to fly to the tower" report(inform,agent([np([n(uav,sg)])]),confirm_activity... Example Dialogue Move Tree

active nodes are red; position on active node list in parens [0=most active] Root (1) Root Command (0) "Fly to the tower" command([go],[param_list([pp_loc(to,arg([np(det([def],the... Report "Now taking off" report(inform,agent([np([n(uav,sg)])]),curr_activity... Report "I have taken off" report(inform,agent([np([n(uav,sg)])]),compl_activity... Report "I plan to fly to the tower" report(inform,agent([np([n(uav,sg)])]),confirm_activity... Example Dialogue Move Tree

active nodes are red; position on active node list in parens [0=most active] Root (1) Root Command (0) "Fly to the tower" command([go],[param_list([pp_loc(to,arg([np(det([def],the... Report "Now taking off" report(inform,agent([np([n(uav,sg)])]),curr_activity... Report "I have taken off" report(inform,agent([np([n(uav,sg)])]),compl_activity... Report "I plan to fly to the tower" report(inform,agent([np([n(uav,sg)])]),confirm_activity... Example Dialogue Move Tree

active nodes are red; position on active node list in parens [0=most active] Root (1) Root Command (0) "Fly to the tower" command([go],[param_list([pp_loc(to,arg([np(det([def],the... Report "Now taking off" report(inform,agent([np([n(uav,sg)])]),curr_activity... Report "I have taken off" report(inform,agent([np([n(uav,sg)])]),compl_activity... Report "Now flying there" report(inform,agent([np([n(uav,sg)])]),curr_activity... Report "I plan to fly to the tower" report(inform,agent([np([n(uav,sg)])]),confirm_activity... Example Dialogue Move Tree

active nodes are red; position on active node list in parens [0=most active] Root (1) Root Command (0) "Fly to the tower" command([go],[param_list([pp_loc(to,arg([np(det([def],the... Report "Now taking off" report(inform,agent([np([n(uav,sg)])]),curr_activity... Report "I have taken off" report(inform,agent([np([n(uav,sg)])]),compl_activity... Report "Now flying there" report(inform,agent([np([n(uav,sg)])]),curr_activity... Report "I plan to fly to the tower" report(inform,agent([np([n(uav,sg)])]),confirm_activity... Revision "Make that the police station" revision([replace([arg([np(det([def],the),[n(police... Example Dialogue Move Tree

active nodes are red; position on active node list in parens [0=most active] Root (1) Root Command (0) "Fly to the tower" command([go],[param_list([pp_loc(to,arg([np(det([def],the... Report "Now taking off" report(inform,agent([np([n(uav,sg)])]),curr_activity... Report "I have taken off" report(inform,agent([np([n(uav,sg)])]),compl_activity... Report "Now flying there" report(inform,agent([np([n(uav,sg)])]),curr_activity... Report "I plan to fly to the tower" report(inform,agent([np([n(uav,sg)])]),confirm_activity... Revision "Make that the police station" revision([replace([arg([np(det([def],the),[n(police... Example Dialogue Move Tree

active nodes are red; position on active node list in parens [0=most active] Root (1) Root Command (0) "Fly to the tower" command([go],[param_list([pp_loc(to,arg([np(det([def],the... Report "Now taking off" report(inform,agent([np([n(uav,sg)])]),curr_activity... Report "I have taken off" report(inform,agent([np([n(uav,sg)])]),compl_activity... Report "Now flying there" report(inform,agent([np([n(uav,sg)])]),curr_activity... Report "I plan to fly to the tower" report(inform,agent([np([n(uav,sg)])]),confirm_activity... Revision "Make that the police station" revision([replace([arg([np(det([def],the),[n(police... Report "I plan to fly to springfield police station" report(inform,agent([np([n(uav,sg)])]),confirm... Example Dialogue Move Tree

Message Generation the system has to communicate about: - its perceptions of a changing environment - progress towards user-specific goals - execution status of activities or tasks - its own internal state changes - the progress of the dialogue itself problems that may arise: - multi-tasking robot, different activities at the same time - dialogue contribution arise incrementally - generation of too many utterances: overload of information - generation of too little utterances: no establishment and maintenance of an appropriate context. - large pieces of text not appropriate

Requirements for Message Generation flexibility: message selection and generation needs to be more flexible than template-based approaches aggregation: aggregation rules must be sensitive to incremental aspects relevance/recency filtering: message filtering according to relevance echoing: usage of the same language as the user, i.e. usage of anaphoric expressions where possible variability: expressing the same content in a variety of ways real time generation to keep the conversation natural

Message Selection - Filtering selection and generation module input: logical forms, describing the communicative goals of the system - context tags (e.g. activity identifier, dialogue move tree node) - content logical form (e.g. report, wh-question) - priority tag (e.g. warn, inform) - e.g. report(inform, agent(AgentID), cancel-activity(ActivityID)), when AgentID = robot and ActivityID = tower the result is: "I cancelled flying to the tower". items considered for generation are placed on the system agenda or pending list messages more urgent than others carry a label "warning" and pass any filtering Echoing (using anaphoric expressions) is achieved by accessing the Salience List whenever possible

Thank You!