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 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 Methods for 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 b b 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 :.2 Ok 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 :.2 Ok Would you like a bagel?
Dialogue Model opening closing suggestconstrain accept reject
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