Presentation is loading. Please wait.

Presentation is loading. Please wait.

From information exchange to negotiation Staffan Larsson Göteborg University

Similar presentations


Presentation on theme: "From information exchange to negotiation Staffan Larsson Göteborg University"— Presentation transcript:

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

2 Overview introduction to GoDiS information- and action-oriented dialogue negotiative dialogue

3 An experimental dialogue system built using the TrindiKit GoDiS

4 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

5 input inter- pret Information State data- base control updateselect gene- rate output lexicon domain knowledge DME

6 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 = LM = { ask(sys, x.origin(x)) } BEL = { } TMP = (same structure as SHARED) Sample GoDiS information state

7 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

8 Typical human-computer dialog S: Hello, how can I help you? U: I want price information please S: Where do you want to go? U: Paris S: How do you want to travel? U: A flight please S: When do you want to travel U: April S: what class did you have in mind? … S: The price is $123

9 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

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

11 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)

12 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)

13 Question and task accommodation in information-seeking dialogue S: hi U: 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 plan S: when do you want to travel?

14 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

15 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)

16 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

17 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)

18 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

19 Action- and information- oriented dialogue

20 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)

21 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

22 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)

23 Negotiative dialogue some definitions and ideas

24 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

25 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]

26 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

27 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

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

29 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

30 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?”

31 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

32 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

33 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?

34 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))

35 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 = ALTS = { f1, f2 } B: OK, there’s one flight leaving at 07:45 and one at 12:00

36 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

37 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 –FLIGHTDEP_TIMECOMPANY –f107:45KLM –f212:00SAS After doing the inital DB search, store results in PRIVATE.BEL, give some information about each alternative, e.g. flight departure time

38 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))

39 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

40

41 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


Download ppt "From information exchange to negotiation Staffan Larsson Göteborg University"

Similar presentations


Ads by Google