Madeleine, a RavenClaw Exercise in the Medical Diagnosis Domain
Dan Bohus, Alex Rudnicky
MITRE Workshop on Dialog Management,Boston, October 2003
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Overall Architecture
ParsingPHOENIX/HELIOS
Dialog Manag.RAVENCLAW
Back-end(perl)
Language Gen.ROSETTA
RecognitionSPHINX
SynthesisFESTIVAL
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Overall Architecture (internals)
ParsingPHOENIX/HELIOS
Dialog Manag.RAVENCLAW
Back-end(perl)
Language Gen.ROSETTA
HUB
FESTIVALSERVER
RecognitionSPHINX
SynthesisFESTIVAL
Galaxy
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Overall Architecture
ParsingPHOENIX/HELIOS
Dialog Manag.RAVENCLAW
Back-end(perl)
Language Gen.ROSETTA
RecognitionSPHINX
SynthesisFESTIVAL
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Overall Architecture
ParsingPHOENIX/HELIOS
Dialog Manag.RAVENCLAW
Back-end(perl)
Language Gen.ROSETTA
Text I/OTTYServer
RecognitionSPHINX
SynthesisFESTIVAL
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Developed Resources
ParsingPHOENIX/HELIOS
Dialog Manag.RAVENCLAW
Back-end(perl)
Language Gen.ROSETTA
Text I/OTTYServer
Grammar
Templates
RavenClawDialogTask
Specification
Back-end(perl)
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Development Time
ParsingPHOENIX/HELIOS
Dialog Manag.RAVENCLAW
Back-end(perl)
Language Gen.ROSETTA
Text I/OTTYServer
Grammar
Templates
RavenClawDialogTask
Specification
Back-end(perl)
RC Fixes 2h15, 11%
RavenClaw 4h, 19%
Design 4h, 18%
Setup 1h10, 5%
Grammar3h45, 18%
Backend3h20, 16%
Templates 2h45, 13%
Total: 21:15h
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
RavenClaw Architecture
Captures all domain-specific dialog (task) logic with a hierarchical description
The authoring effort is focused entirely here
Dialog Task (Specification)
Domain-independent Dialog Engine
Manages dialog by executing the dialog task specification
Provides domain-independent conversational strategies
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
RavenClaw Architecture
Dialog Stack
Madeleine
E:LoadSymptoms GeneralFeel
R:HowAreYou? I:Glad I:Sorry
Diagnose
Fever Travel
R:AskFever E:MeasureTemp I:InformFever
I:Welcome
Expectation Agenda
general_feeling
chart
have_fever
diagnostic
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
RavenClaw Architecture
Dialog Stack
Madeleine
Madeleine
E:LoadSymptoms GeneralFeel
R:HowAreYou? I:Glad I:Sorry
Diagnose
Fever Travel
R:AskFever E:MeasureTemp I:InformFever
I:Welcome
Expectation Agenda
general_feeling
chart
have_fever
diagnostic
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
RavenClaw Architecture
Dialog Stack
Madeleine
Welcome
Madeleine
E:LoadSymptoms GeneralFeel
R:HowAreYou? I:Glad I:Sorry
Diagnose
Fever Travel
R:AskFever E:MeasureTemp I:InformFever
I:Welcome
Expectation Agenda
general_feeling
chart
have_fever
diagnostic
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
RavenClaw Architecture
Dialog Stack
Madeleine
Hi, this is Madeleine, the automated…
Madeleine
E:LoadSymptoms GeneralFeel
R:HowAreYou? I:Glad I:Sorry
Diagnose
Fever Travel
R:AskFever E:MeasureTemp I:InformFever
I:Welcome
Expectation Agenda
general_feeling
chart
have_fever
diagnostic
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
RavenClaw Architecture
Dialog Stack
Madeleine
Hi, this is Madeleine, the automated…
Madeleine
E:LoadSymptoms GeneralFeel
R:HowAreYou? I:Glad I:Sorry
Diagnose
Fever Travel
R:AskFever E:MeasureTemp I:InformFever
I:Welcome
LoadSymptoms
R:Headache R: R: R:
Expectation Agenda
general_feeling
chart
have_fever
diagnostic
headache
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
RavenClaw Architecture
Dialog Stack
Madeleine
Hi, this is Madeleine, the automated…
Madeleine
E:LoadSymptoms GeneralFeel
R:HowAreYou? I:Glad I:Sorry
Diagnose
Fever Travel
R:AskFever E:MeasureTemp I:InformFever
I:Welcome
R:Headache R: R: R:
Expectation Agenda
general_feeling
chart
have_fever
diagnostic
headache
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
RavenClaw Architecture
Dialog Stack
Madeleine
Hi, this is Madeleine, the automated…
Madeleine
E:LoadSymptoms GeneralFeel
R:HowAreYou? I:Glad I:Sorry
Diagnose
Fever Travel
R:AskFever E:MeasureTemp I:InformFever
I:Welcome
R:Headache R: R: R:
GeneralFeel
Expectation Agenda
general_feeling
chart
have_fever
diagnostic
headache
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
RavenClaw Architecture
Dialog Stack
Madeleine
Hi, this is Madeleine, the automated…
Madeleine
E:LoadSymptoms GeneralFeel
R:HowAreYou? I:Glad I:Sorry
Diagnose
Fever Travel
R:AskFever E:MeasureTemp I:InformFever
I:Welcome
R:Headache R: R: R:
GeneralFeel
How are you feeling today?
general_feeling
chart
have_fever
diagnostic
HowAreYou
Expectation Agenda
general_feeling: [good], [bad], [soso]
general_feeling: [good], [bad], [soso] [good], [bad], [soso]
general_feeling: [good], [bad], [soso] [good], [bad], [soso]have_fever: [fever]. ![yes], ![no] ![yes], ![no]headache: [headache], ![yes], ![no] ![yes], ![no]cough: [cough], ![yes], ![no] ![yes], ![no]……
GeneralFeel
I:Glad I:Sorry
Not so good, I think I have a fever[soso](not so good)[fever](I think I have a fever)
headache
GeneralFeel
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Illustrated Features
Dynamic generation of dialog task structure Symptoms loaded from backend, appropriate
structures to “talk about them” created on-the-fly New symptoms – no DM changes
Dynamic dialog control policy The order in which symptoms are addressed is
controlled by the backend
Conversational skills
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Illustrated Features
Dynamic generation of dialog task structure Symptoms loaded from backend, appropriate
structures to “talk about them” created on-the-fly New symptoms – no DM changes
Dynamic dialog control policy The order in which symptoms are addressed is
controlled by the backend
Conversational skills
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Dynamic Dialog Control …
Dialog Stack
Madeleine
Hi, this is Madeleine, the automated…How are you today?Not so good, I think I have a headacheSorry to hear you’re not feeling so good,Tell me more about your symptoms…Do you have abdominal pain?
Madeleine
E:LoadSymptoms GeneralFeel
R:HowAreYou? I:Glad I:Sorry
Diagnose
Fever Travel
R:AskFever E:MeasureTemp I:InformFever
I:Welcome
R:Headache R: R: R:
Diagnose
Expectation Agenda
general_feeling
chart
have_fever
diagnostic
headache
Backend Decision Tree
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Illustrated Features
Dynamic generation of dialog task structure Symptoms loaded from backend, appropriate
structures to “talk about them” created on-the-fly New symptoms – no DM changes
Dynamic dialog control policy The order in which symptoms are addressed is
controlled by the backend
Conversational skills
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Conversational Skills
Corresponding agencies added automatically to the dialog task tree Help What Can I Say? Repeat Suspend / Resume Start Over Timeout handling (not illustrated)
Still need all the language generation prompts and grammar, but some of those are develop-once, too
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Conclusion
Highlights Set task posed no challenges to the framework
Easy to implement Dynamic dialog structure and control Automatic use of domain-independent
conversational skills
Lowlights? Toolkit perspective: how easy would it be for
someone else to build it? Asynchronous behaviors? (timing) Couple of bugs / fixes (or is that a highlight?) …
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Demo
Run
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
RavenClaw Grounding
Madeleine
E:LoadSymptoms GeneralFeel
R:HowAreYou? I:Glad I:Sorry
Diagnose
Fever Travel
R:AskFever E:MeasureTemp I:InformFever
I:Welcome
R:Headache R: R: R:
general_feeling
chart
have_fever
diagnostic
headache
Grounding EngineStateIndicators
Strategies
10-127-2003 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Other RavenClaw systems
LARRI – Language Assistant for Retrieval of Repair Information
RoomLine – Conference room reservation within SCS
Let’s Go! (BusLine) – Bus schedule information in Pittsburgh
TeamTalk – Command and control for a team of robots
Eureka – Dialog interface to a clustered web search engine (Vivisimo)