Source-linked AI summary

Rasa: Open Source Language Understanding and Dialogue Management

Tom Bocklisch, Joey Faulkner, Nick Pawlowski, Alan Nichol

arXiv:1712.05181v2cs.CLcs.AIcs.LG

TL;DR

Conversational AI research has not translated broadly into software accessible to non-specialist developers. This paper presents Rasa NLU and Rasa Core as modular, open-source tools with human-readable training workflows and developer-guided learning. In a restaurant slot-filling demonstration, Core assigns probability to multiple valid next actions based on dialogue context, while emphasizing practical usability and continued development.

  • Problem

    Statistical dialogue-system research had not produced widely used software intended for non-specialist developers.

  • Method

    The paper presents modular Rasa NLU and Core libraries with configurable pipelines, tracker-based dialogue management, human-readable stories, machine teaching, and graph visualization.

  • Results

    In a restaurant slot-filling demonstration, Rasa Core assigns non-zero probability to multiple unfilled-slot actions while giving filled slots vanishingly small probability.

  • Takeaways & Limitations

    Rasa provides a platform intended to make applied conversational-AI research usable by non-specialist developers.

  • Takeaways & Limitations

    Rasa NLU and Core remain under active development, including planned improvements for reinforcement learning, robustness to typos and slang, and additional language support.

Abstract

from arXiv · show

We introduce a pair of tools, Rasa NLU and Rasa Core, which are open source python libraries for building conversational software. Their purpose is to make machine-learning based dialogue management and language understanding accessible to non-specialist software developers. In terms of design philosophy, we aim for ease of use, and bootstrapping from minimal (or no) initial training data. Both packages are extensively documented and ship with a comprehensive suite of tests. The code is available at https://github.com/RasaHQ/

1 Introduction

The paper introduces Rasa NLU and Rasa Core as easy-to-use open-source tools intended to bring machine-learning dialogue technology to non-specialist developers. They address the gap between research implementations and widely usable conversational software.

  • Rasa NLU and Core aim to bring recent machine-learning advances in conversational AI to non-expert developers.
  • The tools target a lack of widely used statistical dialogue systems designed for non-specialists.
  • Rasa separates natural language understanding from dialogue management through Rasa NLU and Rasa Core.

2 Related Work

Related work situates Rasa among NLP, dialogue-management, and conversational-AI toolkits. Rasa emphasizes modular, customizable software for non-specialist developers rather than end-to-end research systems.

  • Rasa draws on scikit-learn and Keras API ideas, while its text classification and entity recognition use established machine-learning approaches.
  • Rasa NLU and Core are fully decoupled, allowing independent use and reuse of trained dialogue models across languages.
  • Compared with PyDial, Rasa Core emphasizes non-specialist software developers over dialogue researchers.
  • Rasa NLU hides implementation details for new users while allowing more experienced users to customize the system.

3 Description of the Code

Rasa uses a modular architecture in which NLU interprets messages and Core manages state, policies, and actions. Consistent interfaces support customization of language-processing pipelines and dialogue-state features.

  • 3 Description of the Code: Rasa’s modular architecture supports integration with other systems, including external NLU services and HTTP clients in other programming languages.
  • 3.1 Architecture: A tracker stores each conversation’s dialogue state and event history, allowing the state to be reconstructed by replaying events.
  • 3.4 Policies: Rasa Core predicts the next action from a predefined list using tracker information such as recent intents, entities, actions, and slots.
  • 3.3 Natural Language Understanding: Rasa NLU processes text through tokenization, GloVe-based sentence features, intent classification, and conditional-random-field entity recognition.
  • 3.4 Policies: The max_history hyperparameter controls how many previous dialogue states enter policy featurization; values between 3 and 6 work well in practice.

4 Usage

Rasa supports human-readable training data, developer-guided machine teaching, and dialogue-graph visualization. These usage features help developers create, inspect, and iteratively extend conversational models.

  • 4.1 Training Data Formats: Rasa NLU accepts utterances annotated with intents and entities in JSON or compact Markdown formats.
  • 4.1 Training Data Formats: Rasa Core represents training dialogues as Markdown stories containing named sequences of user dialogue acts and system actions.
  • 4.2 Machine Teaching: Machine teaching lets developers correct predicted actions, creating training points while the policy partially retrains and advances the conversation.
  • 4.3 Visualisation of Dialogue Graphs: A story graph represents actions as nodes and intervening user utterances as edge labels, with START and END nodes marking boundaries.
  • 4.3 Visualisation of Dialogue Graphs: Graph simplification merges similar nodes to make training-dialogue visualizations easier to inspect.

5 Demonstration

The BAbl demonstration evaluates dialogue policies in a nonlinear slot-filling task, where multiple actions can be valid. Rasa Core uses known slot information to select actions that complete the restaurant search.

  • The BAbl task requires filling location, number of people, cuisine, and price range before searching for a restaurant.
  • Because multiple action sequences can provide the same information, accuracy and precision are not suitable metrics for this dialogue policy.
  • Rasa Core assigns probabilities to actions using known slots, favoring unfilled slots while giving filled slots vanishingly small probability.

6 Outlook

Rasa NLU and Core remain under active development as platforms for making applied conversational-AI research usable by non-specialist developers. The project plans broader evaluation resources and welcomes external contributions.

  • Rasa NLU and Core are under active development and are not presented as finished tools.
  • Figure 3 illustrates action probabilities as the system receives cuisine, location, party size, and price information, eventually searching for a restaurant.
  • The project plans to release real-world datasets for comparing different models and welcomes external contributions through its GitHub repositories.
Loading 1712.05181v2…