Presentation is loading. Please wait.

Presentation is loading. Please wait.

Information, action and negotiation in dialogue systems Staffan Larsson Kings College, Jan 2001.

Similar presentations


Presentation on theme: "Information, action and negotiation in dialogue systems Staffan Larsson Kings College, Jan 2001."— Presentation transcript:

1 Information, action and negotiation in dialogue systems Staffan Larsson sl@ling.gu.se Kings College, Jan 2001

2 Overview dialogue modelling the information state approach & TrindiKit GoDiS – a dialogue system action- and information oriented dialogue negotiative dialogue

3 Dialogue modelling Theoretical motivations –find structure of dialogue –explain structure –relate dialogue structure to informational and intentional structure Practical motivations –build dialogue systems to enable natural human-computer interaction –speech-to-speech translation –...

4 Informal approaches to dialogue modelling speech act theory (Austin, Searle,...) –utterances are actions –illocutionary acts: ask, assert, instruct etc. discourse analysis (Schegloff, Sacks,...) –turn-taking, pre-sequences etc. dialogue games (Sinclair & Coulthard,...) –structure of dialogue segments (rather than separate utterances) –can e.g. be encoded as regular expressions or finite automata qna-game -> question qna-game* answer

5 Computational approaches implemented in systems and toolkits finite state automata (CLSU toolkit, Nuance) frame-based (Philips, SpeechWorks) plan-based (TRAINS, Allen, Cohen, Grosz, Sidner,...) general reasoning (Sadek,...) information states (TRINDI: Traum, Bos,...)

6 Why build dialogue systems? theoretical: test theories –e.g. what kind of information does the system need to keep track of? –problem: complex system with many components practical: natural language interfaces –databases (train timetables etc) –electronic devices (mobile phones,...) –instructional/helpdesk systems –booking flights etc –tutorial systems

7 What does a system need to be able to do? speech recognition parsing, syntactic and semantic interpretation –resolve ambiguities –anaphora and ellipsis resolution, etc... dialogue management –how does an utterance change the state of the dialogue? –given the current state of the dialogue, what should the system do? natural language generation speech synthesis

8 Why spoken dialogue? Spoken dialogue is the natural way for people to communicate –computers should adapt to humans rather than the other way around important to enable system and user to communicate in a natural (human-like) way –mixed initiative –turntaking, feedback, barge-in –handle embedded subdialogues –...

9 What’s happening with dialogue systems Beginning to be used commercially Limited domains –need to encode domain-specific knowledge; a general system would require general world knowledge –speech recognition is harder with large lexicon Simple dialogue types –mostly information-seeking Need to bridge gap between dialogue theory and working systems

10 TrindiKit A toolkit for building and experimenting with dialogue move engines and systems, based on the information state approach

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

12 The information state is an abstract data structures (record, DRS, set, stack etc.) Modules (dialogue move engine, input, interpretation, generation, output etc.) access the information state DME (Dialogue Move Engine): module or group of modules responsible for integrating and generating dialogue moves Resources (device interface, lexicons, domain knowledge etc.) are hooked up to the information state TrindiKit architecture

13 input inter- pret Information State... control updateselect gene- rate output lexicon domain knowledge DME

14 A library of datatype definitions (records, DRSs, sets, stacks etc.) A language for writing information state update rules Methods and tools for visualising the information state debugging facilities TrindiKit components

15 A language for defining update algorithms used by TrindiKit modules to coordinate update rule application A language for defining basic control structure, to coordinate modules A library of basic ready-made modules for input/output, interpretation, generation etc.; A library of ready-made resource interfaces, e.g. to hook up databases, domain knowledge etc. TrindiKit components (cont’d)

16 TRINDIKIT dialogue theory (IS, rules, moves etc) domain knowledge (resources) domain-specific system Building a system domain-independent DME software engineering (basic types, control flow)

17 Starting from a theory of dialogue management, decide on –Type of information state (DRS, record, set of propositions, frame,...) –A set of dialogue moves –Information state update rules, including rules for integrating and selecting moves –DME Module algorithm(s) and basic control algorithm The DME is domain independent, given a certain type of dialogue –information-seeking –instructional –negotiative –... Building a domain-independent DME

18 Domain-specific system Build or select from existing components: Resources, e.g. –domain (device/database) interface –dialog-related domain knowledge, e.g. plan libraries etc. –grammars, lexicons Modules, e.g. –input –interpretation –generation –output

19 Explicit information state datastructure makes systems more transparent Update rules provide an intuitive way of formalising theories in a way which can be used by a system Domain knowledge encoded in resources; the rest of the system is domain independent TrindiKit Features

20 Features, cont’d Allows both serial and asynchronous systems Interfaces to OAA (only available for UNIX) Generic WWW interface Runs on UNIX, Windows, Linux etc. Needs SICStus Prolog Version 2.0 is available, next version expected early 2001 (SIRIDUS) www.ling.gu.se/projects/trindi/trindikit

21 Extensions Modules for speech input and output, for using off- the-shelf products (SIRIDUS project) GUI for increased usability and overview, including tools for building systems Extend libraries of ready-made modules and resources Use in new tasks? –previously, the main focus has been on dialogue management –other tasks may require additional components

22 GoDiS and IMDiS – information state based on Questions Under Discussion MIDAS – DRS information state, first-order reasoning EDIS – information state based on PTT Autoroute – information state based on Conversational Game Theory Systems developed using TrindiKit

23 An experimental dialogue system built using the TrindiKit GoDiS

24 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

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

26 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

27 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

28 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

29 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

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

31 Accommodation Lewis (1979): If someone says something at t which requires X to be in the conversational scoreboard, and X is not in the scoreboard at t, then (under certain conditions) X will become part of the scoreboard at t A: My cat is hungry –B accommodates “A has a cat” Has been applied to referents and propositions, as parts of the conversational scoreboard / information state

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

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

34 Task accommodation In some cases, the system may not even know what task the user wants the system to perform If latest move was an answer, and there is currently no plan, –find (in the domain resource) a task and corresponding plan containing a matching question; –accommodate the task and load the appropriate plan Similar to plan recognition, but no dynamic plan reconstruction or assumption that the full plan is shared

35 Update rule for task accommodation taskAcc - An answer move matches a task if the plan contains a question matching the answer - More complex version generates clarification question if the number of plans > 1 pre: eff: in( SHARED.LM, Move) domain :: match_task(Move, Task, Plan) add( SHARED.BEL, task(Task)) set( PRIVATE.PLAN, Plan)

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

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

38 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

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

40 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

41 Action- and information- oriented dialogue

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

43 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

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

45 Negotiative dialogue some definitions and ideas

46 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

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

48 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

49 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

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

51 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

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

53 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 a new IS field: SHARED.IUN of type assocset(question,set(answer))

54 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

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

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

57 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 = B: OK, there’s one flight leaving at 07:45 and one at 12:00

58 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

59 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

60 Plans some info must be obtained from user, and some is found in DB; how flexible is this division? a simple solution –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)) a better solution: implicit negotiation of dialogue strategy (Lewin)

61 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

62

63 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 "Information, action and negotiation in dialogue systems Staffan Larsson Kings College, Jan 2001."

Similar presentations


Ads by Google