Managing Dialogue Julia Hirschberg CS 4706 11/28/2018.

Slides:



Advertisements
Similar presentations
Chapter 11 user support. Issues –different types of support at different times –implementation and presentation both important –all need careful design.
Advertisements

Negotiative dialogue some definitions and ideas. Negotiation vs. acceptance Clark’s ladder: –1. A attends to B’s utterance –2. A percieves B’s utterance.
CS 224S / LINGUIST 285 Spoken Language Processing Dan Jurafsky Stanford University Spring 2014 Lecture 9: Human conversation, frame-based dialogue systems.
User interaction ‘Rules’ of Human-Human Conversation
U1, Speech in the interface:2. Dialogue Management1 Module u1: Speech in the Interface 2: Dialogue Management Jacques Terken HG room 2:40 tel. (247) 5254.
Speech and Language Processing
Introduction to VXML. What is VXML? Voice Extensible Markup Language Used in telephone-based speech applications voice browsing of the web.
6/28/20151 Spoken Dialogue Systems: Human and Machine Julia Hirschberg CS 4706.
ITCS 6010 SALT. Speech Application Language Tags (SALT) Speech interface markup language Extension of HTML and other markup languages Adds speech and.
Spoken dialog for e-learning supported by domain ontologies Dario Bianchi, Monica Mordonini and Agostino Poggi Dipartimento di Ingegneria dell’Informazione.
Speech and Language Processing Chapter 24 of SLP (part 3) Dialogue and Conversational Agents.
Copyrighted material John Tullis 10/17/2015 page 1 04/15/00 XML Part 3 John Tullis DePaul Instructor
Welcome to Concur! Procurement & Support Services.
Database Management Supplement 1. 2 I. The Hierarchy of Data Database File (Entity, Table) Record (info for a specific entity, Row) Field (Attribute,
Student Pages
Procurement & Support Services
Human Computer Interaction Lecture 21 User Support
JavaScript Controlling the flow of your programs with ‘if’ statements
Natural Language Understanding
I Travel Booking Training
Topic 2: Hardware and Software
Introduction to Algorithms
CS 224S / LINGUIST 285 Spoken Language Processing
Chapter 5 System modeling
1.3 Finite State Machines.
Tips for Finding a Cheap Flight
Introduction To Database IT-402
Human Computer Interaction Lecture 21,22 User Support
World Travel, Inc. Concur Online User Guide
Introduction To Repetition The for loop
System Design Ashima Wadhwa.
SCC P2P – Collaboration Made Easy Contract Management training
And On To Design: Why in this particular sequence?
Arab Open University 2nd Semester, M301 Unit 5
Activity Flow Design - or - Organizing the users’ Work
SQL Injection Attacks Many web servers have backing databases
Learning for Dialogue.
Introduction To Flowcharting
( Iteration / Repetition / Looping )
UNIT 6 Travel Agencies.
Intro to PHP & Variables
Spoken Dialogue Systems
Q What is the number of the Livewire Help Desk
Issues in Spoken Dialogue Systems
Spoken Dialogue Systems: Human and Machine
User Guide Portman Concur
Programmable Logic Controllers (PLCs) An Overview.
Spoken Dialogue Systems: Managing Interaction
User Guide Portman Concur
Lecture 3: October 5, 2004 Dan Jurafsky
Lecture 29 Word Sense Disambiguation-Revision Dialogues
Lecture 29 Word Sense Disambiguation-Revision Dialogues
Lecture 1: Multi-tier Architecture Overview
Portman Online User Guide.
User Guide Portman Concur
Programming We have seen various examples of programming languages
PROJ2: Building an ASR System
Spoken Dialogue Systems: System Overview
LiveWire Log in page TIPS
Business and Management Research
Chapter 11 user support.
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Introduction to Algorithms
LiveWire Log in page TIPS
JavaScript objects, functions, and events
Basic Concepts of Algorithm
User-Centered Design Data Entry CS 4640 Programming Languages for Web Applications [The Design of Everyday Things, Don Norman, Ch 7]
Test Design Techniques Software Testing: IN3240 / IN4240
User-Centered Design Data Entry CS 4640 Programming Languages for Web Applications [The Design of Everyday Things, Don Norman, Ch 7]
VoiceXML An investigation Author: Mya Anderson
Presentation transcript:

Managing Dialogue Julia Hirschberg CS 4706 11/28/2018

Dialogue Manager Controls the architecture and structure of dialogue Takes input from ASR/NLU components Maintains some sort of state Interfaces with Task Manager Passes output to NLG/TTS modules 11/28/2018

Four Architectures for Dialogue Management Finite State Frame-based Information State Markov Decision Processes AI Planning 11/28/2018

Finite-State Dialogue Management A trivial airline travel system scenario Ask the user for a departure city For a destination city For a time Whether the trip is round-trip or not 11/28/2018

Finite State Dialogue Manager 11/28/2018

Finite-State Dialogue Managers System completely controls the conversation with the user Asks the user a series of questions Ignores (or misinterprets) anything the user says that is not a direct answer to the system’s questions 11/28/2018

Dialogue Initiative Systems that control conversation like this are system initiative or single initiative Initiative: who has control of conversation In normal human-human dialogue, initiative shifts back and forth between participants. 11/28/2018

System Initiative Systems which completely control the conversation at all times are called system initiative Advantages: Simple to build User always knows what they can say next, sort of…. System always knows what user can say next Known words: Better performance from ASR Known topic: Better performance from NLU Ok for very simple tasks (entering a credit card, or login name and password) Disadvantage: Too limited 11/28/2018

Problems with System Initiative Real dialogue involves give and take In travel planning, users might want to say something that is not the direct answer to the question. E.g. answering more than one question in a sentence: Hi, I’d like to fly from Seattle Tuesday morning I want a flight from Milwaukee to Orlando one way leaving after 5 p.m. on Wednesday 11/28/2018

User Initiative User directs the system Generally, user asks a single question, system answers System can’t ask questions, engage in clarification dialogue or confirmation dialogue Used for simple database queries User asks question, system gives answer Web search is user initiative dialogue 11/28/2018

Single Initiative + Universals Can give users more flexibility by adding universal commands Universals: commands you can say anywhere As if we augmented every state of FSA with these Help Start over Correct Describes many implemented systems Still doesn’t allow user to say what they want to say 11/28/2018

Mixed Initiative Slot Question Conversational initiative can shift between system and user Simplest kind of mixed initiative: use the structure of the frame itself to guide dialogue Slot Question ORIGIN What city are you leaving from? DEST Where are you going? DEPT DATE What day would you like to leave? DEPT TIME What time would you like to leave? AIRLINE What is your preferred airline? 11/28/2018

Frames are Mixed-Initiative User can answer multiple questions at once System asks questions of user, filling any slots that user specifies When frame is filled, do database query If user answers 3 questions at once, system has to fill slots and not ask these questions again Avoid strict constraints on order of finite-state architecture 11/28/2018

Extending to Multiple frames E.g. flights, hotels, rental cars Flight legs: Each flight can have multiple legs, which may need to be discussed separately Presenting the flights (If there are multiple flights meeting users constraints) Has slots like 1ST_FLIGHT or 2ND_FLIGHT so user can ask “how much is the second one” General route information: Which airlines fly from Boston to San Francisco Airfare practices: Do I have to stay over Saturday to get a decent airfare? 11/28/2018

Implementing Multiple Frames Need to be able to switch from frame to frame Based on what user says Disambiguate which slot of which frame an input is supposed to fill, then switch dialogue control to that frame. Main implementation: production rules Different types of input cause different productions to fire Each can flexibly fill in different frames Can also switch control to different frame 11/28/2018

Defining Mixed Initiative Mixed Initiative could mean User can arbitrarily take or give up initiative in various ways Only possible in very complex plan-based dialogue systems No commercial implementations Important research area Something simpler and quite specific 11/28/2018

True Mixed Initiative 11/28/2018

How mixed initiative is usually defined Two factors Open prompts vs. directive prompts Restrictive versus non-restrictive grammar 11/28/2018

Open vs. Directive Prompts Open prompts System gives user very few constraints User can respond as they please: “How may I help you?” “How may I direct your call?” Directive prompts Explicitly instructs user how to respond “Say yes if you accept the call; otherwise, say no” 11/28/2018

Restrictive vs. Non-restrictive grammars Language model which strongly constrains the ASR system, based on dialogue state Non-restrictive grammar Open language model which is not restricted to a particular dialogue state 11/28/2018

Definition of Mixed Initiative Grammar Open Prompt Directive Prompt Restrictive ??? System Initiative Non-restrictive User Initiative Mixed Initiative 11/28/2018

VoiceXML Voice eXtensible Markup Language An XML-based dialogue design language Makes use of ASR and TTS 11/28/2018

Voice XML Each dialogue is a <form>. (Form is the VoiceXML word for frame) Each <form> generally consists of a sequence of <field>s, with other commands 11/28/2018

Sample VXML Document <form> <field name="transporttype"> <prompt> Please choose airline, hotel, or rental car. </prompt> <grammar type="application/x=nuance-gsl"> [airline hotel "rental car"] </grammar> </field> <block> You have chosen <value expr="transporttype">. </prompt> </block> </form> 11/28/2018

VoiceXML interpreter Walks through a VXML form in document order Iteratively selecting each item If multiple fields, visit each one in order. Special commands for events 11/28/2018

A VXML Document <noinput> I'm sorry, I didn't hear you. <reprompt/> </noinput> “noinput” means silence exceeds a timeout threshold <nomatch> I'm sorry, I didn't understand that. <reprompt/> </nomatch> “nomatch” means confidence value for utterance is too low Notice “reprompt” command 11/28/2018

Another VXML Document <form> <block> Welcome to the air travel consultant. </block> <field name="origin"> <prompt> Which city do you want to leave from? </prompt> <grammar type="application/x=nuance-gsl"> [(san francisco) denver (new york) barcelona] </grammar> <filled> <prompt> OK, from <value expr="origin"> </prompt> </filled> </field> “filled” tag is executed by interpreter as soon as field filled by user 11/28/2018

Another VXML Document <field name="destination"> <prompt> And which city do you want to go to? </prompt> <grammar type="application/x=nuance-gsl"> [(san francisco) denver (new york) barcelona] </grammar> <filled> <prompt> OK, to <value expr="destination"> </prompt> </filled> </field> <field name="departdate" type="date"> <prompt> And what date do you want to leave? </prompt> <prompt> OK, on <value expr="departdate"> </prompt> 11/28/2018

Another VXML Document <block> <prompt> OK, I have you are departing from <value expr="origin”> to <value expr="destination”> on <value expr="departdate"> </prompt> send the info to book a flight... </block> </form> 11/28/2018

Summary: VoiceXML Deals well with simple, frame-based mixed initiative dialogue. Most common in commercial world (too limited for research systems) But useful to get a handle on the concepts. 11/28/2018

Next Class Dialogue Acts and Information State 11/28/2018