Issues Under Negotiation
Staffan LarssonDept. of linguistics, Göteborg University
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)
• 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
GoDiS features
inputinter-pret
Information State
data-base
control
update selectgene-rate
output
lexicon domainknowledge
DME
PRIVATE = PLAN =
AGENDA = { findout(?x.month(x)) }
SHARED =
findout(?x.month(x))findout(?x.class(x))
consultDB(?x.price(x))
COM = dest(paris) transport(plane)
QUD = < ?x.dept(x) >LM = { ask(sys, x.dept(x)) }
BEL = { }
Sample GoDiS information state
ISSUES = < ?x.dept(x), ?x.price(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)
• 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 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 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 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))
PRIVATE =
PLAN =
AGENDA = { findout(?x.des_flight(x)) }
SHARED =
findout(?x. credit_card(x))book_ticket
COM = dept_time(f1,0745) dept_time(f2,1200)
dest(paris), ...
QUD = <> LM = {propose(f1), propose(f2),
answer(dept_time(f1,07:40),... }
BEL = {flight(f1), dept_time(f1,0745), ... }
ISSUES = < ?x.des_flight(x){ f1, f2 } >
B: OK, there’s one flight leaving at 07:45 and one at 12:00
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 Janeissues = <?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
Top Related