250 likes | 263 Views
Explore the RavenClaw architecture for automated medical diagnosis. Learn dialog management and conversation strategies.
E N D
Madeleine, a RavenClaw Exercise in the Medical Diagnosis Domain Dan Bohus, Alex Rudnicky MITRE Workshop on Dialog Management, Boston, October 2003
Recognition SPHINX Synthesis FESTIVAL Overall Architecture Parsing PHOENIX/HELIOS Dialog Manag. RAVENCLAW Back-end (perl) Language Gen. ROSETTA Madeleine: a RavenClaw exercise in the medical diagnosis domain…
HUB FESTIVAL SERVER Overall Architecture (internals) Recognition SPHINX Parsing PHOENIX/HELIOS Galaxy Dialog Manag. RAVENCLAW Back-end (perl) Synthesis FESTIVAL Language Gen. ROSETTA Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Recognition SPHINX Synthesis FESTIVAL Overall Architecture Parsing PHOENIX/HELIOS Dialog Manag. RAVENCLAW Back-end (perl) Language Gen. ROSETTA Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Recognition SPHINX Text I/O TTYServer Synthesis FESTIVAL Overall Architecture Parsing PHOENIX/HELIOS Dialog Manag. RAVENCLAW Back-end (perl) Language Gen. ROSETTA Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Text I/O TTYServer Developed Resources Grammar Parsing PHOENIX/HELIOS Dialog Manag. RAVENCLAW Back-end (perl) Back-end (perl) RavenClawDialogTaskSpecification Language Gen. ROSETTA Templates Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Text I/O TTYServer Development Time Grammar Parsing PHOENIX/HELIOS Dialog Manag. RAVENCLAW Back-end (perl) Back-end (perl) RavenClawDialogTaskSpecification Language Gen. ROSETTA Templates Total: 21:15h 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 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
diagnostic chart have_fever general_feeling RavenClaw Architecture Madeleine I:Welcome E:LoadSymptoms GeneralFeel Diagnose R:HowAreYou? I:Glad I:Sorry Fever Travel R:AskFever E:MeasureTemp I:InformFever Dialog Stack Expectation Agenda Madeleine: a RavenClaw exercise in the medical diagnosis domain…
diagnostic chart general_feeling have_fever RavenClaw Architecture Madeleine I:Welcome E:LoadSymptoms GeneralFeel Diagnose R:HowAreYou? I:Glad I:Sorry Fever Travel R:AskFever E:MeasureTemp I:InformFever Dialog Stack Expectation Agenda Madeleine Madeleine: a RavenClaw exercise in the medical diagnosis domain…
diagnostic chart general_feeling have_fever RavenClaw Architecture Madeleine I:Welcome E:LoadSymptoms GeneralFeel Diagnose R:HowAreYou? I:Glad I:Sorry Fever Travel R:AskFever E:MeasureTemp I:InformFever Dialog Stack Expectation Agenda Welcome Madeleine Madeleine: a RavenClaw exercise in the medical diagnosis domain…
diagnostic chart general_feeling have_fever RavenClaw Architecture Madeleine I:Welcome E:LoadSymptoms GeneralFeel Diagnose R:HowAreYou? I:Glad I:Sorry Fever Travel R:AskFever E:MeasureTemp I:InformFever Dialog Stack Expectation Agenda Hi, this is Madeleine, the automated… Madeleine Madeleine: a RavenClaw exercise in the medical diagnosis domain…
headache have_fever chart general_feeling diagnostic RavenClaw Architecture Madeleine I:Welcome E:LoadSymptoms GeneralFeel Diagnose R:HowAreYou? I:Glad I:Sorry Fever Travel R:Headache R: R: R: R:AskFever E:MeasureTemp I:InformFever Dialog Stack Expectation Agenda Hi, this is Madeleine, the automated… LoadSymptoms Madeleine Madeleine: a RavenClaw exercise in the medical diagnosis domain…
headache have_fever chart general_feeling diagnostic RavenClaw Architecture Madeleine I:Welcome E:LoadSymptoms GeneralFeel Diagnose R:HowAreYou? I:Glad I:Sorry Fever Travel R:Headache R: R: R: R:AskFever E:MeasureTemp I:InformFever Dialog Stack Expectation Agenda Hi, this is Madeleine, the automated… Madeleine Madeleine: a RavenClaw exercise in the medical diagnosis domain…
headache have_fever chart general_feeling diagnostic RavenClaw Architecture Madeleine I:Welcome E:LoadSymptoms GeneralFeel Diagnose R:HowAreYou? I:Glad I:Sorry Fever Travel R:Headache R: R: R: R:AskFever E:MeasureTemp I:InformFever Dialog Stack Expectation Agenda Hi, this is Madeleine, the automated… GeneralFeel Madeleine Madeleine: a RavenClaw exercise in the medical diagnosis domain…
headache diagnostic general_feeling chart have_fever RavenClaw Architecture Madeleine I:Welcome E:LoadSymptoms GeneralFeel GeneralFeel Diagnose R:HowAreYou? I:Glad I:Glad I:Sorry I:Sorry Fever Travel R:Headache R: R: R: R:AskFever E:MeasureTemp I:InformFever Dialog Stack Expectation Agenda Hi, this is Madeleine, the automated… general_feeling: [good], [bad], [soso] How are you feeling today? general_feeling: [good], [bad], [soso] Not so good, I think I have a fever general_feeling: [good], [bad], [soso]have_fever: [fever]. ![yes], ![no]headache: [headache], ![yes], ![no]cough: [cough], ![yes], ![no]… … [soso](not so good)[fever](I think I have a fever) HowAreYou GeneralFeel GeneralFeel Madeleine 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 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 Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Backend Decision Tree diagnostic have_fever chart general_feeling headache Dynamic Dialog Control … Madeleine I:Welcome E:LoadSymptoms GeneralFeel Diagnose R:HowAreYou? I:Glad I:Sorry Fever Travel R:Headache R: R: R: R:AskFever E:MeasureTemp I:InformFever Dialog Stack Expectation Agenda 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? Diagnose Madeleine 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 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 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?) • … Madeleine: a RavenClaw exercise in the medical diagnosis domain…
Demo Run Madeleine: a RavenClaw exercise in the medical diagnosis domain…
diagnostic headache have_fever general_feeling chart StateIndicators RavenClaw Grounding Madeleine I:Welcome E:LoadSymptoms GeneralFeel Diagnose R:HowAreYou? I:Glad I:Sorry Fever Travel R:Headache R: R: R: R:AskFever E:MeasureTemp I:InformFever Grounding Engine Strategies 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) Madeleine: a RavenClaw exercise in the medical diagnosis domain…