Download IUN-nodalida

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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