Affective dialogue processing
The dialogue is driven by a Dialog Manager (DM). The selection is backed by: 1. Appropriateness for the type of dialog we aim for (the corpus reveals frequent reoccurring topics to be handled by DAFs) 2. Availability of mature package within time frame that allows for integration 3. Possibility of reusing created DAF states, tests and specified actions for the upcoming statistical DM by the University of Oxford
Charles University converted the Dialogue Manager from Java to Perl in order to provide efficient run-time access to resulting Natural Language Understanding (NLU) data-structures. Handling of simultaneous dialogs with multiple users connected over the Telefónica I+D Inamode interface or over the Jabber instant messaging protocol was implemented by switching contexts.
An additional layer of Perl objects were added between the Dialogue Manager and the resulting NLU data-structures. These objects (persons, events, photos) model the knowledge acquainted in the course of dialogue and also provide very basic reasoning (e.g. accounting for the link between date of birth and age properties). Each object's property is able to store multiple values with varying level of confidence, and values restricted to a defined time span.
The Perl objects are accessible through API from Dialogue Manager tests and actions assigned to every arc in DAFs. Properties of Perl objects are populated by PMLTQ information extraction queries.
DAFs covering selected topics contain not only Companion replies directly extracted from the corpora, but also new human-authored assessments, remarks and glosses to provide longer system utterances in order to encourage the user to tell more.
In addition, when generating the system response, the dialogue manager passes through the Natural Language Generator module the information about the appropriate communicative function tag (CF, see the Czech Text-to-Speech module) along with the sentence that is to be generated.