52
1 Issue-based Dialogue Management Staffan Larsson 2003

1 Issue-based Dialogue Management Staffan Larsson 2003

  • View
    221

  • Download
    2

Embed Size (px)

Citation preview

1

Issue-based Dialogue Management

Staffan Larsson2003

2

overview of contents

1. Introduction2. Basic issue-based dialogue

management3. Grounding and feedback4. Adressing Unraised Issues5. Action-oriented Dialogue6. Multilinguality7. Conclusions

3

1. Introduction, goals

• explore and implement issue-based dialogue management– starting from Ginzburg’s theory of dialogue semantics based

on notion of QUD (Questions Under Discussion)– adapt to dialogue system (GoDiS) and implement– extend theory coverage, taking in relevant theories

• general theory of dialogue– minimize effort for adapting dialogue system to new domains

• incrementally extending system to handle increasingly complex types of dialogue– clarifies relation between dialogue genres– promotes reuse of update rules

• Larsson (2002): Issue-based Dialogue Management (PhD Thesis)

4

GoDiS: an issue-based dialogue system

• Built using TrindiKit– Toolkit for implementing and experimenting with

dialogue systems based on the information state approach

• Explores and implements issue-based dialogue management

• Extends theory to more flexible dialogue– Multiple tasks, information sharing between tasks – Feedback and grounding– Accommodation, re-raising, clarification– Menu based action oriented dialogue– Multi-linguality & mutiple domains

5

• information state– an abstract data structure (record, DRS, set, stack etc.)– accessed by modules using conditions and operations

• dialogue moves are associated with IS updates using IS update rules– rule name and class– preconditon list: conditions on TIS– effect list: operations on TIS

• dialogue move engine– module or group of modules responsible for – updating the IS based on observed moves– selecting moves to be performed

Information State Approach

6

inputinter-pret

TIS

DATABASE LEXICON DOMAIN

data-base

control

update selectgene-rate

output

lexicon domainknowledge

DME

7

TrindiKit

GoDiS

GoDiS-I GoDiS-A

TravelAgency

Auto-route

Xeroxmanual

VCRmanager

IBDM

homedevice

manager

ISapproach

genre-specific

application-specific

8

2. Issue-based dialogue management

• enquiry-oriented dialogue (database search)• basis:

– Ginzburg’s Dialogue Gameboard (DGB) and – related DGB update protocols

• dialogue moves: ask, answer, greet, quit• raising and addressing issues

– incl. short answers. e.g.”yes”, ”no”, ”paris”, ”in april”

• dialogue plans• sample domain: travel agency• extension:

– reraising issues– handling multiple issues

9

Semantics

• simple First Order Logic without quantifiers, but with questions

• questions– Y/N-questions: ?P, P is a proposition– wh-questions: ?x.p(x) (p is a predicate)

• ? works much like like – alt-questions: {?P1, …, ?Pn}

• Content of short answers– individual markers: paris, april, …– yes, no

10

Semantics, cont’d

• Q-A relations (adapted from Ginzburg)– resolves(A,Q): A resolves Q

• dest-city(paris) resolves ?x.dest-city(x)

– relevant(A,Q): A is relevant to Q (about Q)• not(dest-city(paris)) is relevant to ?

x.dest-city(x), but does not resolve it

11

basic GoDiS information state record type

PRIVATE :PLAN : stack( Action ) AGENDA : OpenQueue( Action )

SHARED :

BEL : set( Prop )

COM : set( Prop ) QUD : stack( Question )

LU: SPEAKER: Speaker MOVES: OQueue( Move )

12

sample dialogue plan

<findout(?x.transport(x))findout(?x.dest-city(x))findout(?x.depart-city(x))findout(?x.dept-month(x))findout(?x.dept-day(x))raise({?class(economy), ?class(business)}

consultDB(?x.price(x)) >

13

Answer integration

• integrateAnswer update rule

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

pre:

eff:

in($/SHARED/LU/MOVES, answer(A)) fst($/SHARED/QUD, Q)

$DOMAIN:relevant(A, Q)

! DOMAIN: combine(Q, A, P) add(/SHARED/COM, P)

14

basic dialogue with updates

U: ”price information please”; raises price issue– if user asks Q, push respond(Q) on AGENDA– if respond(Q) on AGENDA and PLAN empty, find plan

for Q and load to PLAN– if findout(Q) first on PLAN, ask Q

S: ”where do you want to go?”U: ”Paris”

– if LM=answer(A) and A relevant to Q, add P=Q[A] to SHARED.COM

– if P in SHARED.COM and Q topmost on QUD and P resolves Q, pop QUD

– if P in SHARED.COM and P fulfils goal of findout(Q) and findout(Q) on PLAN, pop PLAN

15

basics cont’d

• …S: ”Do you want economy class or

business class?”U: ”economy class”

– if consultDB(Q) on PLAN, consult database for answer to Q; store result in PRIVATE.BEL

– if Q on QUD and P in PRIVATE.BEL s.t. P resolves Q, answer(P)

S: ”The price is £123”

16

Information sharing across plans

• GoDiS does not keep track of when propositions were added, or which plan was being executed

• so information sharing is determined by question sharing across plans

• plan for VISA question:findout(?x.dest-city(x))findout(?x.citizenship(x))– shares a questions with plan for ?x.price(x)

• so if visa-issue raised after price-issue, no need to ask for destination again

17

dealing with multiple open issues

• if user asks Q, push Q on QUD and load plan for dealing with Q

• if users asks Q’ while system is dealing with Q, throw out plan for Q but Q remains on QUD; load plan for Q’

• when Q’ resolved, Q topmost on QUD will trigger reloading plan for dealing with Q– general rule: if SHARED.COM contains info resolving

Q, don’t ask Q– so any resolved questions in plan will be thrown out

18

Sample dialogue: multiple tasks & info sharing

S> Welcome to the travel agency! U> price information S> (…) Lets see. How do you want to travel? U> by flightS> (…) What city do you want to go to? U> parisS> (…) What city do you want to go from? U> do I need a visa ?S> (…) Lets see. What country are you from? U> swedenS> Okay. Yes, you need a Visa. S> Returning to the issue of price. Lets see. What city do

you want to go from?

19

3. Grounding and feedback

• Grounding– making sure that the participants are percieving,

understanding, and accepting each other’s utterances

– dealing with problematic situtations where e.g. an utterance is not percieved

• Feedback moves– (short) utterances which signal grounding status of

previous utterance

• Sequencing moves– utterances which signal switching task (”returning

to…”), reraising questions (”so…”) etc.

20

Grounding moves

• We want a typology of grounding moves– Both feedback and sequencing

• Some parameters:– Action levels in dialogue (Allwood, Clark)

• contact• perception • Understanding

– Word meanings– Contextual meaning

• acceptance– Polarity

• Positive• Negative• Interrogative (asking for confirmation)

21

Some grounding moves in GoDiS

• Formal representation– icm:Level/Type{*Polarity}{:Content}

• Feedback moves– icm:und*neg – ”I don’t understand”– icm:und*pos:P – ”To Paris.”– icm:acc*neg:Q – ”Sorry, I can’t …”– icm:acc*pos – ”Okay”

• Feedback type selected depending on– Quality of recognised speech– Whether system can find a (relevant) interpretation– Whether system can accept what’s been said

• Sequencing moves– icm:reraise:Q – ”Returning to the issue of Q”– icm:loadplan – ”Let’s see…”

22

Grounding on multiple levels

S> Lets see. What can I do for you? U> (mumble mumble)S> Sorry, I didnt hear what you said. What can I do for you?

U> siridusS> I heard you say siridus . Sorry, I dont understand. What can Ido for you?

U> channel oneS> channel one. I dont quite understand. Do you want to add aprogram or change channel?

(dialog3a_edit)

Negative perception

feeback

Positive perception

Negative understanding

Positive understanding

(word meaning)

Negative understanding

(relevance) Task clarification

23

U> turn on the t vS> turn on the TV… Sorry, I cannot control the TV set. Do you want to

add a program or change channel?”

U> pardonS> Sorry, I cannot control the TV set. Do you want to add a program or

change channel?U> change channelS> Okay.

(dialog3b_edit)

Rejection(negative

acceptance feedback)

Positiveunderstanding

User negative perception

System repetition

Positiveacceptance

24

Correcting the system

S> Lets see. What can I do for you? U> add programS> Okay. Add a program…S> Lets see. What channel do you want? U> channel sixS> channel five?U> noS> not channel five. So, What channel do you want? U> channel sixS> Okay. channel six.”

(dialog4_edit)

Interrogative feedback

Negative answer to fb.

Signals reraising (Sequencing ICM)

25

4: Addressing Unraised Issues

• (QUD and ISSUES)• General strategy: question

accommodation• issue accommodation • QUD accommodation• dependent issue accommodation• issue reacommodation

26

(A problem with QUD

• If QUD=<q1,q2> and q1 is resolved, q2 is available for resolution of short answers– takes no account of how many turns since

q2 was raised– but short answers a long distance away

from the question are not as easily processed as an adjacent answer

27

ISSUES and QUD

• We extend Ginzburg’s DGB by adding ISSUES of type Stack(Question)

• ISSUES contains all raised but unresolved questions – ISSUES determines relevance of user answers

• QUD used for resolving short answers– questions drop off QUD after N turns– a short answer to a question that’s on ISSUES

but not QUD requires adjusting QUD by copying a question on ISSUES

)

28

Typical human-human dialogue

S(alesman), C(ustomer)S: hiC: flights to parisS: when do you want to travel?C: april, as cheap as possible...

29

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

• Has been applied to referents and propositions, as parts of the conversational scoreboard / information state

30

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, then– put that question on ISSUES – (and QUD if it is a short answer)

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

clarification question)

31

issue accommodation PLANISSUES

• If – LM=answer(A) – no Q in ISSUES s.t. about(A,Q)

• then– find findout(Q) in PLAN s.t. about(A,Q)– push Q on ISSUES

• used when prevously unraised question (available in plan) is answered using a short or full answer

32

QUD accommodation ISSUESQUD

• If – LM=answer(A)– no Q in QUD s.t. about(A,Q)

• then– find Q in ISSUES s.t. about(A,Q)– push Q on QUD– raise Q in ISSUES (make Q topmost)

• used when– previously raised question has dropped off QUD, but

is answered using a short answer– previously unraised question is answered using short

answer [needs PLANISSUES accommodation]

33

dependent issue accommodationDOMAINISSUES (+PLAN)

• If – LM=answer(A)– no Q in ISSUES s.t. about(A,Q)– no findout(Q) in PLAN s.t. about(A,Q)

• then– find Plan for some Q’ in DOMAIN s.t. findout(Q) or

raise(Q) in Plan and about(A, Q)– push Q’ on ISSUES– set PLAN to Plan

• used when previously unraised question, unavailable in PLAN, is answered using full or short answer (AKA ”task accomodation”)

34

Sample dialogue: accommodation

S: Welcome to the travel agency.U: From London to Paris in April

– not relevant to any question that has been raised, or to any current task

– look in domain knowledge for a plan (for dealing with some question Q) with matching questions

– load this plan, push Q on ISSUES– find in the plan the question(s) matching the user’s answer– integrate answer (requres matching question on ISSUES)

S: Alright, you want to know about price. (…)

– proceed to next plan item

S: How do you want to travel?– ISSUES=<?x.how(x), ?x.price(x)>

35

Task clarification (VCR application)

S> What can I do for you? U> channel fiveS> channel five. I dont quite understand. Do you

want to add a program or change channel?U> change channelS> Okay. change channel.S> Lets see. channel five?U> yesS> The channel was changed

37

Issue reaccommodation SHARED.COMISSUES

• If – LM=answer(A) – no Q in ISSUES s.t. about(A,Q)– P in SHARED.COM s.t. there is a Q s.t.

about(A,Q) and about(P,Q)

• then– push Q on ISSUES– remove P from SHARED.COM

• Used when previously resolved question is answered again

38

Revision by reaccommodation and reraising

S> What can I do for you? U> add program channel fiveS> Okay. Do you want to add a program?U> yesS> Lets see. channel five?U> yesS> What date? U> channel sixS> Okay. channel six… What date?

39

5: Issues and goals in Action-Oriented Dialogue (AOD)

• each goal action associated with a dialogue plan

• add field– SHARED.ACTIONS : StackSet(Action)

• New moves: request(Action), report(Action, Status)

• ACTIONS has a similar role to ISSUES• adapt accommodation strategies to

AOD

40

AOD information state

PRIVATE :PLAN : stackset( Action )

AGENDA : stack( Action )

SHARED :

BEL : set( Prop )

TMP : (same type as SHARED)

COM : set( Prop )

QUD : stackset( Question )

ACTIONS : stackset( Action )

LU:…

ISSUES: stackset(Question)

41

Requests vs. answers

• requests adresses a general question– ”what shall I do next?”, ”what can I do for you?” or

similar (”prompt”)– semantics in AOD: ?x.action(x)

• dialogue– ”What can I do for you?” raises?x.action(x) – ”Search the phonebook” interpreted as

request(search_phonebook)

• Rule: – If ?x.action(x) is topmost on ISSUES and L-M is

request(a)– then pop ISSUES

42

Questions vs. answers

• a question can be regarded as a special type of request

• so in a specific sense, questions are also answers…

• questions adresses a general question– ”what issue shall I address next?”, ”what can I

do for you?” or similar (”prompt”)– semantics: ?x.issue(x)– this question is not presupposed

• semantics of ”How can I help you?” in IOD is ask(?x.issue(x))

43

Action Oriented Dialogue subtypes

• ”Command dialogue”– user instructs system to perform actions

• device control; menu-based• travel agency booking

• ”Instructional dialogue”– system instructs user to perform actions

• ”interactive manual”

– system can explaing how to perform some action

• joint planning– user and system jointly agree to a plan– also involves negotiation

44

input

nuanceinter-pret

Information StateLEXICON DOMAIN DEVICES

lexiconvcrphone

control

update select gene-rate

outputnuance

devicephone

domainvcrphone

devicevcr

lexiconhome

domainhome

rel1

rel2

dim10

VCR

devicealert

45

Converting menus to plans

Menu Planmulti-choice list P1, P2, ..., Pn

findout({?P1,?P2,...,?Pn})

tick-box +/-P findout(?P)

dialogue windowp=___

findout(?x.p(x))

pop-up message M

inform(M)

46

Menu-based AODS: Welcome to the telephone and VCR manager!U: Channel one todayS: Right, I assume you want to add a program. Let’s see. Okay.

Channel one. Today. What time do you want to start recording?S: What time is it?U: It’s one forty fiveS: Set the clock to two forty fiveU: Okay, set the clock. Two forty five, is that correct?S: Yes.U: Okay. The clock was set. Returning to timer recording. So,

what time do you want to start recording?U: eight thirty to nine thirtyS: Okay. Starting at eight thirty. Ending at nine thirty. The

program has been added.

47

Task and question accommodation in AOD

S> Lets see. What can I do for you?U> channel five today

S> Alright. add a program… Lets see. Okay. channel five… today… What time do you want to start recording?

U> from six thirty to seven thirtyS> Okay. from six thirty… to seven thirty… The

program has been added. ”

Signals accommodation(sequencing ICM)

48

7. Multilinguality and multiple domains

• Language and domain resources can be switched on the fly

• Does not affect the rest of the system

• Thanks to modularity structure of system

49

Multilinguality

S> Lets see. What can I do for you? U> add programS> Okay. Do you want to add a program?U> yesS> Lets see. What channel do you want? U> svenskaS> Okej. S> Gå tillbaks till lägg till ett program. Vilken kanal vill du spela

in? U> kanal ettS> kanal ett , är det korrekt? S> Så, Vilken kanal vill du spela in? U> englishS> Okay...

50

Multiple domains

S> Welcome to the VCR manager! S> Lets see. What can I do for you? U> change domainS> Okay. change domain… Lets see. What domain do you

want? U> telephoneS> Okay. This is your automatic telephone operator… Lets see.

Please specify a function. U> callS> Okay. make a phone call.S> Lets see. Please specify the destination of the call. U> luisS> Okay. Luis… Calling

51

8. Conclusions: GoDiS & Issue-Based Dialogue Management

• general solutions to– dealing with multiple tasks– sharing information between tasks– grounding and feedback– user initiative (accommodation)– menu-based dialogue

• rapid prototyping of applications– dialogue plans

• switching language and domain online

52

Current and future work• Extend to more complex dialogue types

– Negotiation (theory exists, not yet implemented)– Tutorial dialogue– …

• Explore use of QUD and ISSUES to assign proper focus intonation – Stina Ericsson, forthcoming PhD thesis

• Build VCR control application, available on the phone– Users can phone up and get TV programs recorded on a

computer– Collect corpus to use as basis for further developments

• Integrate with type-theoretical situation semantics (cf. Robin’s talk)

53

Relation to plan-based approaches

• IBDM is compatible with, and can (should) be extended to include plan-based approaches– Task accommodation requires plan recognition; currently very simple (but

task accommodation is not included as such in plan-based approaches)• IBDM covers some dialogue-specific phenomena not usually covered

in plan-based approaches– Short answers– Grounding and feedback– Accommotion

• However, some plan-based accounts cover some of the phenomena also covered by IBDM– We believe the issue-based account is simpler and thus more appropriate

for simple kinds of dialogue– Plan-based approaches often unnecessarily complex for simple kinds of

dialogue– We want to explore the middle ground beteen simple and complex

accounts of dialogue