290 likes | 384 Views
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 an Indirect Request. Asking if I am able to get a cup of coffee. Interested in my ability to perform the action.
E N D
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, and Have 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 and Knowledge 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 a a b b b Equivalent to regular languages. What is the language accepted by this machine? Is this the minimal machine for this language?
Finite State Dialogue Model What size? large yes medium … small no What toppings? Do you want a pizza? Bye!
Pros • Simple to write • Very robust • Quick • System must direct entire conversation • User actions very limited Cons
Use Variables to shrink Automaton What size? What toppings? Size=response Do you want a pizza?
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 Would you like a bagel? Maybe : .8 Ok Maybe : .2 Are you hungry?
HMMs • So after one turn, don’t necessarily know what state you’re in Would you like a bagel? Maybe : .8 Ok Maybe : .2 Are you hungry?
Dialogue Model opening .23 .76 .63 suggest constrain .19 .99 .77 .18 .36 .18 reject accept .22 .46 closing
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 Dialogue User : I’d like to schedule an appointment. System : Who is the other party? User : John Calls up appointment frame People :____ Time : ____ Location : ___ People : John Time : __ Location : ___
Multiple Responses User : 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 : John Time : Tuesday Location : ___
Grounding w/Frames • After each utterance,ground the request User : John, sometime on Tuesday System: Ok where do you want to meet John on Tuesday? • Alternatively can conform when form is finished System : Ok, I am scheduling you in Room 332 with John on Tuesday at 4pm