Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Issues Under Negotiation Staffan Larsson Dept. of linguistics, Göteborg University [email protected] 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 interpret update select generate output Information State database lexicon domain knowledge Sample GoDiS information state AGENDA = PRIVATE = PLAN = { findout(?return) } findout(?x.month(x)) findout(?x.class(x)) respond(?x.price(x)) BEL = { } TMP = (same structure as SHARED) SHARED = dest(paris) COM = transport(plane) task(get_price_info) 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. 2. 3. 4. A A A A attends to B’s utterance percieves B’s utterance understands B’s utterance (grounding) 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 several alternative 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: S: U: S: U: flights to paris on september 13 please there is one flight at 07:45 and one at 12:00 what airline is the 12:00 one the 12:00 flight is an SAS flight 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 seminegotiative 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 nonnegotiable, 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 ?x.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 = PLAN = PRIVATE = { findout(?x.sel_flight(x)) } findout((?x. ccn(x)) book_ticket BEL = {flight(f1), dep_time(f1,0745), ... } TMP = (same structure as SHARED) IUN = < ?x.sel_flight(x){ f1, f2 } > SHARED = COM = dep_time(f1,0745), dep_time(f2,1200) dest(paris), ... <> LM = {propose(f1), propose(f2), answer(dep_time(f1,07:40),...} QUD = 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