D ial BB : A Dialogue System Development Framework as an Educational Material (2024)

Abstract: We demonstrate DialBB, a dialogue system development framework, which we have been building as an educational material for dialogue system technology. Building a dialogue system requires the adoption of an appropriate architecture depending on the application and the integration of various technologies. However, this is not easy for those who have just started learning dialogue system technology. Therefore, there is a demand for educational materials that integrate various technologies to build dialogue systems, because traditional dialogue system development frameworks were not designed for educational purposes. DialBB enables the development of dialogue systems by combining modules called building blocks. After understanding sample applications, learners can easily build simple systems using built-in blocks and can build advanced systems using their own developed blocks.

## introduction to build a dialogue system, it is generally necessary to adopt an appropriate architecture according to the application and integrate various technologies. while the advancements in large language models have led some to believe that dialogue systems can be developed solely with these models and that the developers do not need to know about architecture and elemental technologies, there are issues such as hallucinations, so it is not always practical to build dialogue systems with only large language models, depending on the application. over the years, research into dialogue systems has evolved, accumulating knowledge on what kind of dialogue systems should be built with what technologies and what architectures. however, it is not easy for people who are learning dialogue system technology to acquire this knowledge. an educational material that allows people to learn dialogue system technology while building various dialogue systems would be helpful. in learning about dialogue system technology, it is important to understand various elemental technologies such as language understanding and dialogue management, as well as an architecture based on appropriate modularization, extensibility which facilitates improving systems, and domain portability. it is also crucial to understand the importance of robustness in intention understanding and interaction design through running actual dialogue systems. as an educational material that is useful for such learning, a dialogue system development framework with the following features is beneficial: (1) including various elemental technologies of dialogue systems, (2) appropriately modularized, (3) highly extensible, (4) including sample applications that help learners' understanding of dialogue system technology, and (5) making it possible to develop simple applications without extensive skills or knowledge in system development, enabling the acquisition of various technologies while improving the system. in addition, it is desired that its source code is available. there are several dialogue system development tools whose source codes are available. pydial @xcite , opendial @xcite , convlab-3 @xcite , and ad-viser @xcite focus on statistical dialogue models for task-oriented dialogue systems, while we think educational materials should support state-transition network-based dialogue management which is often used for building practical dialogue systems. although rasa open source @xcite is highly extensible, it does not support state-transition network-based dialogue management by default. botpress foot_0 supports statetransition network-based dialogue management, but replacing its internal modules with custommade ones is not easy. mmdagent @xcite also supports state-transition network-based dialogue management, but it is not easy to extend it. we have been building a dialogue system development framework called dialbb (dialogue system development framework with building blocks) foot_1 intended for use as an educational material in dialogue system development. dialbb is written in python, and supports the development of english and japanese applications. ## overview of dialbb here, we give an overview of dialbb. for more details, please refer to its document. foot_2 ## learning dialogue system technology using dialbb using dialbb, learners can learn about dialogue system technology through the following steps. first, by understanding the sample applications, they learn the basic architecture of a dialogue system. next, by looking at the change in behaviors after modifying the knowledge used in the sample applications, they understand elemental technologies. then they deepen their understanding of the elemental technologies by building a new application using built-in blocks. next, they understand the necessity of extensibility by creating and using their own custom blocks. finally, by having people other than themselves use the system they built, they understand the importance of robustness in intention understanding and interaction design. ## usage example of dialbb dialbb was utilized in student projects and for system development for competitions. for instance, it was used to develop the system that won third place @xcite in the dialogue robot competition 2022 @xcite and the system that won second place @xcite in the dialogue robot competition 2023 @xcite . they are conversational robots that can recommend tourist destinations. dialbb applications work as their dialogue processing components. the dialogue processing component of the 2023 system incorporates the built-in japanese canonicalizer block and the built-in stn manager block, along with a custom block that performs keyword-based language understanding, sentiment analysis, and affirmative/negative utterance classification. ## concluding remarks this paper presented dialbb, a framework for developing dialogue systems. dialbb serves as an educational material for dialogue system technology. currently, we are building a gui-based editor for state-transition networks. future improvements include adding new built-in blocks. additionally, we plan to develop new sample applications, incorporating useful examples such as frame-based dialogue management, database access, and handling speech and multimodal input/output. we will demonstrate sample applications and explain their configuration files and knowledge for language understanding and dialogue management, to show how dialbb is useful in learning dialogue system technology.