LE A toolkit for building and experimenting with dialogue move engines and systems, based on the information state approach TrindiKit
LE TrindiKit dialogue theory (IS, rules, moves etc,) domain knowledge, NL modules,... domain independent DME domain-specific system Building a system
LE Architecture based on information states Modules (dialogue move engine, input, interpretation, generation, output etc.) access the information state) Resources (databases, lexicons, domain knowledge etc.) are hooked up to the information state TrindiKit architecture
LE Explicit information state datastructure makes systems more transparent Update rules provide an intuitive way of formalising theories in a way which can be used by a system TrindiKit’s modularity provides simple and efficient methods for reconfiguration Modularity also encourages reusability TrindiKit enables rapid prototyping of simple systems, as well as advanced research systems ****** TrindiKit Features
LE Build or select from existing components: Type of information state (DRS, record, set of propositions, frame,...) A set of dialogue moves Information state update rules, including rules for integrating and selecting moves DME Module algorithm(s) and basic control algorithm ****** Building a DME
LE Domain-specific system Build or select from existing components: Resources, e.g. –databases for domain –grammars, lexicons –domain knowledge, e.g. plan libraries etc. Modules, e.g. –input –interpretation –generation –output
LE A library of datatype definitions (records, DRSs, sets, stacks etc.) A language for writing information state update rules Methods and tools for visualising the information state debugging facilities TrindiKit components
LE A language for defining update algorithms used by TrindiKit modules to coordinate update rule application A language for defining basic control structure, to coordinate modules A library of basic ready-made modules for input/output, interpretation, generation etc.; A library of ready-made resource interfaces, e.g. to hook up databases, domain knowledge etc. TrindiKit components (cont’d)
LE Planned for 2.0 Generic WWW interface Allowing both serial and asynchronous systems GUI for increased usability and overview, including tools for building systems Modules for speech input and output, for using off-the-shelf products Improved facilities for handling dialogue plans Extend libraries of ready-made modules and resources *** ***
LE GoDiS and IMDiS – information state based on Questions Under Discussion MIDAS – DRS information state, first-order reasoning EDIS – information state based on PTT Autoroute – information state based on Conversational Game Theory Systems
LE An experimental dialogue system built using the TrindiKit GoDiS
LE Information-seeking dialogue Information state based Ginzburg’s notion of Questions Under Discussion (QUD) Dialogue plans to drive dialogue Simpler than general reasoning and planning More versatile than frame-filling and finite automata GoDiS features
LE PRIVATE =PLAN = AGENDA = { findout(?return) } SHARED = findout(? x.month(x)) findout(? x.class(x)) respond(? x.price(x)) COM = dest(paris) transport(plane) task(get_price_info) QUD = LM = { ask(sys, x.origin(x)) } BEL = { } TMP = (same structure as SHARED) Sample GoDiS information state
LE integrateAnswer Before an answer can be integrated by the system, it must be matched to a question on QUD pre: eff: in( SHARED.LM, answer(usr, A)) fst( SHARED.QUD, Q) relevant_answer(Q, A) pop( SHARED.QUD ) reduce(Q, A, P) add( SHARED.COM, P) Sample update rule
LE Adapted for travel agency and autoroute domains Further domain adaptations in progress: –cinema booking –handheld computer –mobile phone Lexicons for English and Swedish Question and task accommodation to enable mixed initiative Simple “optimistic” grounding strategy Focus intonation based on information state contents GoDiS features (cont’d)