Top Banner
From information exchange to negotiation Staffan Larsson Göteborg University [email protected]
41
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

From information exchange to negotiation

Staffan LarssonGöteborg University

[email protected]

Page 2: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Overview

• introduction to GoDiS• information- and action-oriented

dialogue• negotiative dialogue

Page 3: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

An experimental dialogue system built using the

TrindiKit

GoDiS

Page 4: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

• 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

GoDiS features

Page 5: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

inputinter-pret

Information State

data-base

control

update selectgene-rate

output

lexicon domainknowledge

DME

Page 6: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

PRIVATE = PLAN =

AGENDA = { findout(?return) }

SHARED =

findout(?x.month(x))findout(?x.class(x))

respond(?x.price(x))

COM = dest(paris) transport(plane) task(get_price_info)

QUD = < x.origin(x) >LM = { ask(sys, x.origin(x)) }

BEL = { }

TMP = (same structure as SHARED)

Sample GoDiS information state

Page 7: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

• integrateAnswer

• Before an answer can be integrated by the system, it must be matched to a question on QUD

pre:

eff:

in(SHARED.LM, answer(usr, A))fst(SHARED.QUD, Q) relevant_answer(Q, A)

pop(SHARED.QUD) reduce(Q, A, P)

add(SHARED.COM, P)

Sample update rule

Page 8: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Typical human-computer dialog

S: Hello, how can I help you?U: I want price information pleaseS: Where do you want to go?U: ParisS: How do you want to travel?U: A flight pleaseS: When do you want to travelU: AprilS: what class did you have in mind?…S: The price is $123

Page 9: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Dialogue plans for information-seeking dialogue

• Find out how user wants to travel• Find out where user wants to go to• Find out where user wants to travel

from• Find out when user wants to travel• …• Lookup database• Tell user the price

Page 10: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Typical human-human dialogue

S(alesman), C(ustomer)

S: hi

C: flights to paris

S: when do you want to travel?

C: april, as cheap as possible

...

Page 11: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Question accommodation

• If questions are part of the information state, they too can be accommodated

• If the latest move was an answer, and there is an action in the plan to ask a matching question, put that question on QUD

• Requires that the number of possible matching questions is not too large (or can be narrowed down by asking clarification question)

Page 12: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Update rule for question accommodation

QuAcc

pre:

eff:

in(SHARED.LM, answer(usr, A)) in(PRIVATE.PLAN, findout(Q)) relevant_answer(Q, A)

delete(PRIVATE.PLAN, findout(Q))push(SHARED.QUD, Q)

Page 13: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Question and task accommodation in information-seeking dialogue

S: hiU: flights to paris• system finds plan containing appropriate

questions, and loads it into the plan field in the information state

• system accommodates questions: how does user want to travel + where does user want to go, and integrates the answers “flight” and “to paris”

• system proceeds to next question on planS: when do you want to travel?

Page 14: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Revision by question reaccommodation

• if the user answers a question which has already been answered:– remove proposition from shared beliefs, and put

question back on QUD

Page 15: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

An optimistic approach to grounding

• DPs assume their utterances are understood– If A asks a question with content Q, A will update shared.lm with ask(A,Q)

• If addressee indicates that the previous utterance was not understood (reqRep), backtrack– uses the PRIVATE.TMP field, which contains a copy of

the SHARED field from before the latest utterance was made

• The alternative is a pessimistic approach– If A asks Q, A will not update shared.lm until B

indicates understanding (implicitly or explicitly)

Page 16: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Activity-based moves

• Moves are determined by the relation of the content to the domain– utterance U is an answer if the content A of U

is a relevant answer to a question Q in the domain

– moves are not necessarily speech acts!

• GoDiS basic dialogue moves– ask(Q)– answer(A)– request_repetition– greeting, quit

Page 17: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

• Adapted for travel agency and autoroute domains, as well as acting as interface to handheld computer or mobile phone

• Question and task accommodation to enable mixed initiative

• Simple “optimistic” grounding strategy• Focus intonation based on information state

contents• Has been extended to handle instructional

dialogue (IMDiS)• Also being extended to handle negotiative

dialogue (SIRIDUS)

GoDiS features (cont’d)

Page 18: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Problem with current GoDiS

• assumes database always returns exactly one post (price info); not generally true

• 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

• Requires negotiation

Page 19: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Action- and information-oriented dialogue

Page 20: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Information- vs. action-oriented dialogue

• Information oriented dialogue (IOD) has the primary goal of exchanging information, regardless of how this information will be used in future actions

• Action oriented dialogue (AOD) has the primary goal of a participant performing or being obliged to perform an action (or plan, i.e. a complex action)

Page 21: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Information-oriented dialogue

• Information-seeking dialogue (ISD): one DP asks the questions, the other answers them

• Information-exchange (information oriented) dialogue: both DPs ask questions and provide answers

• IOD can be seen as a sequence of infoseeking dialogues, possibly with embedded subdialogues

• shared information is stored in shared.com

Page 22: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Action-oriented dialogue

• In simple AOD, only one participant becomes obliged/comitted to some action or plan

• Actions can either be performed ”online” while the dialogue is happening, or they may be stored as a plan to be performed after the dialogue (”offline”)

• Requires a store of obliged actions in the IS (SHARED.ACTIONS)

Page 23: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Negotiative dialogue

some definitions and ideas

Page 24: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Negotiation vs. acceptance

• Clark’s ladder:– 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 of proposals– this means that all dialogue is negotiative– all assertions (and questions, instructions etc.) are

proposals• But some dialogues are negotiative in another sense, by

explicitly containing discussions about different solutions to a problem, and finally deciding on one– Negotiation is not Clark’s level 4

Page 25: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Two senses of “negotiation”

• Negotiation in Sidner’s sense– A: I want to go to Paris [propose]– B(1): OK [accept]– B(2): Sorry, there are no flights to Paris [reject]

• Negotiation in our sense– U: flights to paris on september 13 please [answer]– S: there is one flight at 07:45 and one at 12:00

[propose]– 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]

Page 26: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Optimistic approach to acceptance

• DPs assume their utterances 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

Page 27: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Negotiativity

• Negotiation is a type of problem-solving (cf. Di Eugenio et. al., Coconut)

• Negotiation: DPs discuss several alternative solutions 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

• 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

Page 28: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Negotiation tasks• Some factors influencing negotiation

– distribution of information between DPs – 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 dialouge

• 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.

Page 29: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

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

Page 30: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Semi-negotiative dialogue

• Does not require keeping track of several alternatives

• Answers must be revisable; this can be done using reraising of answered questions

• Correction of optimistic assumption of acceptance not necessarliy distinguished from revision

• Example: Swedish SJ system (Philips): ”Do you want an earlier or later train?”

Page 31: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Issues Under Negotiation i negotiative dialogue

• IUN is a 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

• Needs two IS fields: SHARED.IUN and SHARED.ALTS

Page 32: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Alternatives in negotiation

• Alternatives are alternate answers to an IUN• a proposal is the introduction of a new possible

answer to IUN• An IUN is resolved when an answer to it is

given, i.e. when an alternative is accepted• Alternatives and information about them is

optimistically assumed to be accepted• Alternatives are needed whenever database

search can return more than one result

Page 33: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

General and specific information

• General information concerns all alternatives, and is collected in an initial information-seeking dialogue (e.g. flights to paris)– e.g. x.dest(x,Paris)

• Specific information concerns specific alternatives (e.g. flight f345 leaves at 10:45)

• Specific info usually results from a database search whose input is general info; does this motivate separate fields in IS?

Page 34: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Example

• IUN is x.sel_flight(x) (“which is the chosen flight”?)

• A: flight to paris, december 13– answer(x.dest(x,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))

Page 35: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

PRIVATE =

PLAN =

AGENDA = { findout(?x.sel_flight(x)) }

SHARED =

findout((?x. ccn(x))book_ticket

COM = dep_time(f1,0745),dep_time(f2,1200)

x.dest(x, paris), ...QUD = <>

LM = {propose(f1), propose(f2), answer(dep_time(f1,07:40),...}

BEL = {flight(f1), dep_time(f1,0745), ... } TMP = (same structure as SHARED)

IUN = < ?x.sel_flight(x) >ALTS = { f1, f2 }

B: OK, there’s one flight leaving at 07:45 and one at 12:00

Page 36: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Interpretation of NPs

• Interpretation of ”the 7:45 one” uses unification and coercion– all answer-contents which match

propositions in SHARED.COM is unifed with this info; e.g. dep_time(X,07:45) is unified with dep_time(f1,07:45)

– the rest is added, e.g. sel_flight(X) with X=f1

Page 37: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Database search

• Consulting DB with a set of (general) facts and a question (e.g. X^flight(X)) gives a list of alternative answers to the question AND info related to each of these alternatives

• Example– FLIGHT DEP_TIMECOMPANY– f1 07:45 KLM– f2 12:00 SAS

• After doing the inital DB search, store results in PRIVATE.BEL, give some information about each alternative, e.g. flight departure time

Page 38: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Plans• some info must be obtained from user, and some is

found in DB; how flexible is this division? Here we assume that – departure date, destination, origin and class is obtained from

user – (exact) departure times, company etc is always found in DB – departure times are always adressed when giving proposals;

other info can be requested by user

• flight booking– findout(X^dest_city(_,X)), ...– consultDB– propose– adress(X^dep_time(_,X))– findout(X^sel_flight(X))

Page 39: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Revising general information

• Problem when general information is revised– solution: see it as defaults; if it is altered,

turn it into specific info for all current alternatives which do not contradict the default

Page 40: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.
Page 41: From information exchange to negotiation Staffan Larsson Göteborg University sl@ling.gu.se.

Evidence for negotiable issues

• optimistic approach to acceptance– A: Where do you want to travel?– B: London– A: When do you want to travel?– Intuition: A’s first question has been resolved

• actual negotiation– B: Do you have a flight for London?– A: There’s one at 7:45– B: What hotels are available?– Intuition: the question “which flight will B take”

is still unresolved