Type-based Human-Computer Dialogue Peter Ljunglf Dept. of Computer - - PowerPoint PPT Presentation

type based human computer dialogue
SMART_READER_LITE
LIVE PREVIEW

Type-based Human-Computer Dialogue Peter Ljunglf Dept. of Computer - - PowerPoint PPT Presentation

introduction, refinement, summary Type-based Human-Computer Dialogue Peter Ljunglf Dept. of Computer Science and Engineering University of Gothenburg / Chalmers Univ. of Technology The TYPES meeting Toulouse, 26 April 2013 Peter


slide-1
SLIDE 1

introduction, refinement, summary

Type-based Human-Computer Dialogue

Peter Ljunglöf

  • Dept. of Computer Science and Engineering

University of Gothenburg / Chalmers Univ.

  • f Technology

The TYPES meeting Toulouse, 26 April 2013

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-2
SLIDE 2

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Dialogue systems

A dialogue system interacts with humans via natural language spoken dialogue (telephone, in-car) written dialogue (web helper agents, chatbots) multimodal dialogue (virtual worlds, avatars, information kiosks) The interaction should be longer than a simple Q/A pair i.e., IBM Watson or Apple Siri are not dialogue systems we need to be able to keep track of the state in the dialogue we need a way to specify the dialogue domain and structure

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-3
SLIDE 3

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Different kinds of dialogue systems

Finite-state: the dialogue is defined as a finite-state flowchart

+ simple implementation − each possible interaction sequence has to be implemented

Form-based: the dialogue consists of filling slots in a form

+ more freedom in how to fill the slots + the most common framework (VoiceXML is a W3C standard) − if you have several forms, you first have to select the form − limited possibilities in creating hierarchical forms

Information-state update rules with preconditions / effects (ISU)

+ allows for sub-dialogues, incremental dialogue, etc. + multiple interaction modes (system-, user-driven, mixed initiative) − update rules can affect other rules (butterfly effect) − no underlying mathematical theory

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-4
SLIDE 4

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

The information-state update approach (ISU)

An ISU dialogue system consists of an information state (IS) the IS models the beliefs, desires and intentions (BDI)

  • f the dialogue participants

The IS is modified by update rules rules are defined by preconditions and effects on the IS The dialogue utterances are encoded as dialogue moves (DM) examples: ask(. . .), answer(. . .), request(. . .), feedback(. . .) the IS contains specific slots for incoming and outgoing DMs Converting between utterances and DMs is a problem of its own but it can be done in type theory (e.g., Luo, Retoré, Ranta, Cooper)

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-5
SLIDE 5

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Using type theory for dialogue

In this talk I present an idea of how to use type theory for dialogue the domain is specified by a list of defined constants and functions

i.e., what the dialogue system can talk about

the goal of a dialogue is to build a complete, type-correct term

during the dialogue, the term is partial and contains metavariables the term is a part of the information state, and represents the beliefs and intentions of the participants

the term is built interactively, much as an interactive proof editor

initially, the term is a single metavariable of the goal type, ?Goal the system asks questions corresponding to the term’s metavariables the user gives answers that refine the metavariables

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-6
SLIDE 6

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

An example domain

A specification of a travel agency book : Event → Goal price : Event → Goal info : City → Goal

hotelvisit : City × Date → Event

  • neway : Route × Date → Event

return : Route×Date×Date → Event route : City × City × Means → Route today, tomorrow : Date date : Month × Day → Date tou, gbg, . . . : City flight, boat, . . . : Means jan, feb, . . . : Month 1st, 2nd, . . . : Day

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-7
SLIDE 7

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Terms and trees

A term that specifies a booking of a boat trip to Toulouse book(oneway(route(tou, gbg, boat), tomorrow)) : Goal The corresponding tree, with type annotation book:Goal

  • neway:Event

route:Route tou:City gbg:City boat:Means tomorrow:Date

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-8
SLIDE 8

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Dialogue management by successive refinement

The dialogue system builds a complete term by successive refinement: the system asks questions corresponding to metavariables the user gives answers (but not necessarily to asked questions. . . ) The term can contain several metavariables, and one of them is active: it is called the focus node (and is shown highlighted) the initial term is the single focused node ?Goal When the user has given an answer to a metavariable, the system moves the focus to another node when the term is complete, the dialogue is finished e.g., then the system can perform the requested booking

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-9
SLIDE 9

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Two kinds of system questions

When it is the system’s turn, it asks a question: if necessary, it moves the focus to a new metavariable it asks the question corresponding to the focus node There are two possible questions for a given metavariable: a wh-question is written ?T

?Goal ⇒ “What do you want to do?”

an alternative question is written ?f1 ∨ . . . ∨ fn : T

?book ∨ info : Goal ⇒ “Do you want to book an event or get city information?”

I won’t discuss how to perform translation between utterances and terms (parsing and generation), but one possibility is to use type theory. . .

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-10
SLIDE 10

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

?Goal S: ask(?Goal) ⇒ “What do you want to do?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-11
SLIDE 11

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

?Goal U: (. . . no answer. . . )

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-12
SLIDE 12

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

?book∨price∨info:Goal S: ask(?book ∨ price ∨ info : Goal) ⇒ “Do you want to book an event, know the price or get city information?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-13
SLIDE 13

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

book:Goal ?Event U: “Book an event” ⇒ answer(book(?Event) : Goal)

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-14
SLIDE 14

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

book:Goal ?Event S: ask(?Event) ⇒ “Which event are you interested in?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-15
SLIDE 15

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

book:Goal ?Event U: (. . . incomprehensible. . . )

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-16
SLIDE 16

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

book:Goal ?hotelvisit∨oneway∨return:Event S: ask(?hotelvisit ∨ oneway ∨ return : Event) ⇒ “Do you want a hotel visit, a oneway trip or a return trip?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-17
SLIDE 17

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

book:Goal

  • neway:Event

?Route ?Date U: “A oneway trip” ⇒ answer(oneway(?Route, ?Date) : Event)

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-18
SLIDE 18

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

book:Goal

  • neway:Event

?Route ?Date S: ask(?Route) ⇒ “Which route do you want?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-19
SLIDE 19

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

book:Goal

  • neway:Event

?Route ?Date U: “Eh. . . ?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-20
SLIDE 20

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

book:Goal

  • neway:Event

route:Route ?City ?City ?Means ?Date S: ask(?City) ⇒ “To which city are you heading?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-21
SLIDE 21

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

book:Goal

  • neway:Event

route:Route tou:City ?City ?Means ?Date U: “To Toulouse” ⇒ answer(tou : City)

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-22
SLIDE 22

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

book:Goal

  • neway:Event

route:Route tou:City ?City ?Means ?Date S: ask(?City) ⇒ “From where are you leaving?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-23
SLIDE 23

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

book:Goal

  • neway:Event

route:Route tou:City gbg:City ?Means ?Date U: “From Gothenburg” ⇒ answer(gbg : City)

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-24
SLIDE 24

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

book:Goal

  • neway:Event

route:Route tou:City gbg:City ?Means ?Date (etcetera. . . )

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-25
SLIDE 25

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

book:Goal

  • neway:Event

route:Route tou:City gbg:City boat:Means ?Date (etcetera. . . )

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-26
SLIDE 26

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

book:Goal

  • neway:Event

route:Route tou:City gbg:City boat:Means ?Date (etcetera. . . )

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-27
SLIDE 27

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

Example: System-driven dialogue

book:Goal

  • neway:Event

route:Route tou:City gbg:City boat:Means tomorrow:Date (etcetera. . . )

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-28
SLIDE 28

introduction, refinement, summary dialogue systems, types and dialogue, dialogue management

All this is old stuff – and inflexible too!

This dialogue system was inspired from the Alfa proof editor and was described by Ranta and Cooper (2004) The dialogue works fine provided that the user always answers the system’s questions. . . . . . which humans almost never do The system cannot handle underspecified answers such as “a boat trip to Toulouse” as the first answer which is not a term of type Goal, but instead of type Route . . . which is what humans almost always do I will now present my ideas on how underspecification can be handled

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-29
SLIDE 29

introduction, refinement, summary top-down, bottom-up, bottom-down,

Underspecified tree nodes

I use underspecified tree nodes for incorporating underspecified information: when the user says something which the system cannot integrate into the current tree. g:Goal ?A b:B c:C ?D e:E the type A (resp. D) must dominate B, C (resp. E) the intuition is similar to proving a lemma before you know exactly where it fits in the final proof

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-30
SLIDE 30

introduction, refinement, summary top-down, bottom-up, bottom-down,

Refinement strategies

When the user gives an underspecified answer to a question, the system has to figure out what to do next since the answer is underspecified, the current focus node will still be a metavariable but to continue asking the same question over and over again will seem very uncooperative So the system can instead change its focus to show to the user that it has accommodated the answer this can be done in (at least) three different ways I call them top-down, bottom-up and “bottom-down”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-31
SLIDE 31

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 1: Top-down refinement

There are (at least) the following refinement strategies:

1 top-down refinement 2 bottom-up refinement 3 “bottom-down” refinement Peter Ljunglöf Type-based Human-Computer Dialogue

slide-32
SLIDE 32

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 1: Top-down refinement

?Goal S: ask(?Goal) ⇒ “What do you want to do?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-33
SLIDE 33

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 1: Top-down refinement

?Goal route:Route tou:City ?City ?Means U: “Go to Toulouse” ⇒ answer(route(tou, ?City, ?Means) : Route)

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-34
SLIDE 34

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 1: Top-down refinement

?book∨price:Goal route:Route tou:City ?City ?Means The question is filtered by the underspecified node! S: ask(?book ∨ price : Goal) ⇒ “Do you want to book an event or know the price?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-35
SLIDE 35

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 1: Top-down refinement

book:Goal ?Event route:Route tou:City ?City ?Means U: “Book an event” ⇒ answer(book(?Event) : Goal)

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-36
SLIDE 36

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 1: Top-down refinement

book:Goal ?oneway∨return:Event route:Route tou:City ?City ?Means The question is filtered by the underspecified node! S: ask(?oneway ∨ return : Event) ⇒ “Do you want a oneway trip or a return trip?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-37
SLIDE 37

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 1: Top-down refinement

book:Goal

  • neway:Event

?Route route:Route tou:City ?City ?Means ?Date U: “A oneway trip” ⇒ answer(oneway(?Route, ?Date) : Event)

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-38
SLIDE 38

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 1: Top-down refinement

book:Goal

  • neway:Event

route:Route tou:City ?City ?Means ?Date

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-39
SLIDE 39

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 1: Top-down refinement

book:Goal

  • neway:Event

route:Route tou:City ?City ?Means ?Date S: ask(?City) ⇒ “From where are you leaving?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-40
SLIDE 40

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 1: Top-down refinement

book:Goal

  • neway:Event

route:Route tou:City gbg:City ?Means ?Date U: “Gothenburg” ⇒ answer(gbg : City)

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-41
SLIDE 41

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 1: Top-down refinement

book:Goal

  • neway:Event

route:Route tou:City gbg:City ?Means ?Date (etcetera. . . )

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-42
SLIDE 42

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 1: Top-down refinement

book:Goal

  • neway:Event

route:Route tou:City gbg:City boat:Means ?Date (etcetera. . . )

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-43
SLIDE 43

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 1: Top-down refinement

book:Goal

  • neway:Event

route:Route tou:City gbg:City boat:Means ?Date (etcetera. . . )

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-44
SLIDE 44

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 1: Top-down refinement

book:Goal

  • neway:Event

route:Route tou:City gbg:City boat:Means tomorrow:Date (etcetera. . . )

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-45
SLIDE 45

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 2: Bottom-up refinement

There are (at least) the following refinement strategies:

1 top-down refinement 2 bottom-up refinement 3 “bottom-down” refinement Peter Ljunglöf Type-based Human-Computer Dialogue

slide-46
SLIDE 46

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 2: Bottom-up refinement

?Goal S: ask(?Goal) ⇒ “What do you want to do?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-47
SLIDE 47

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 2: Bottom-up refinement

?Goal route:Route tou:City ?City ?Means U: “Go to Toulouse” ⇒ answer(route(tou, ?City, ?Means) : Route)

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-48
SLIDE 48

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 2: Bottom-up refinement

?Goal route:Route tou:City ?City ?Means

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-49
SLIDE 49

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 2: Bottom-up refinement

?Goal ?oneway∨return:Event route:Route tou:City ?City ?Means The question is filtered by the goal type! S: ask(?oneway ∨ return : Event) ⇒ “Do you want a oneway trip or a return trip?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-50
SLIDE 50

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 2: Bottom-up refinement

?Goal

  • neway:Event

route:Route tou:City ?City ?Means ?Date U: “A oneway trip” ⇒ answer(oneway(?Route, ?Date) : Event)

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-51
SLIDE 51

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 2: Bottom-up refinement

?Goal ?book∨price:Goal

  • neway:Event

route:Route tou:City ?City ?Means ?Date The question is filtered by the goal type! S: ask(?book ∨ price : Goal) ⇒ “Do you want to book an event or know the price?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-52
SLIDE 52

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 2: Bottom-up refinement

?Goal book:Goal

  • neway:Event

route:Route tou:City ?City ?Means ?Date U: “Book an event” ⇒ answer(book(?Event) : Goal)

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-53
SLIDE 53

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 2: Bottom-up refinement

book:Goal

  • neway:Event

route:Route tou:City ?City ?Means ?Date

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-54
SLIDE 54

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 2: Bottom-up refinement

book:Goal

  • neway:Event

route:Route tou:City ?City ?Means ?Date S: ask(?City) ⇒ “From where are you leaving?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-55
SLIDE 55

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 2: Bottom-up refinement

book:Goal

  • neway:Event

route:Route tou:City gbg:City ?Means ?Date U: “Gothenburg” ⇒ answer(gbg : City)

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-56
SLIDE 56

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 2: Bottom-up refinement

book:Goal

  • neway:Event

route:Route tou:City gbg:City ?Means ?Date (etcetera. . . )

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-57
SLIDE 57

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 2: Bottom-up refinement

book:Goal

  • neway:Event

route:Route tou:City gbg:City boat:Means ?Date (etcetera. . . )

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-58
SLIDE 58

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 2: Bottom-up refinement

book:Goal

  • neway:Event

route:Route tou:City gbg:City boat:Means ?Date (etcetera. . . )

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-59
SLIDE 59

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 2: Bottom-up refinement

book:Goal

  • neway:Event

route:Route tou:City gbg:City boat:Means tomorrow:Date (etcetera. . . )

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-60
SLIDE 60

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 3: “Bottom-down” refinement

There are (at least) the following refinement strategies:

1 top-down refinement 2 bottom-up refinement 3 “bottom-down” refinement Peter Ljunglöf Type-based Human-Computer Dialogue

slide-61
SLIDE 61

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 3: “Bottom-down” refinement

?Goal S: “What do you want to do?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-62
SLIDE 62

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 3: “Bottom-down” refinement

?Goal route:Route tou:City ?City ?Means U: “Go to Toulouse”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-63
SLIDE 63

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 3: “Bottom-down” refinement

?Goal route:Route tou:City ?City ?Means

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-64
SLIDE 64

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 3: “Bottom-down” refinement

?Goal route:Route tou:City ?City ?Means S: “From where do you want to go?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-65
SLIDE 65

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 3: “Bottom-down” refinement

?Goal route:Route tou:City gbg:City ?Means U: “From Gothenburg”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-66
SLIDE 66

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 3: “Bottom-down” refinement

?Goal route:Route tou:City gbg:City ?Means S: “How do you want to travel?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-67
SLIDE 67

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 3: “Bottom-down” refinement

?Goal route:Route tou:City gbg:City boat:Means U: “By boat”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-68
SLIDE 68

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 3: “Bottom-down” refinement

?Goal ?oneway∨return:Event route:Route tou:City gbg:City boat:Means The question is filtered by the goal type! S: “Do you want a oneway or return trip?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-69
SLIDE 69

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 3: “Bottom-down” refinement

?Goal

  • neway:Event

route:Route tou:City gbg:City boat:Means ?Date U: “Oneway”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-70
SLIDE 70

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 3: “Bottom-down” refinement

?Goal

  • neway:Event

route:Route tou:City gbg:City boat:Means ?Date S: “When do you want to leave?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-71
SLIDE 71

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 3: “Bottom-down” refinement

?Goal

  • neway:Event

route:Route tou:City gbg:City boat:Means tomorrow:Date U: “Tomorrow”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-72
SLIDE 72

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 3: “Bottom-down” refinement

?Goal ?book∨price:Goal

  • neway:Event

route:Route tou:City gbg:City boat:Means tomorrow:Date The question is filtered by the goal type! S: “Do you want to book a trip or know the price?”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-73
SLIDE 73

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 3: “Bottom-down” refinement

?Goal book:Goal

  • neway:Event

route:Route tou:City gbg:City boat:Means tomorrow:Date U: “Book a trip”

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-74
SLIDE 74

introduction, refinement, summary top-down, bottom-up, bottom-down,

Strategy 3: “Bottom-down” refinement

book:Goal

  • neway:Event

route:Route tou:City gbg:City boat:Means tomorrow:Date

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-75
SLIDE 75

introduction, refinement, summary said, unsaid, left to say

Three different refinement strategies

So, there are (at least) the following refinement strategies:

1 top-down refinement 2 bottom-up refinement 3 “bottom-down” refinement

Of course, these strategies can be combined, e.g.: the strategy could depend on the type of the dominating node the strategy could depend on the maximum/minimum distance between the dominating and dominated nodes

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-76
SLIDE 76

introduction, refinement, summary said, unsaid, left to say

Conclusion

To summarize: The domain of the dialogue system is specified in type theory The dialogue manager builds a type-correct term interactively Unfixed tree nodes represent underspecified information There are at least three different refinement strategies

corresponding to different behaviour of the system

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-77
SLIDE 77

introduction, refinement, summary said, unsaid, left to say

Things left unsaid

What have I not discussed? Sub-dialogues and anaphoric expressions

can be represented by links between nodes in separate terms

The usage of dependent types

instead of oneway, return one could have: trip : (t : Triptype) × Route × Dates(t) → Event every month has different number of days: date : (m : Month) × Day(m) → Date

How to perform parsing and generation of utterances

  • ne possibility is to use Grammatical Framework to specify

a compositional mapping from terms to utterances

  • r any of the 100s of existing approaches to parsing and generation

Peter Ljunglöf Type-based Human-Computer Dialogue

slide-78
SLIDE 78

introduction, refinement, summary said, unsaid, left to say

Things left to say

What have I not solved? How can feedback be incorporated in this framework?

e.g., “I’m sorry, I didn’t hear you.”

  • r, “Did you say Sweden or Switzerland?”

How do we manage corrections, such as deleting or modifying nodes?

e.g., “No, I mean Toulouse, not too loose”

  • r, “No, I want a return ticket instead”

And a lot more things, such as

how can all this be implemented?

Peter Ljunglöf Type-based Human-Computer Dialogue