DIAGRAPH : An Open-Source Graphic Interface for Dialog Flow Design (2023)

Abstract: In this work, we present DIAGRAPH, an open-source graphical dialog flow editor built on the ADVISER toolkit. Our goal for this tool is threefold: 1) To support subject-experts to intuitively create complex and flexible dialog systems,2) To support rapid prototyping of dialog system behavior, e.g., for research, and 3) To provide a hands-on test bed for students learning about dialog systems. To facilitate this, DIAGRAPH aims to provide a clean and intuitive graphical interface for creating dialog systems without requiring any coding knowledge. Once a dialog graph has been created, it is automatically turned into a dialog system using state of the art language models. This allows for rapid prototyping and testing. Dialog designers can then distribute a link to their finished dialog system or embed it into a website.Additionally, to support scientific experiments and data collection, dialog designers can access chat logs. Finally, to verify the usability of DIAGRAPH, we performed evaluation with subject-experts who extensively worked with the tool and users testing it for the first time, receiving above average System Usability Scale (SUS) scores from both (82 out 100 and 75 out of 100, respectively).In this way, we hope DIAGRAPH helps reduce the barrier to entry for creating dialog interactions.

## introduction dialog systems have gained much attention in recent years as they offer a convenient way for users to access information in a more personalized manner, or accomplish tasks through an intuitive natural language interface. traditionally, they need to understand user input, track information across multiple dialog turns and choose a system response. these tasks can either be performed in a modular manner or as an end-to-end approach where user input is directly mapped to system output. however, regardless of approach, state-of-the-art approaches to dialog systems largely rely on neural methods @xcite . while these methods have generally shown improvements to dialog performance and generalizability across multiple dialog domains, they rely on the availability of sufficient training data which can be work-intensive and expensive to collect. additionally, their decisionmaking often remains a black-box, which can make them unsuitable for highly sensitive domains, e.g., medical or legal contexts, where it is critical that dialog designers can maintain careful control over the system's behavior. although multiple toolkits have been developed to speed up the creation of dialog systems @xcite @xcite @xcite , and this has accelerated progress in the field, to the best of our knowledge all toolkits currently used for research require users to be able to write code in order to customize pre-implemented models for new domains or datasets. however, this overlooks the fact that technical experts are not the only parties interested in creating dialog systems. domain experts, or researchers from other disciplines, who may not have a technical background, may also be interested in using dialog systems for a variety of goals. for example, domain experts might want to design a controlled production system. researchers, e.g. psychologists or linguists, might want to design pilot studies or easily conduct research on interactions with a dialog system. additionally, an interface to quickly setup data collection, e.g., to bootstrap an ai based dialog system or quickly iterate on user feedback, can accelerate dialog research or deployment. to this end, we propose diagraph (figure 1 ): an open-source, graphical software for designing dialog flow graphs which are automatically converted into dialog systems. in this way, we hope it will serve as a good alternative to closed-source commercial options. our goal for this tool is threefold: 1) to support subject-area experts to intuitively create and deploy complex and flexible dialog systems, 2) to support users, e.g., researchers, to easily and rapidly prototype and evaluate dialog systems or user behaviour, and 3) to provide a hands-on test bed for students learning about dialog systems. we evaluate diagraph with all three user groups and demonstrate its usability and practical usefulness by 1) working with the department for business travel a university, 2) performing a usability study where participants were asked to design or alter a dialog system in less than 30 minutes, and 3) teaching a workshop on dialog systems and programming concepts to high school students. ## design principles the goal of the dialog designer is to allow for the intuitive creation of dialog systems with any level of technical knowledge. to this end, we design diagraph around the following principles: user friendliness to accommodate all three user groups, the software needs to be intuitive to operate without any previous programming experience. thus, we try to keep interactions simple, the information node displays an example of the template syntax, using two variables in a mathematical expression to output a personalized message e.g., dragging a connection from one node to the next to define dialog flow. we additionally try to only use icons and keyboard/mouse shortcuts commonly used in other programs, e.g., right clicking to get a context menu or typing ctrl+f to search. finally, we include several features to help keep an overview even in complex graphs, e.g., a mini-map, text search and tags. flexibility to meet the needs of all user groups, we provide features for designing arbitrarily complex dialog systems. to personalize dialog outputs, we provide a template language which can be used to generate expressions based on previous user inputs and/or external data tables. to control dialog flow, we allow the storage of user inputs in variables, the creation of hidden variables, e.g. for loop counters, and blocks to split the dialog flow based on conditional logic. transparency finally, we design diagraph to be transparent for all user groups, making it easy to understand the dialog structure and debug unintended behaviors. to this end, we provide a debugging view (figure 1 ) which can be opened in parallel to the dialog graph. here, users can test out the different branches of their dialog as well as verify that the content of variables is correct at every turn. in this way, students can gain a deeper understanding of how the dialog system processes and researchers/subject-area experts can ensure that their dialog systems provide the correct outputs to end-users. ## diagraph software diagraph is an open-source graphical software for designing dialog systems. the software consists of a web frontend and a python backend built on the adviser @xcite dialog system toolkit. diagraph enables users to design dialog systems by representing each turn as a node in a graph of the dialog flow. for each node, the dialog designer can define the text which the dialog system will give to the end-user and where applicable, the possible end-user responses. nodes can then be connected to form complex dialog flows. each node or answer can only be connected to a single follow-up node, but a single follow-up node may be reached by multiple previous nodes. additionally, cycles (loops) can be created by connecting a node to a node earlier in the graph, allowing for more complex dialog logic. ## evaluation to evaluate the usefulness of our software, we tested its usability in three different scenarios 1) to create a real-world dialog system in a complex domain, 2) to rapidly prototype dialog systems, 3) to teach students about programming and dialog systems. ## conclusion and future work in this paper we have presented diagraph: an open-source graphic interface for designing dialog systems supporting either rules-based or rl-based dialog graph navigation. diagraph provides an intuitive way for subject-area experts to create complex dialog systems, users to rapidly prototype dialog interactions, and students to learn about dialog systems -regardless of the user's level of technical background. our user evaluation shows that dia-graph was considered easy to use for all three use cases and users generally considered working with the tool an intuitive and fun experience. in the future, we hope to extend our tool with the ability to query web apis and to allow dialog designers to define expected inputs for variable nodes using custom regular expressions in order to increase flexibility even further. by releasing this software as open-source, we hope to make dialog design more accessible and to spark more research in controllable dialog policies.