A Scalable Mixed Initiative Dialogue Manager

The French project Romeo2 develops a robot (called Romeo) that assists elderly people in their home. In the Romeo2 project, Romeo and a human talk with each other. This spoken interaction by Romeo is facilitated with a spoken dialogue system, which is yet to be developed. Using the Romeo2 documentation we created the following list with requirements for a spoken dialogue system operating in this situation (see Section 1.3): Requirement 1: Romeo should understand natural language. Requirement 2: Mixed initiative: both the user and Romeo can switch to a new topic. Requirement 3: A close mapping between situations and the dialogue. Requirement 4: Maintainability. Requirement 5: Smalltalk. Requirement 6: Must fit the SpirOps framework. Existing dialogue architectures that meet some of the requirements are described (Chapter 2), and it is specified which requirements they satisfy in particular. As no existing architecture satisfies all requirements we created a new spoken dialogue system. Part of a dialogue system is the dialogue manager, which determines what Romeo says given the situation he is in. For this thesis we developed a novel dialogue manager, its novel aspects are: Integration in the framework used by the Romeo project partners. On this shared platform partners “publish” information of their components. Designers of the dialogue can react to events fired on this platform, and use the shared information. This closes the loop between the perception components on this platform and the interaction[37]. Representation of the dialogue state. The dialogue is divided into “topics”, and the dialogue system is able to quickly switch between these topics. Each topic has an activation to indicate its relevance. Each second an activation function orders the topics to see which topic is the most relevant. The activation of each topic is determined using the speech input of the user, memories that change on the shared platform, and events on the shared platform. How designers create dialogues. Designers create “drives” in the SpirOps editor. Each drive describes what output must be given to the actuators of the robot, and what the “motivation” and “opportunity” of this drive are. The drive with the highest combined motivation and opportunity passes its output to the actuators. Advantages of our representation are that it is easy to add drives to a dialogue, maintain the dialogue by editing separate drives, and the ability to merge the dialogue of two designers. During an internship at the company SpirOps we implemented the dialogue system. We concluded that our dialogue architecture satisfies all requirements for the Romeo2 project. It is possible to design a dialogue that follows the scenarios in which Romeo should function, as given in the Romeo2 documentation. After a comparison to the program Choregraphe we concluded that both programs have a lot of functionality in common, but there are several di↵erences. As dialogues created with our dialogue manager are scalable, and it is possible for the user to give topic-unrestricted input, our dialogue manager is better for the Romeo2 project than Choregraphe.