Emora STDM : A Versatile Framework for Innovative Dialogue System Development (2020)

Abstract: This demo paper presents Emora STDM (State Transition Dialogue Manager), a dialogue system development framework that provides novel workflows for rapid prototyping of chat-based dialogue managers as well as collaborative development of complex interactions. Our framework caters to a wide range of expertise levels by supporting interoperability between two popular approaches, state machine and information state, to dialogue management. Our Natural Language Expression package allows seamless integration of pattern matching, custom NLP modules, and database querying, that makes the workflows much more efficient. As a user study, we adopt this framework to an interdisciplinary undergraduate course where students with both technical and non-technical backgrounds are able to develop creative dialogue managers in a short period of time.

## introduction constructing a functional end-to-end dialogue system is typically an extensive development process. depending on the goals, such development often involves defining models for natural language understanding and generation (section 3), and also creating dialogue management logic to control conversation flow. training a deep learning-based endto-end model is a cost-effective way to develop a dialogue agent when the goal is a system conforming to behaviors present in training data; however, substantial development effort must be spent as the developer demands broaden to incorporate features that are not well-represented in available data. we present emora stdm (state transition dialogue manager), henceforth e-stdm, a dialogue system development framework that offers a high degree of customizability to experts while preserving a workflow intuitive to non-experts. e-stdm caters to a wide range of technical backgrounds by supporting the interoperability between two popular dialogue management approaches, state machine and information state (section 4). our framework makes it easy for not only rapid prototyping of open-domain and task-oriented dialogue systems, but also efficient development of complex dialogue managers that tightly integrate pattern matching, nlp models, and custom logic such as database queries. (section 5). ## related work a variety of dialogue development frameworks have emerged to expedite the process of dialogue system creation. these frameworks cater to various use cases and levels of developer expertise. popular commercial-oriented frameworks are primarily intended for non-experts and have workflows supporting rapid prototyping (bocklisch et al., 2017). they often allow developers to customize natural language understanding (nlu) modules and perform dialogue management using state machines. some frameworks require more expertise, but offer better developer control, by following the information state formulation of dialogue management (ultes et al., 2017; jang et al., 2019; kiefer et al., 2019). according to this formulation, dialogues are driven by iterative application of logical implication rules (larsson and traum, 2000). this design provides support for complex interactions, but sacrifices the intuitiveness and development speed of dialogue management based on state machines. other frameworks (e.g., chatscript, botml) rely on custom programming languages to design conversation flow. the custom syntax they specify is based on pattern matching. although requiring expertise, rapid prototyping in these frameworks is possible with a high degree of developer's control. however, dialogue management focuses primarily on shallow pattern-response pairs, making complex interactions more difficult to model. ## natex: natural language expression to address the challenge of understanding user input in natural language, we introduce the natural language expression, natex, that defines a comprehensive grammar to match patterns in user input by dynamically compiling to regular expressions. this dynamic compilation enables abstracting away unnecessary verbosity of regular expression syntax, and provides a mechanism to embed function calls to arbitrary python code. we highlight the following key features of natex. string matching it offers an elegant syntax for string matching. the following natex matches user input such as 'i watched avengers' or 'i saw star wars' and returns the variable $movie with the values 'avengers' and 'star wars', respectively: the direct translation of this natex to a regular expression would be as follows: as shown, natex is much more succinct and interpretable than its counterpart regular expression. ## educational use of emora stdm as an application case study, we present the use of e-stdm in an educational setting. e-stdm is deployed in an interdisciplinary undergraduate course called computational linguistics, foot_1 where dialogue system development within e-stdm is a part of the requirements. students in this course come with varying levels of programming ability; many with little to no imperative programming experience. students are tasked with the development of chatbased dialogue systems that can engage a user in 10+ turn conversations. at the time of writing, students have completed two assignments involving dialogue system creation. students are grouped in teams, with at least one student with prior coding experience per team. teams are free to select a domain, such as video games, sports, or technology, and are given two weeks for development. we make the unmodified version of dialogue systems from these students publicly available. @xcite the successful use of e-stdm by novice programmers demonstrates the utility of this framework, in terms of its usability and potential as an educational tool.