370 likes | 469 Views
Issues Under Negotiation. Staffan Larsson Dept. of linguistics, G ö teborg University sl@ling.gu.se SigDial, 15/7 2002. Overview. background GoDiS: issue-based dialogue management Sidner: a formal account of negotiative dialogue problems with Sidner’s account
E N D
Issues Under Negotiation Staffan Larsson Dept. of linguistics, Göteborg University sl@ling.gu.se SigDial, 15/7 2002
Overview • background • GoDiS: issue-based dialogue management • 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 (1998-2000) • TrindiKit: a toolkit for building and experimenting with dialogue systems • the information state approach • GoDiS: an experimental issue-based dialogue system • inquiry-oriented dialogue (IOD): ask, answer • action-oriented dialogue (AOD): request, confirm • SIRIDUS project (2000-2002) • extend GoDiS to handle action-oriented dialogue and negotiative dialogue
Background • Thesis: Issue-based dialogue management • basic issue-based dialogue management • grounding issues • addressing unraised issues • action-oriented and negotiative dialogue • thesis and implementation available at • http://www.ling.gu.se/~sl/Thesis
background: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 • IOD, AOD • 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
control DME input inter- pret update select gene- rate output Information State data- base lexicon domain knowledge
Sample GoDiS information state AGENDA = { findout(?x.month(x)) } findout(?x.month(x)) findout(?x.class(x)) consultDB(?x.price(x)) PRIVATE = PLAN = BEL = { } dest(paris) transport(plane) COM = ISSUES = < ?x.dept(x), ?x.price(x) > SHARED = QUD = < ?x.dept(x) > LM = { ask(sys, x.dept(x))}
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 • messages update state of communication • fits IS update approach
Sidner cont’d • agents transmit messages with propositional contents • ProposeForAccept(PFA agt1 belief agt2) • agt1expresses beliefto 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 beliefas a mutual belief • beliefis popped from OpenStack
Sidner: counterproposals • Counter (CO agt1 belief1 agt2 belief2): without rejecting belief1, agt1offers belief2toagt2 • 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 communicative action • 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: Give me information about flights to Paris [propose] • B(1): OK, let’s see... [accept] • B(2): Sorry, I can’t do that [reject] • 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 decision rights: 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 • non-negotiable issues may become negotiable if an answer is rejected
Alternatives in negotiation • Each negotiable issue is associated with a set of proposed answers • Pair(WhQuestion,Set(Answer))) • 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 chosen by the DP(s) having decision rights • if DP A has the decision right over Q, explicit indication of acceptance from B is not necessary • if decision rights are shared, explicit acceptance by both is (probably) needed • In some cases, the answer to IUN may consist of a subset of the proposed alternatives (e.g. when buying CDs)
Negotiation in GoDiS • currently, 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, comparing them etc. • deciding on one of them, and then • getting price information / booking a flight • (negotiation can occur in information-seeking dialogue; not only in collaborative planning)
Example • IUN is ?x.des_flight(x) (“which is the user’s desired 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(des_flight(X), dep_time(X, 07:45)), • after contextual interpretation: answer(des_flight(f1))
B: OK, there’s one flight leaving at 07:45 and one at 12:00 AGENDA = { findout(?x.des_flight(x)) } PLAN = findout(?x. credit_card(x)) book_ticket PRIVATE = BEL = {flight(f1), dept_time(f1,0745), ... } dept_time(f1,0745) dept_time(f2,1200) dest(paris), ... COM = SHARED = ISSUES = < ?x.des_flight(x){f1, f2 }> QUD = <> LM = {propose(f1), propose(f2), answer(dept_time(f1,07:40),... }
Issues Under Negotiation: Summary • negotiable issues modelled semantically as questions, and alternatives as answers • negotiation of alternatives as opposed to accepting or rejecting utterance • 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 • soon! • exploring negotiation in other domains • dealing with conflicting goals • e.g. Castelfranchi et al 2000 • relation to discourse structure • Rosé et al 1995: “threads” (related to alternatives)
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
Proposals and alternative-questions • wh-question + proposals has same effect as asking alt-question • ”Do you want to travel in economy class or business class?” [ask alt-q] • ”How do you want to travel? One option is economy class. The other option is business class.” [ask wh-q; propose(economy), propose(business)] • alternate representation of alt-q’s • {?P(a1), …, ?P(aN)} • ?x.P(x)-{a1, …, aN} • partial functions for format conversion
”Downshift” • original idea (Cohen 1978) • ”gears” in dialogue: ”games per turn” • high gear = many latent subgames per turn • originally used to describe shifting to e.g. referent identification subdialogues • ”latent” referent identification game becomes manifest; c.f. finding answer to content-question • extension to acceptance • If optimistic assumption of acceptance fails, negotiation may ensue • latent acceptance game becomes manifest • this is where an issue assumed to be non-negotiable turns becomes negotiable
sample dialogue A: Where do you want to travel? B: Paris [answer(paris)] • B optimistically assumes dest-city(paris) in SHARED.COM A: Sorry, there are no flights to Paris. How about Marseille or Lyons? • question is reraised and is opened for negotiation; two proposals added • ISSUES=<?x.dest-city(x)-{marseille, lyons, paris}, …>
dialogue classification • types of dialogue • inquiry-oriented: ask, answer • action-oriented: request, confirm • properties of dialogue • grounding • mixed initiative (question accommodation etc.) • negotiation • properties of application domain • distribution of information • distribution of decision rights • type of result (complex or simple) • Both AOD and IOD can be negotiative • in a flight information service, the user does not become obliged to fly anywhere; so it’s IOD • but several different flights may be discussed
Argumentative (non-collaborative?) negotiative dialogue • argumentation for/against alternatives (not just exchanging information about them) • requires dialogue moves for argumentation (rhetorical moves) • mostly relevant when DPs must decide something jointly • need to represent DP’s stance towards alternatives + arguments for and against
Negotiation does not necessarily concern future actions • S: What’s the name of Jim’s sister? • U: Sue • S: Are you sure? I think it was Jane issues = <?x.name_of(jims_sister, x)-{sue, jane}> • U: Isn’t Jane the name of Jack’s sister? • S: Oh right, Sue then.
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