TrindiKit Staffan Larsson Göteborg University Sweden.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Technical and design issues in implementation Dr. Mohamed Ally Director and Professor Centre for Distance Education Athabasca University Canada New Zealand.
Goteborg University Dialogue Systems Lab Motivation for using GF with GoDiS TALK meeting Edinburgh 7/
An information state approach to natural interactive dialogue Staffan Larsson, Robin Cooper Department of linguistics Göteborg University, Sweden.
A component- and message-based architectural style for GUI software
Negotiative dialogue some definitions and ideas. Negotiation vs. acceptance Clark’s ladder: –1. A attends to B’s utterance –2. A percieves B’s utterance.
Rob Marchand Genesys Telecommunications
XISL language XISL= eXtensible Interaction Sheet Language or XISL=eXtensible Interaction Scenario Language.
I-Room : Integrating Intelligent Agents and Virtual Worlds.
Gu Dialogue Systems Lab 1 Issue-based Dialogue Management in GoDiS Staffan Larsson Dialogsystem HT 2004.
Effective Coordination of Multiple Intelligent Agents for Command and Control The Robotics Institute Carnegie Mellon University PI: Katia Sycara
Interactive Communication Management in an Issue- based Dialogue System DiaBruck 2003 Staffan Larsson Göteborg University, Sweden
Siridus Specification, Interaction and Reconfiguration in Dialogue Understanding Systems an information state approach to flexible spoken dialogue systems.
U1, Speech in the interface:2. Dialogue Management1 Module u1: Speech in the Interface 2: Dialogue Management Jacques Terken HG room 2:40 tel. (247) 5254.
LE TRINDIKIT A toolkit for building and experimenting with dialogue move engines and systems, based on the information state approach.
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
A preliminary classification of dialogue genres or Correlating properties of activities with properties of dialogue systems Staffan Larsson Dept. of linguistics.
Goteborg University Dialogue Systems Lab WP1: GoDiS VCR application Edinburgh TALK meeting 7/
Question Accommodation and Information States in Dialogue
Research about dialogue and dialogue systems and the department of linguistics goal: –develop theories about human dialogue which can be used when building.
Application architectures
1 error handling – Higgins / Galatea Dialogs on Dialogs Group July 2005.
1 Issue-based Dialogue Management Staffan Larsson 2003.
TrindiKit A toolkit for building and experimenting with dialogue move engines and systems, based on the information state approach.
Grounding in dialogue systems Staffan Larsson Inst. för lingvistik, GU OFTI 2002, Göteborg.
Issues Under Negotiation Staffan Larsson Dept. of linguistics, Göteborg University NoDaLiDa, May 2001.
Menu2dialog Staffan Larsson, Robin Cooper, Stina Ericsson Department of linguistics Göteborgs Universitet.
SensIT PI Meeting, April 17-20, Distributed Services for Self-Organizing Sensor Networks Alvin S. Lim Computer Science and Software Engineering.
Generating Feedback and Sequencing Moves in a Dialogue System AAAI Spring Symposium 2003 Staffan Larsson Göteborg University, Sweden.
LE A toolkit for building and experimenting with dialogue move engines and systems, based on the information state approach TrindiKit.
Introduction to the TrindiKit ESSLLI, Helsinki 20th Aug 2001 Staffan Larsson
Goteborg University Dialogue Systems Lab GoDiS and TrindiKit MITRE workshop 27/10-03 Staffan Larsson Göteborg University Sweden.
WP1 UGOT demos 2nd year review Saarbrucken Mar 2006.
Course Instructor: Aisha Azeem
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Design Patterns & Component Frameworks CS67041Spring 2002 Open Agent Architecture (OAA) - Part II -Murali Krishnan.
Principles of Programming Chapter 1: Introduction  In this chapter you will learn about:  Overview of Computer Component  Overview of Programming 
Requirements Analysis
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
Author: James Allen, Nathanael Chambers, etc. By: Rex, Linger, Xiaoyi Nov. 23, 2009.
ITCS 6010 SALT. Speech Application Language Tags (SALT) Speech interface markup language Extension of HTML and other markup languages Adds speech and.
The Information State approach to dialogue modelling Staffan Larsson Dundee, Jan 2001.
Statistics Monitor of SPMSII Warrior Team Pu Su Heng Tan Kening Zhang.
Chapter 11 Analysis Concepts and Principles
TrindiKit: A Toolkit for Flexible Dialogue Systems Staffan Larsson Kyoto, Japan 2003.
An information state approach to natural interactive dialogue Staffan Larsson, Robin Cooper Department of linguistics Göteborg University, Sweden.
Patterns and Reuse. Patterns Reuse of Analysis and Design.
 Architecture and Description Of Module Architecture and Description Of Module  KNOWLEDGE BASE KNOWLEDGE BASE  PRODUCTION RULES PRODUCTION RULES 
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
TrindiKit. TrindiKit architecture & concepts what’s in TrindiKit? comparison with other architectures this talk.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Dept. of Computer Science University of Rochester Rochester, NY By: James F. Allen, Donna K. Byron, Myroslava Dzikovska George Ferguson, Lucian Galescu,
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
Agenda 1. What we have done on which tasks 2. Further specification of work on all our tasks 3. Planning for deliverable writing this autumn (due in December)
Evaluation of Agent Building Tools and Implementation of a Prototype for Information Gathering Leif M. Koch University of Waterloo August 2001.
The Information State approach to dialogue modelling + TrindiKit AI-course, Chalmers April 2002 Staffan Larsson.
Operating System Principles And Multitasking
Information state and dialogue management in the TRINDI Dialogue Move Engine Toolkit, Larsson and Traum 2000 D&QA Reading Group, Feb 20 th 2007 Genevieve.
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
TrindiKit: A Toolkit for Flexible Dialogue Systems AI course, spring 2003 Staffan Larsson.
A preliminary classification of dialogue genres Staffan Larsson Internkonferens 2003.
CS223: Software Engineering
Speech Processing 1 Introduction Waldemar Skoberla phone: fax: WWW:
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Software Architecture for Multimodal Interactive Systems : Voice-enabled Graphical Notebook.
Agent-Based Dialogue Management Discourse & Dialogue CMSC November 10, 2006.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Chapter 5 Architectural Design.
Presentation transcript:

TrindiKit Staffan Larsson Göteborg University Sweden

TrindiKit architecture & concepts what’s in TrindiKit? comparison with other architectures this talk

What is TrindiKit? A toolkit for dialogue systems R&D Based on the Information State Update approach Aims to close the gap between theory and practice of dialogue systems –today: complex theories, simplistic systems –adapt theories to make use of them in systems

Theoretical advantages of TrindiKit theory-independent –allows implementation and comparison of competing theories –promotes exploration of middle ground between simplistic and very complex theories of dialogue intuitive formalisation and implementation of dialogue theories –the implementation is close to the theory

Practical advantages of TrindiKit promotes reuse and reconfigurability on multiple levels general solutions to general phenomena enables rapid prototyping of applications allows dealing with more complex dialogue phenomena not handled by current commercial systems

Key ideas thinking in terms of IS updates –update rules functions IS (+moves)  IS (+moves) generic domain-independent dialogue management –requires modularity use of global information state –all modules can access all information

module 1 module … Total Information State (TIS) Information state proper (IS) Module Interface Variables Resource Interface Variables resource 1 control module i module j module … module n resource … resource m DME

TrindiKit basic dialogue theory domain & language resources basic system application information state approach genre-specific theory additions genre-specific system

an abstract data structure (record, DRS, set, stack etc.) accessed by modules using conditions and updates Information State (IS)

module or group of modules responsible for –updating the IS based on observed moves –selecting moves to be performed dialogue moves are associated with IS updates using IS update rules update rules: rules for updating the TIS –rule name and class –preconditon list: conditions on TIS –effect list: updates to TIS Dialogue Move Engine (DME)

Modules (dialogue move engine, input, interpretation, generation, output etc.) –access the information state –no direct communication between modules only via module interface variables in TIS modules don’t have to know anything about other modules increases modularity, reusability, reconfigurability –may interact with user or external processes Resources (device interface, lexicons, domain knowledge etc.) Modules and resources

What does TrindiKit provide? High-level formalism and interpreter for implementing dialogue systems –promotes transparency, reusability, plug- and-play, etc. –allows implementation and comparison of dialogue theories –hides low-level software engineering issues Ready-made modules and resources –speech –interfaces to databases, devices, etc. –reasoning, planning

a library of datatype definitions (records, DRSs, sets, stacks etc.) –user extendible a language for writing information state update rules (improved version in 3.0) GUI: methods and tools for visualising the information state (coming in 3.0) debugging facilities (improved in 3.0) –typechecking –logs of communication modules-TIS –etc. TrindiKit contents (1)

A language for defining –update algorithms used by TrindiKit modules to coordinate update rule application –basic control structure, to coordinate modules A library of basic ready-made modules for input/output, interpretation, generation etc.; –e.g. Nuance speech recognition and synthesis A library of ready-made resources and resource interfaces, e.g. to hook up databases, domain knowledge, devices etc. TrindiKit contents (2)

Special modules and resources included with TrindiKit Speech recognition and synthesis modules –TrindiKit shells for off-the-shelf recognizers and synthesizers –e.g. ViaVoice, Nuance, Festival, MARY OAA interface resource –enables interaction with existing software (e.g. Longbow planner, in Lisp) Possible future modules –robust parser –planning and reasoning modules –multimodal input and output

Asynchronous TrindiKit Internal communication uses either –OAA (Open Agent Architecture) from SRI, or –AE (Agent Environment), a stripped-down version of OAA, implemented for TrindiKit enables asynchronous dialogue management –e.g.: system can listen and interpret, plan the dialogue, and talk at the same time

TrindiKit and OAA TrindiKit uses a stripped-down version AE (Agent Architecture) OAA can be used with TrindiKit in various ways –use OAA as base for TrindiKit instead of AE; TrindiKit modules and infostate are OAA agents –Whole TrindiKit system is an OAA agent –TrindiKit modules are OAA agents or AE agents

explicit information state datastructure –makes systems more transparent –enable e.g. context sensitive interpretation, distributed decision making, asynchronous interaction update rules –provide an intuitive way of formalising theories in a way which can be used by a system –represent domain-independent dialogue management strategies TrindiKit features

TrindiKit features cont’d resources –represent domain-specific knowledge –can be switched dynamically e.g. switching language on-line in GoDiS modular architecture promotes reuse –basic system -> genre-specific systems –genre-specific system -> applications

TrindiKit and VoiceXML VoiceXML –industry standard –form-based dialogue manager –web/telephony infrastructure –requires scripting dialogues in detail Theory-specific? –VoiceXML implements a specific theory of dialogue –TrindiKit allows implementation of several different theories of dialogue –More complex dialogue phenomena hard to deal with in VoiceXML

TrindiKit and VoiceXML, cont’d Combine VoiceXML with TrindiKit? –future research area –support connecting TrindiKit to VoiceXML infrastructure –use TrindiKit system as VoiceXML server, dynamically building VoiceXML scripts –convert VoiceXML specifications to e.g. GoDiS dialogue plans

technical features interfaces to OAA (but can also run without it) –allows connecting systems to external software system modules can run either serially or in parallell wrappers for off-the-shelf recognizers and synthesizers runs on UNIX, Windows, Linux currently uses SICStus Prolog –but considering moving to shareware Prolog –possibly reimplement in other language –or make it independent of programming language (compilers for several languages)

availability version 2.1 is available version 3.0a coming at end of 2002 –SIRIDUS deliverable D6.4 TrindiKit website – SourceForge project –development versions available –developer community? licensed under GPL more info in –Larsson & Traum: NLE Special Issue on Best Practice in Dialogue Systems Design, 2000 –TrindiKit manual (available from website)

GoDiS – information state based on Questions Under Discussion (Larsson et al 2000) –currently being reimplemented for thesis MIDAS – DRS information state, first-order reasoning (Bos & Gabsdil, 2000) EDIS – information state based on PTT (Matheson et al 2000) –extended to handle tutorial dialogue by Moore, Zinn, Core et al SRI Autoroute – information state based on Conversational Game Theory (Lewin 2000); robust interpretation (Milward 2000) Systems developed using TrindiKit

Recent work D’Homme (EU 2001) –Dialogues in the Home Environment –GoDiS, SRI system Instruction Based Learning for mobile robots (U Edinburgh) –MIDAS Tutoring Dialogue (U Edinburgh) –BEETLE (based on EDIS) Student projects (Gothenburg) adapting GoDiS to various domains

TrindiKit in SIRIDUS added modules for connecting speech improved update rule language GUI (in 3.0) –monitoring dialogue –generate dialogue printouts incl. infostat improved debugging facilities (in 3.0) –tracing (other than Prolog trace) –typechecking extending coverage of individual systems to action-oriented and negotiative dialogue

Conclusions: TrindiKit & Information State Approach a toolkit for dialogue systems R&D freely available to researchers close the gap between theory and practive of dialogue systems theory-independent promotes reuse and reconfigurability on multiple levels

Flexible issue-based dialogue management in GoDiS Staffan Larsson Göteborg University Sweden

Goals explore and implement issue-based dialogue management –adapt an existing semi-computational theory of dialogue (Ginzburg’s KOS) to dialogue system (GoDiS) and implement –extend theory (incl. accommodation, action-oriented dialogue, negotiation, conditional responses) separating general and domain-dependent phenomena helps reconfigurability –general theory of dialogue, extended into subtheories for different dialogue types –minimize effort for adapting to new domains

TrindiKit GoDiS GoDiS-I GoDiS-A Travel Agency Auto- route Xerox manual VCR manager IBDM home device manager IS approach genre- specific applicatio n-specific

Basic issue-based dialogue management GoDiS-I: enquiry-oriented dialogue –typically, database search dialogue as raising and addressing issues dialogue plans to drive dialogue –each plan associated with a ”task question” deals with multiple simultaneous issues enables information sharing between plans

basic infostate PRIVATE : PLAN : OpenStack( Action ) AGENDA : OpenQueue( Action ) SHARED : BEL : Set( Prop ) COM : Set( Prop ) QUD : OpenStack( Question ) LU: SPEAKER: Speaker MOVES: OpenQueue( Move ) ISSUES : OpenStack( Question ) QUD:local, questions available for ellipsis resolution ISSUES: global, questions which have been raised but not yet resolved

Semantics Proposition: n-ary predicate-argument structure –e.g. dest-city(paris) Question –Y/N-questions: ?P, P is a proposition –wh-questions: ?x.P(x) –alt-questions: {?P1, …, ?Pn} ShortAns –individual markers: paris, april, … –yes, no Q-A relations (adapted from Ginzburg) –resolves(A,Q): A resolves Q dest-city(paris) resolves ?x.dest-city(x) –relevant(A,Q): A is a relevant answer to Q not(dest-city(paris)) is relevant to ?x.dest-city(x), but does not resolve it

sample dialogue plan task-q: ?x.price(x) <findout(?x.how(x)) findout(?x.dest-city(x)) findout(?x.dept-city(x)) findout(?x.dept-month(x)) raise(?x.dept-day(x)) findout(?return) If return then < findout(?x.ret_month) findout(?x.ret_day) > raise(?x.class(x)) consultDB(?x.price(x))>

Multiple issues and information sharing user can switch freely between any number of tasks –e.g. set the clock while programming the VCR information collected while doing task A can be used in task B –e.g. where the user wants to travel; can be used for travel reservation, visa enquiries, hotel reservation etc. this is a consequence of keeping a global information state, rather than task-local states (as in e.g. VoiceXML)

Dealing with multiple issues if user asks Q, push Q on ISSUES and load plan for dealing with Q if users asks Q’ while system is dealing with Q, throw out plan for Q but Q remains on ISSUES when Q’ resolved, Q topmost on ISSUES will trigger reloading plan for dealing with Q –general rule: if SHARED.COM contains info resolving Q, don’t ask Q –so any resolved questions in plan will be thrown out

Information sharing across plans GoDiS does not keep track of which plan was being executed when propositions were added so information sharing is determined by question sharing across plans plan for VISA question: ?need_visa <findout(?x.dest-city(x)) findout(?x.dept-city(x)) findout(?x.citizenship(x)) consultDB(?need_visa) > –shared 2 questions with plan for ?x.price(x)

Sample dialogue: multiple tasks & info sharing S> Welcome to the travel agency! U> price information S> (…) Lets see. How do you want to travel? U> by flight S> (…) What city do you want to go to? U> paris S> (…) What city do you want to go from? U> do I need a visa ? S> (…) Lets see. What country are you from? U> sweden S> Okay. Yes, you need a Visa. S> Returning to the issue of price. Lets see. What city do you want to go from?

Grounding and feedback grounding –making sure that the participants are percieving, understanding, and accepting each other’s utterances –dealing with problematic situtations where e.g. an utterance is not percieved feedback –(short) utterances which signal grounding status of previous utterance –in addition, utterances which signal switching task (”returning to…”), reraising questions (”so…”) etc.

Grounding and feedback feedback types (Allwood, Clark) –action level: contact, perception, understanding, acceptance –polarity: positive, negative update strategies –optimistic non-cautious cautious –pessimistic feedback and grounding for a dialogue system

Feedback: action levels and associated metaissues A uttered U to B; A and B are now faced with a number of issues contact: do A and B have contact? perception: –A: does B percieve U (correctly)? –B: what did B say? / Did B say V? understanding: –A: does B understand U (correctly) –B: what did B mean? / Did B mean C? acceptance –A: does B accept U –B: should I accept U?

Some ICM dialogue moves Interactive Communication Management –feedback –turntaking –sequencing: reflects dialogue structure icm:Level{*Polarity}{:Content} –icm:und*neg – ”I don’t understand” –icm:und*pos:P – ”To Paris.” –icm:acc*neg:Q – ”Sorry, I can’t answer Q” –icm:acc*pos – ”Okay” –icm:reraise:Q – ”Returning to the issue Q” –icm:loadplan – ”Let’s see…”

Question Accommodation to deal with –user giving more/less/other information than requested –simple information revision –reraising issues basic idea: –move questions to QUD or ISSUES to adapt to user utterances –e.g. short answers where question can be found in the context –generate clarification question if necessary more powerful than corresponding mechanisms in VoiceXML

Sample dialogue: accommodation S: Welcome to the travel agency. U: From London to Paris in April –not relevant to any question that has been raised, or to any current task –look in domain knowledge for a plan (for dealing with some question Q) with matching questions –load this plan, push Q on ISSUES –find in the plan the question(s) matching the user’s answer –integrate answer (requres matching question on ISSUES) S: Alright, you want to know about price. (…) –proceed to next plan item S: How do you want to travel? –ISSUES=

Action-oriented dialogue based on menus GoDiS-A: adapted for the genre of action-oriented dialogue each plan now associated with an action or a question semi-automatic conversion of menus to dialogue plans sample domain: menu-based dialogue for VCR

Converting menus to plans MenuPlan construct multi-choice list: findout({?action(a1), ?action(a2),...,?action(a n )}) tick-box: +/-P findout(?P) dialogue window: parameter=___ findout(?x.parameter(x)) pop-up message confirming action a as done confirm(a)

VCR menu structure fragment change play status –play, stop etc. change channel –channel: _ timer recording –add program channel:_ date:_ start-time:_ end_time:_ display added program –delete program display existing programs delete program:_ settings –clock, etc.

Plan for VCR>timer recording>add program findout(?x.program_position_to_store(x)), findout(?x.date_to_store(x)), findout(?x.start_time_to_store(x)), findout(?x.stop_time_to_store(x)), dev_do(vcr, 'AddProgram') (confirmations generated by update rule whenever some action is done, so not needed in plan)

Sample menu dialogue (with language change!) S: Welcome to the VCR manager. Let’s see. What can I do for you? U: Add a program today, channel five –request(add_program) -> plan is loaded –issue accommodation to integrate ”channel five” … S: What time do you want to start recording? U: Five fifteen …

Conclusions: GoDiS & Issue- Based Dialogue Management general solutions to –dealing with multiple tasks –sharing information between tasks –grounding and feedback –user initiative (accommodation) –menu-based dialogue –negotiative dialogue (not yet implemented) rapid prototyping of applications –dialogue plans switching language online

end

Menu navigation step-by-step S: Welcome to the VCR manager! What can I do for you? S: Do you want to change play status, change channel, go to timer recording, go to settings, or make a query? U: timer recording S: OK, timer recording. Do you want to add a program, or delete a program? U: add a program S: OK, add a program. What channel do you want? U: one S: What date? U: today S: What time do you want to start recording? U: eight thirty S: What time do you want to stop recording? U: nine thirty [UPnP] AddProgram(1,today,830,930) S: I will record channel 1 today from 08:30 to 09:30.

Several steps at once + responding to unasked questions (question acc.) S: Welcome to the VCR manager! U: go to the vcr and go to timer recording and add a program S: OK, add a program. What channel do you want? U: channel one today from eight thirty (accommodate ”what date?”) (accommodate ”When do you want to start?”) S: What time do you want to stop recording? U: nine thirty [UPnP] AddProgram(1,today,830,930) S: I will record channel 1 today from 08:30 to 09:30.

Jumping to a submenu S: Welcome to the VCR manager! U: add a program S: OK, add a program. What channel do you want? U: channel one today from eight thirty to nine thirty [UPnP] AddProgram(1,today,830,930) S: I will record channel 1 today from 08:30 to 09:30.

Answer unasked questions, unspecified task (task and question accommodation) S: Welcome to the VCR manager! U: channel one today (accommodate task: add program) (accommodate ”What channel?”) (accommodate ”What date?”) S: OK, add a program. What time do you want to start recording? U: eight thirty to nine thirty (accommodate ”When do you want to stop?”) [UPnP] AddProgram(1,today,830,930) S: I will record channel 1 today from 08:30 to 09:30.

System clarification question (task clarification and accommodation) S: Welcome to the VCR manager! U: eight thirty (answer matches several plans > generate clarification) S: What do you mean by that? Do you want to add a program, or set the clock? U: set the clock (load plan for setting clock) (accommodate ”What time?”) [UPnP] SetClock(830) S: OK, clock. The clock was set.

Further switching language on-line switching task on-line ”Issues Under Negotiation” –proposals add alternative solutions (answers) to some problem (question) –Larsson 2002 SigDial paper –(not yet part of demo)

more about flexible dialogue in SIRIDUS Knowledge-based Reference Resolution for Dialogue Management in a Home Domain Environment (Quesada & Amores) –at 12:00 today Cooperation and Collaboration in Natural Command Language Dialogues (Amores & Quesada) –at 16:30 today Enhancing collaboration with conditional responses in information-seeking dialogues (Kruijff-Korbayova, Karagjosova & Larsson) –at 17:00 today

Other architectures Agent communication protocols –Open Agent Architecture –KQML Dialogue system toolkits –DARPA Communicator –SOAR, NL-SOAR Systems (implementing specific dialogue theory) –Verbmobil –VoiceXML have been compared to TrindiKit (see deliverables or ask)

relevant properties support for information state approach –which datastructures/datatypes are supported? support for managing control flow –not limited to pipelining asynchronous processing modularity potential for scalability

OAA ”Facilitator” (hub) manages communication between ”agents” (spokes) facilitator can maintain global information state –what datastructures are available? asynchronous processing modular similar to scriptless version of DARPA Communicator

KQML Knowledge Querying and Manipulation Language communication protocol between agents

DARPA Communicator Hub-and-spoke architecture modularity, flexible control, asynchronous processing hub functions –message routing between servers (spokes) –state maintenance –control flow; script decides which server to call next

DARPA communicator cont’d limited support for information states –”tokens”: frames with name, index, and list of feature-value pairs –tokens processed by scripts set of rules determining when to call a server + which arguments (features) to pass Hub scripts too limited to do real dialogue management –most actual systems have separate dialogue manager –hub mostly used for data routing

SOAR toolkit for modeling cognitive agents similar to TrindiKit in some respects keeps single information state –however, only one datastructure whereas TrindiKit has extendible range of (possibly complex) datatypes update rules –some nice ways of triggering rules which can be considered for TrindiKit supports ”chunking” of rules –however, may not be too useful in practice

Verbmobil not dialogue system per se –rather, dialogue translation system several local information states, not one global –”partitioned blackboard” –which datastructures? extendible set? limited control support