Overlay - SmartKom

Overlay – a non-monotonic
operation for discourse processing
Jan Alexandersson
(Tilman Becker, Markus Löckelt, Norbert Pfleger)
German Research Center for Artificial Intelligence – DFKI GmbH
Stuhlsatzenhausweg 3, Geb. 43.8 - 66123 Saarbrücken
phone: (+44) 681 302 5347
Email: [email protected]
http://www.dfki.de/~janal
© Löckelt, Becker, Pfleger, Alexandersson; DFKI
Edilog 2002 Workshop
What is this Talk about
• Dialogue systems must deal with utterances relating
elliptically to previous dialogue
System: „at what time would you like to start recording?“
User: „half past five“
User: „I would like to start recording at half past five“
• ... or utterances only partially related to the previous
discourse
User: „what films are on TV tonight?“
System: [Showing a list of films] „Here is a list of films“
User: ``Thats a boring program. I‘d rather go to the movies´´
User: ``Thats a boring program. I‘d rather go to the movies tonight´´
© Alexandersson; DFKI
Nancy 18.10.2002
What is this Talk about?
• There are similar elliptical phenomena like one-anaphora
``...an expensive large portrait of the queen by Wainright hanging in the library´´
 ``and one of the princess over the mantel´´
 ``and an expensive large portrait of the princess hanging over the
mantel´´
© Alexandersson; DFKI
Nancy 18.10.2002
Overview
•
•
•
•
•
•
•
SmartKom
Domain Model
Overlay
Discourse Modelling
Action Planning
Processing Partial Utterances
Conclusion
© Alexandersson; DFKI
Nancy 18.10.2002
What is the challenge?
• General tasks for a dialogue manager
– Enrichment:
• Given incomplete information, enrich it from other
sources in order to proceed.
– Validation:
• Validate hypotheses against the current discourse state
© Alexandersson; DFKI
Nancy 18.10.2002
Our Approach
• One general operation – Overlay
– Domain representation:
• (Typed) Feature Structures
– Non-monotonic:
• Always succeeds
– Computes a score:
• Reflecting the structural consistency of the two
arguments of overlay
© Alexandersson; DFKI
Nancy 18.10.2002
SmartKom: Task-Oriented Dialogue System
Application
Layer
Mobile:
Car and
Pedestrian
Navigation
MM
Dialogue
BackBone
Public:
Cinema,
Phone,
Fax,
Mail,
Biometrics
Home:
SmartKom-Mobile
Consumer Electronics
EPG
SmartKom-Public
SmartKom-Home/Office
© Alexandersson; DFKI
Nancy 18.10.2002
Module Overview on the SmartKom Control GUI
© Alexandersson; DFKI
Nancy 18.10.2002
The True Story
© Alexandersson; DFKI
Nancy 18.10.2002
The DFKI Dialogue Back-Bone
Analysers
•
•
•
•
•
Speech
Gesture
Modality
Fusion
Discourse
Modelling
DiM
Action
Planning
AP
Speech
Graphics
Generators
Gesture
Presentation
Manager
External
Services
Communication pools
Main data flow
Context information
© Alexandersson; DFKI
Nancy 18.10.2002
Domain Model
• Used for communication in the back-bone
• Frame-based ontology; representation as Typed Feature Structures in M3L (XML)
CinemaReservation theater: MovieTheater address: Address
seats: SeatStructure…
movie: Movie
name: String
director: Person firstName: String
lastName: String…
cast: PersonList
yearOfProduction: PositiveInteger…
reservationNumber: PositiveInteger
• Application objects composed of subobjects
• Slots: Feature paths meaningful for the dialogue (entities that can be talked
about / referenced to); e.g. movie:director:lastName in a CinemaReservation
object
• Slots can recursively contain other slots
© Alexandersson; DFKI
Nancy 18.10.2002
Discourse Modeling
• Lattice of intention hypothesis sequences
from Modality Fusion
• Enrichment and Validation
Intention
lattice
– compare and enrich with a selected
number of discourse states:
• fill in consistent information
• compute a score
– for each hypothesis - background pair:
Covering:
Background:
• Overlay (covering, background)
• Overlay gives a score representing how
well the covering fits the background.
• Scores of overlay, speech interpretation etc.
give overall score
• One augmented hypothesis sequence with
Selected
augmented
hypothesis
sequence
best score is passed on to Action Planning
© Alexandersson; DFKI
Nancy 18.10.2002
Example for Overlay with TFS
User: What films are on TV tonight?
System: [presents list of films]
User: That‘s a boring program, I‘d rather go to the movies.
How do we inherit “tonight” ?
© Alexandersson; DFKI
Nancy 18.10.2002
The Domain Model
Entertainm ent 
beginTime : Time 
...

title : String

Broadcast

channel : Channel 
...

A named TV
program at
some time on
some channel
© Alexandersson; DFKI
A named
entertainment at
some time
Performanc e

cinema : Cinema 
...

A named Movie
at some time at
some cinema
Nancy 18.10.2002
Unification Simulation
Entertainm ent 
beginTime : Time 
...

title : String

Broadcast

channel : Channel 
...

Performanc e

cinema : Cinema 
...

Films on TV tonight
Go to the movies
Broadcast


Time

beginTime
:

" tonight " 
channel : any

...



© Alexandersson; DFKI
Fail – type clash
Performanc e

beginTime : Time
cinema : any

...

Nancy 18.10.2002
Overlay Simulation
Entertainm ent 
beginTime : Time 
...

title : String

Broadcast

channel : Channel 
...

Films on TV tonight
Broadcast


Time

beginTime
:

" tonight " 
channel : any

...



© Alexandersson; DFKI
Assimilation
Performanc e

cinema : Cinema 
Performanc e

...


 Background
Time


beginTime : " tonight" 
Go
... to the movies 
Performanc e


Time

beginTime
:
Performanc e


" tonight " 
beginTime : Time 
cinema : any

cinema : any




...
 Covering ...
Nancy 18.10.2002
``Formal´´ Definition Overlay
• Let
T
– co be covering
– bg be background
• Step 1:
– Assimilate(co,bg)
• Step 2:
bg
– Overlay(co,assimilate(co,bg))
• If co and bg are frames: recursion
• If co is empty: use bg
co
• If bg is empty: use co
• If conflict: use co
© Alexandersson; DFKI
Nancy 18.10.2002
Domain Models with Multiple Inheritance
• Assimilate(co,bg)
T
– Compute the set of minimal upper
bounds (MUB)
– Specialize the MUBs
– Unify the specialized MUBs
MUB
MUB
co
bg
• Overlay remains untouched
© Alexandersson; DFKI
Nancy 18.10.2002
Processing Partial
User Contributions
• Our Dialogues contain a lot of partial contributions
– ``Three´´
– ``Three o‘clock´´
– ``At three o‘clock´´
– ``At three [] o‘clock´´
– ``Later´´
– ``Information []´´
– ...
• Requirement
– Advanced discourse modelling and action planning
– Bidirection communication DiM - AP
© Alexandersson; DFKI
Nancy 18.10.2002
Discourse Modelling - Three-Tiered
Context Representation
Domain layer
Discourse layer
DO1
DO2
DO3
Modality layer
DomainObject2
DomainObject1
LO1
show
LO2
list
...
...
GO1

DO10
DO11
DO12
LO3
LO4
LO5
DO9
...
heidelberg
System: Here [pointing gesture] I show
you a list of films running in Heidelberg.
© Alexandersson; DFKI
LO6
reserve ticket first
User: Reserve a ticket for
the first!
Nancy 18.10.2002
Action Planner – Regression Planning
•
AP processes plan operators
–
•
Uniform description of mixed initiative with user or applications based on
Games and Moves. Example:
•
User: request – System: response
•
System: request – Application: response
Processing steps
1.
Constructs a plan from plan operators
–
2.
Interprets the plan
–
•
A Plan specifies a partial order of games
Execute the games
Expectations are published during execution of the plan
–
Guide the interpretation of input
© Alexandersson; DFKI
Nancy 18.10.2002
Action Planning - Regression planning
provides(C)
needs()
provides(A)
needs(C)
provides(X)
needs(A,B)
Goal
provides()
needs(X,Y)
provides(B)
needs(D)
successor
states
provides(D)
needs(E)
Current State
provides(?)
needs(?)
© Alexandersson; DFKI
provides(F,G)
needs(H)
provides(Y)
needs(D)
condition(D=x)
For Example: Slot D=y
Nancy 18.10.2002
AP - Example Plan: VCR
VCR_getChannel
VCR_getStartTime
Goal: VCR_record
VCR_checkMedium
VCR_rewindMedium
© Alexandersson; DFKI
VCR_getEndTime
Nancy 18.10.2002
Action Planning
• Initiation of sub-dialogues to gather necessary information
• Order proposed by the system, but the user may not follow
the trail
• Several cases of user responses to requests:
– Providing a matching answer,
– Supplying information not (yet) asked for,
– Changing already established information
– Acting uncooperatively or changing goals
© Alexandersson; DFKI
Nancy 18.10.2002
Expectations
• When AP initiates a sub-dialogue, it expects a certain answer
• An Expectation structure is published to help the analysis modules
– Expected Slots: corresponding to the request
– Possible Slots: plausible in context
– Filled Slots: already provided
– The currently active Application
• Allows for a fine-grained distinction between types of possible
utterances
• Discourse Modelling can employ different rankings for each category
© Alexandersson; DFKI
Nancy 18.10.2002
Integration of Partial
• Partial Utterances are analyzed as subobjects
– validation and enrichment include the integration into the
preceding context (to achieve a coherent discourse)
– we consider three types of partial utterances:
1. The system has the initiative and the user responds elliptically to a
system request
2. An elliptical user utterance does not correspond to a request but
can be interpreted in context
3. Misinterpretation or non-cooperative user behaviour
© Alexandersson; DFKI
Nancy 18.10.2002
Integration of Partial - Possible Situations
User Initiative
System
Initiative
expected,
Expected slot
NA
unify,
plan continues
Possible slot
Filled slot
Other
© Alexandersson; DFKI
plausible,
plausible,
unify,
unify,
replanning
replanning
plausible,
plausible,
overlay,
overlay,
replanning
replanning
User contribution
DiM processing
AP processing
implausible – recover strategies
Nancy 18.10.2002
DiM - Processing User Responses
• User provides expected slots
– Bridging:
• a new application object is created (of same type as the current
application object)
• for each subobject in the hypotheses its type is compared to the
expected slots
– matching subobjects are integrated into the new application object
– remaining subobjects are interpreted as plausible partial utterances
(next slide)
– Overlay:
• The extended application object is overlayed over the application object
currently in focus
© Alexandersson; DFKI
Nancy 18.10.2002
Processing Plausible Partial Utterances
• User provides possible slots
– processed like expected slots (but get a score penalty)
• User changes filled slots
– search for a discourse object DO of the same type in the discourse
context
– create application object AO1 of the same type as the application
object AO2 within which DO was mentioned
– overlay AO1 over AO2
– gets a score penalty based on position in discourse history
• If integration fails, all subobjects are passed on
unchanged (integration fails)
© Alexandersson; DFKI
Nancy 18.10.2002
Example: Expected and Possible Slots
• (1) User: I want to record a film.
(2) System: When should I start recording?
(3) User: 1:30pm on channel two.
• Analysis of (1) contains the setting of a goal VCR_record (empty
application object of type VCR introduced)
• AP triggers presentation (2) and publishes an expectation containing:
– VCR as the type of the current application object
– VCR_startTime as the (only) expected slot
– some possible slots (e.g., VCR_endTime and VCR_channel)
– and maybe some filled slots (e.g. VCR_mediumPresent)
• Analysis of (3) contains two subobjects
– the expected slot is filled by “1:30pm”
– but also one possible slot is filled by “channel two”
© Alexandersson; DFKI
Nancy 18.10.2002
Example: Filled Slots
(1) User: What is currently running on TV?
(2) System: The following [Smartakus points at a list of
programmes] programmes are currently running.
(3) User: And tonight?
© Alexandersson; DFKI
Nancy 18.10.2002
Example: Filled Slots
Domain layer
Discourse layer
Modality layer
hypothesis



broadcast








beginTime time 


" now"






domainObject 
avMedium





avMedium









...
 

...



time

"tonight"


DO1
DO2
DO3
DO4
LO1
LO2
LO3
LO4
show program currently
© Alexandersson; DFKI
hypothesis



broadcast







 
beginTime time

" tonight"  



 
domainObje
ct



avMedium





avMedium









...
 

...



tonight
Nancy 18.10.2002
Conclusion
• Uniform, flexible and robust mechanism for interpreting
possible partial utterances
• Pragmatical classification of partial utterances from the
point of view of the action planner
• Modality independent
• Approach integrates seamlessly with other aspects of
discourse processing, e.g. anaphora resolution
• Implemented and running in, e.g., a large multimodal
dialogue system
© Alexandersson; DFKI
Nancy 18.10.2002
Papers
• Jan Alexandersson and Tilman Becker. Overlay as the Basic Operation for
Discourse Processing in a Multimodal Dialogue System. In: Proceedings of
the IJCAI Workshop ``Knowledge and Reasoning in Practical Dialogue
Systems,´´ Seattle, 2001.
• Norbert Pfleger, Jan Alexandersson, and Tilman Becker. Scoring Functions
for Overlay and their Application in Discourse Processing. In Proceedings of
``KONVENS 2002,´´ Saarbrücken, Germany, 2002.
• Markus Loeckelt, Tilman Becker, Norbert Pfleger and Jan Alexandersson
Making Sense of Partial. In: Bos, Foster & Matheson (eds): ``Proceedings of
the sixth workshop on the semantics and pragmatics of dialogue (EDILOG
2002),´´ Edinburgh, UK, Pages 101-107.
• Jan Alexandersson and Tilman Becker. The Formal Foundations Underlying
Overlay. Submitted to IWCS5
© Alexandersson; DFKI
Nancy 18.10.2002
Thank
you
very much
your
attention!
Merci
infiniment
de for
votre
attention!
Babelfish.altavista.com 
© Alexandersson; DFKI
Nancy 18.10.2002