Upload
rhoda-copeland
View
215
Download
0
Embed Size (px)
DESCRIPTION
Understanding an Indirect Request Asking if I am able to get a cup of coffee Interested in my ability to perform the action Being able to perform the action is a prerequisite for performing it Must want me to perform that action
Citation preview
Dialogue Modeling 2
Indirect Requests “Can I have a cup of coffee?”
One approach to dealing with these kinds of requests is by plan-based inference
Understanding anIndirect Request
Asking if I am able to get a cup of coffee
Interested in my ability to perform the action
Being able to perform the action is a prerequisite for performing it
Must want me to perform that action
Extends to other types of indirect requests too
“My soup is cold.”
People don’t like cold soup.
I have cooked the meal, andHave access to the stove
You want me to reheat your soup.
But requires lots of hand coded rules
E.g. :– All of the inferences rules we discussed
yesterday and for the previous example:
– People don’t like cold soup– Knowledge that putting soup over an
oven will heat it.– Knowing I am able to reheat soup
Instead we can use surface level techniques :
Cue-based Inference andKnowledge Poor Methods
Lecture Outline Lexical cue-based Methods for Interpreting
Dialogue Acts
Finite State Methods– Dialogue Managers– HMMs for Interpreting Dialogue Acts
Other Surface Level Dialogue Managers– Frame Based– Agenda Based
Cue-Based Methodsfor Interpretation
Instead of resolving fully, use surface features– “Can you”, “Please” a Request– “Are you” yes or no question– “Tell me” Request
Context used also S : “Would you like to make an
appointment with John on Tuesday” U : “Yes” agreement
S : “Your appointment is with John on Tuesday.”
U : “Yes” grounding
How would you build these models?
If you had a marked-up training set…
You could collect all of the sentences which you knew to be a particular dialogue act, then you could train a lexical mode :
– D = argmax_d P(d | W) = argmax_d P(d) P (d | W)
=
And Context?
Use a finite-state framework
Lecture Outline Lexical cue-based Methods for Interpreting
Dialogue Acts
Finite State Methods– Dialogue Managers– HMMs for Interpreting Dialogue Acts
Other Surface Level Dialogue Managers– Frame Based– Agenda Based
Finite State Machines
a
bb
a
b
a
What is the language accepted by this machine?Equivalent to regular languages.
Is this the minimal machine for this language?
Finite State Dialogue Model
Do you want a pizza?
yes
no
What size?large
medium
small
…
Bye!
What toppings?
Pros Simple to write Very robust Quick
System must direct entire conversation User actions very limited
Cons
Use Variables to shrink Automaton
Do you want a pizza?
What size?
Size=response
What toppings?
Lecture Outline Lexical cue-based Methods for Interpreting
Dialogue Acts
Finite State Methods– Dialogue Managers– HMMs for Interpreting Dialogue Acts
Other Surface Level Dialogue Managers– Frame Based– Agenda Based
HMMs Hidden Markov Models
– Probabilistic Finite State Automaton
Are you hungry?
Maybe : .8
Maybe : .2Ok
Would you like a bagel?
HMMs So after one turn, don’t necessarily
know what state you’re in
Are you hungry?
Maybe : .8
Maybe : .2Ok
Would you like a bagel?
Dialogue Model
opening
closing
suggest constrain
accept reject
.76 .23
.18 .77
.46
.18 .22
.36
.19
.63
.99
What State Are you In? Combination of what words have been
spoken :– P(E|D) : probability of words being
spoken given that you’re in state D And what a reasonable dialogue looks
like– P(D) : probability of being in a dialogue
state D
This model provides context
By knowing what state you were previously in, makes it easier to determine what the next state will be.
– Different lexical frequencies in every state
– Different probabilities for each sequences of dialogue states
Lecture Outline Lexical cue-based Methods for Interpreting
Dialogue Acts
Finite State Methods– Dialogue Managers– HMMs for Interpreting Dialogue Acts
Other Surface Level Dialogue Managers– Frame Based– Agenda Based
Frame-Based Dialogue Managers
For appointment scheduler, there are a few distinct things need to be decided
How would you write a finite state machine to get that information?
People : ____Time : _____
Location : _____
This either :– Imposes a very rigid structure– Neglects useful shared structure
Want to flexibly ask for different pieces of the entire bit of information
Frame Driven Model
Solution : have a model where a frame drives the dialogue
Frame-Driven DialogueUser : I’d like to
schedule an appointment.
System : Who is the other party?
User : John
Calls up appointment frame
People :____Time : ____
Location : ___
People : JohnTime : __
Location : ___
Multiple ResponsesUser : I’d like to
schedule an appointment.
System : Who is the other party?
User : John, sometime on tuesday
Calls up appointment frame
People :____Time : ____
Location : ___
People : JohnTime : TuesdayLocation : ___
Grounding w/Frames– After each utterance,ground the request
User : John, sometime on TuesdaySystem: Ok where do you want to meet John
on Tuesday?– Alternatively can conform when form is
finishedSystem : Ok, I am scheduling you in Room 332
with John on Tuesday at 4pm