300 likes | 505 Views
Issues Under Negotiation . Staffan Larsson Dept. of linguistics, G ö teborg University sl@ling.gu.se NoDaLiDa, May 2001. Overview. background Sidner: a formal account of negotiative dialogue problems with Sidner’s account an alternative account based on Issues Under Negotiation example
E N D
Issues Under Negotiation Staffan Larsson Dept. of linguistics, Göteborg University sl@ling.gu.se NoDaLiDa, May 2001
Overview • background • Sidner: a formal account of negotiative dialogue • problems with Sidner’s account • an alternative account based on Issues Under Negotiation • example • summary
Background • TRINDI project • TrindiKit: a toolkit for building and experimenting with dialogue systems • the information state approach • GoDiS: an experimental dialogue system simple information-seeking dialogue • SIRIDUS project • extend GoDiS to handle action-oriented dialogue and negotiative dialogue
The information state approach – key concepts • Information states represent information available to dialogue participants, at any given stage of the dialogue • Dialogue moves trigger information state updates, formalised as information state update rules • Update rules consist of conditions and operations on the information state • Dialogue move engine updates the information state based on observed moves, and decides on next move(s)
GoDiS features • information-seeking dialogue • Information state based Ginzburg’s notion of Questions Under Discussion (QUD) • Dialogue plans to drive dialogue • Simpler than general reasoning and planning • More versatile than frame-filling and finite automata • Has been extended to handle instructional dialogue • Also being extended to handle negotiative dialogue (SIRIDUS)
control DME input inter- pret update select gene- rate output Information State data- base lexicon domain knowledge
Sample GoDiS information state AGENDA = { findout(?return) } findout(?x.month(x)) findout(?x.class(x)) respond(?x.price(x)) PRIVATE = PLAN = BEL = { } TMP = (same structure as SHARED) dest(paris) transport(plane) task(get_price_info) COM = SHARED = QUD = < x.origin(x) > LM = { ask(sys, x.origin(x))}
Problem with current GoDiS • can only represent information about one flight at a time • but we want to be able to • talk about several flights, • allowing the user to ask questions about them, • deciding on one of them, and then • getting price information / booking a flight • Requires negotiation
Sidner: an artificial language for negotiation • formal account of negotiative dialogue • “state of communication” • beliefs (individual) • intentions • mutual beliefs • stack of open beliefs (OpenStack) • stack of rejected beliefs
Sidner cont’d • agents transmit messages with propositional contents • ProposeForAccept(PFA agt1 belief agt2) • agt1 expresses belief to agt2, intending agt2 to accept belief • belief is pushed on OpenStack • Reject (RJ agt1 belief agt2) • agt1 does not believe belief • belief is popped from OpenStack and pushed on RejectedStack • Accept (AP agt1 belief agt2) • agt1 and agt2 now hold belief as a mutual belief • belief is popped from OpenStack
Sidner: counterproposals • Counter (CO agt1 belief1 agt2 belief2): without rejecting belief1, agt1 offers belief2 to agt2 • analysed as two proposals • (PFA agt1 belief2 agt2) • (PFA agt1 (Supports belief2 (Not belief1)) • A counterproposal requires that the new proposal conflicts with a previous proposal • In this way, Sidner can distinguish unrelated proposals from related proposals
A problem with counterproposals • problems: • proposals of alternative solutions to same problem are seen as counterproposals, i.e. as conflicting with previous proposals • but often alternative proposals do not conflict with previous proposals (e.g. buying a CD) • a proposal commits an agent to intending that the addressee accepts the counterproposal rather than previous proposals, • but e.g. a travel agent is usually quite indifferent to which proposal is accepted
Sidner: application to travel agency dialogue • All utterances (except acceptances and rejections) are seen as proposals • example: • U: Hi, my name is NN [propose] • S: Hi, what can I do for you [accept, ...] • Why is this counterintuitive? • a person’s name is usually not a negotiable issue
Negotiation vs. acceptance • Allwood, Clark: levels of understanding and acceptance • 1. A attends to B’s utterance • 2. A percieves B’s utterance • 3. A understands B’s utterance (grounding) • 4. A accepts or rejects B’s utterance • Sidner and others sees negotiative dialogue as proposals and acceptance/rejections • this means that all dialogue is negotiative • all assertions (and questions, instructions etc.) are proposals
Negotiation vs. acceptance • But some dialogues are negotiative in another sense, • by explicitly containing discussions about different solutions to a problem, and finally deciding on one • Negotiation in this sense is not Clark’s level 4 • proposals are dialogue moves on the same level as questions, assertions, instructions etc. • There’s a difference between • accepting a proposal-move, and thereby adding a possible solution, and • accepting a proposed alternative as the solution
Two senses of “negotiation” • Negotiation in Sidner’s sense • A: I’m going to Paris[propose P] • B(1): OK, let’s see... [accept P] • B(2): Sorry, we only handle trips within Sweden [reject P] • Negotiation in our sense • U: flights to Paris on september 13 please • S: there is one flight at 07:45 and one at 12:00 [propose two flights] • U: what airline is the 12:00 one [ask] • S: the 12:00 flight is an SAS flight [answer] • U: I’ll take the 12:00 flight please [accept flight]
Remedies • distinguish utterance acceptance from “real” negotiation • an account of counterproposals which can account for the fact that • a new proposal may concern the same issue as a previous proposal, • without necessarily being a counterproposal
Negotiativity • Negotiation is a type of problem-solving • suggested characterisation of negotiation: • DPs discuss severalalternative solutions to some problem before choosing one of them • Negotiation does not imply conflicting goals • perhaps not 100% correspondence to everyday use of the word “negotiation”, but useful to keep collaborativity as a separate dimension from negotiation • this is also common practice in mathematical game theory and political theory
Negotiation tasks • Some factors influencing negotiation • distribution of information between DPs • distribution of responsibility: whether DPs must commit jointly (e.g. Coconut) or one DP can make the comittment (e.g. flight booking) • We’re initially trying to model negotiation in flight booking • sample dialogue • U: flights to paris on september 13 please • S: there is one flight at 07:45 and one at 12:00 • U: what airline is the 12:00 one • S: the 12:00 flight is an SAS flight • U: I’ll take the 12:00 flight please • Sys provides alternatives, User makes the choice • Sys knows timetable, User knows when he wants to travel etc.
Degrees of negotiativity • non-negotiative dialogue: only one alternative is discussed • semi-negotiative dialogue: a new alternative can be introduced by altering parameters of the previous alternative, but previous alternatives are not retained • negotiative dialogue: several alternatives can be introduced, and old alternatives are retained and can be returned to
Semi-negotiative dialogue • Does not require keeping track of several alternatives • Answers must be revisable (to some extent) • Example of limited semi-negotiative dialogue • Swedish SJ system (Philips): ”Do you want an earlier or later train?”
Issues Under Negotiation i (fully) negotiative dialogue • IUN is question e.g. what flight to take • In an activity, some questions are marked as negotiable issues • other questions are assumed to be non-negotiable, e.g. the user’s name in a travel agency setting • Each IUN is associated with a set of proposed answers • Needs a new IS field: SHARED.IUN of type assocset(question,set(answer))
Alternatives in negotiation • Alternatives are possible answers to an IUN • a proposal has the effect of introducing a new alternative to the Issue Under Negotiation • An IUN is resolved when an alternative is decided on, i.e. when an answer to it is accepted • In some cases, the answer to IUN may consist of a set of alternatives (e.g. when buying CDs)
an optimistic approach to utterance acceptance • DPs assume their utterances and moves are accepted (and integrated into SHARED) • If A asks a question with content Q, A will put Q topmost on SHARED.QUD • If addresse indicates rejection, backtrack • using the PRIVATE.TMP field • No need to indicate acceptance explicitly; it is assumed • The alternative is a pessimistic approach • If A asks a question with content Q, A will wait for an acceptance (implicit or explicit) before putting Q on top of QUD
Example • IUN is ?lx.sel_flight(x) (“which is the chosen flight”?) • A: flight to paris, december 13 • answer(dest(paris)) etc.; • B: OK, there’s one flight leaving at 07:45 and one at 12:00 • propose(f1), propose(f2), • answer(dep_time(f1,07:45)), answer(dep_time(f2,12:00)) • .... • A: I’ll take the 07:45 one • answer(sel_flight(X), dep_time(X, 07:45)), • after contextual interpretation: answer(sel_flight(f1))
B: OK, there’s one flight leaving at 07:45 and one at 12:00 AGENDA = { findout(?x.sel_flight(x)) } PLAN = findout((?x. ccn(x)) book_ticket PRIVATE = BEL = {flight(f1), dep_time(f1,0745), ... } TMP = (same structure as SHARED) IUN = < ?x.sel_flight(x){f1, f2 }> SHARED = dep_time(f1,0745), dep_time(f2,1200) dest(paris), ... COM = QUD = <> LM = {propose(f1), propose(f2), answer(dep_time(f1,07:40),...}
Issues Under Negotiation: Summary • proposed alternatives can concern the same issue, without conflicting • not all issues are negotiable: depends on the activity • a formal account in line with the use of Questions Under Discussion in GoDiS
Future work • implementation • exploring negotiation in other domains • relating IUN to global QUD; are they both needed? • dealing with conflicting goals
CD dialogue • U: Records by the Beach Boys • S: You can buy Pet Sounds, Today, or Surf’s Up • U: Which is the cheapest? • S: Pet Sounds and Today are both 79:-, Surf’s Up is 149:- • U: Hmm... I’ll get Pet Sounds and Today