-
Notifications
You must be signed in to change notification settings - Fork 3
Manual
Flipper is an Information State (IS) based Dialogue Manager (DM) which provides a set of variables that represent the dialogue state. Based on the possible states the DM will tell a virtual agent what behaviour to display in what situation. This has the advantage over other systems (e.g. a Dialogue tree) in that it is able to adapt to a broad range of situations not following a directed tree approach and can easily adapt to new (unexpected) situations. It does mean that many more situations should be taken care of by the system.
In Flipper the IS is read and modified through templates. A set of preconditions must be met (e.g. the variable $userstate.intention equals greeting) to change the state of the variables (e.g. set $agent.intention = "return_greeting"). In addition to modifying the IS behaviour must be displayed in order to provide feedback to the user. This is done by calling java functions, which can be hooked up to an avatar.
This is thoroughly described on Flipper's own wiki.
An advanced system should be able to recognize and display a broad range of behaviours. In order to make to make such a system practical it is good practice to divide the tasks into different managers. (e.g. a manager for reading retrieving the users utterance, one for emotions, managers to generate the agents behaviours, etc.) The Multi Modal Dialogue System (MMDS) enables the use of multiple managers, each with their specific tasks. Each of them can be loaded as separate modules and configured to make the system very modular, allowing tweaking and mixing the different modules.
All managers share a single Information State, but have their own Flipper templates and other functionality to read and modify the IS and generate different behaviours. This is done on an interval basis to enable managers to run in parallel. (see fig. 1)
To use the MMDS it is recommended to download the binary (at the time of writing v0.0.1 is the latest).
It has the following filestructure:
config/
* This folder contains all manager configuration files
data/
This folder contains data files as referred to in the config files
lib/
* This folder contains the libraries the main jar depends on
modules/
* The modules the as referred to in the config files
templates/
The Flipper templates as referred to in the config files
FlipperMMDS.jar
The main jar file
run.bat
This load the main jar and all manager module jars and their libraries
The folders marked with an * can be changed in the run.bat
. The rest is defined in the config files.
No documentation for implementing a MMDS is currently available. However a good understanding can be obtained by checking the Examples page.