Photo by Josh Durham on Unsplash

Why Rasa Is Enterprise Ready

And How Can Rasa Improve Their Enterprise Readiness

Cobus Greyling
7 min readOct 19, 2021

--

Introduction

Is Rasa enterprise ready?

Most definitely yes.

Is Rasa seen as enterprise ready in most cases?

There is always room for improvement… 🙂

Are there elements Rasa could develop and enhance to be enterprise ready?

Indeed.

It is evident that Rasa has managed to muster quite an active and growing community. Many of the presentations at Rasa events are of a very technical nature.

However, there are specific needs and requirements a larger enterprise implementation demands…

What Makes Rasa Different?

Firstly, I believe there are Eight Things Differentiating Rasa From Other Chatbot Platforms

Ease Of Access

Rasa is so open and generous in terms of access to software and information…the question does arise, how do they make money? That question is answered in detail.

One of my first Rasa Prototypes: RASA Interactive Learning and Conversation Visualization.

Conversation-Driven Development

Rasa has taken a very innovative and unique approach to continuous improvement of chatbots.

This approach they have named Conversation-Driven Development (CDD). The enabler or tool for CDD is called Rasa-X.

Evolving Entities

Contextual & Compound. One of Rasa’s strong points all along are compound and contextual entities. Pre-built models like Duckling and SpaCy can be used. This negates the necessity of pre-labeled data.

Regex can also employed to extract entities with known patterns. Or a ML approach can be taken. Normalization of synonyms in entities are possible. And lookup tables for word lists.

And of course roles and groups can be defined for entities. Slot types are: text, Boolean, categorical (one of defined values), float with min/max, list and any.

Deprecation Of The State Machine

There are two areas chatbots will have to advance significantly to be truly conversational and handle unstructured multi-turn conversations. The one area is complex and compound entities.

The second, but most important is the state machine, dialog flow or also referred to as the dialog management system. This is the node tree with decision blocks at each node deciding where the conversation should go based on on a set of conditions.

Language Agnostic

The big cloud chatbot providers make provision for a set of languages. These languages are chosen based on what makes commercial sense. A minor regional language have no chance of being implemented. And for a large portion of the market this is a requirement.

Ease Of Configurations & Pipeline Changes

Experimentation and rapid test iterations are made easy for the following reasons:

  • Installation via virtual environments (Anaconda for instance)
  • Run multiple virtual environments
  • Quick Installation
  • Minimal training data & Short Training Time
  • List of Models and Options
  • Pipeline & Configuration Examples

No Specialized Or Dedicated People Required

Rasa is democratizing access and availability of NLU software, resources and training. As mentioned before, while Rasa is becoming more complex and loaded with features, their UI is in simplified.

Full Control Of Your Data

When it comes to your data there are two aspects which need to be considered. Firstly, where your data is hosted. Some countries have legislation prohibiting personal data being stored outside of the country. Cloud providers offer a range of geographic and edge locations.

Myths Rasa Debunks

Myth One: You Need Huge Datasets

There is this believe that you require large and very specific datasets to get started. Or, that a feasibility study is required which runs over months. And does this data actually exist?

Myth Two: Training Takes A Long Time

Training is really fast and efficient. And with all the configurations and components in place it is an one command process. Incremental training has also been added.

Myth Three: You Need Highly Specialized People

Rasa has whittled down the installation, development and training process to a very well defined sequence of events. The production installation, containerization and integration (actions) portions can be performed by existing in-house resources.

Myth Four: Cloud Based Is A Must

Rasa can be installed anywhere, in the cloud, on premise or any data center. Migration to the cloud can be performed at any stage.

Myth Five: ROI Is Hard To Calculate

With the advent of call centers; cost, convenience and self-service became real concerns. Hence IVR was introduced to address all of these issues.

Enterprise Readiness

Rasa is definitely enterprise ready in terms of functionality and capability; but here are areas Rasa can focus on to be improve enterprise adoption of their astute technology…

Hosted Solution

Rasa will benefit from having a hosted solution; Rasa Cloud. This is also an approach HuggingFace is pursuing. Imagine a scenario where you can register online, with different pricing tiers. A complete and contained cloud solution; very much like IBM Watson Assistant, or Microsoft Power Virtual Agents. But with Rasa’s differentiators in terms of:

  • Flexible Pipeline
  • ML Stories
  • Entity Configuration
  • CDD
  • Etc.

A chatbot can be built and tested online…with an URL generated which can be shared with others to interact with your chatbot.

One challenge will be the text nature of the Rasa interface which is primarily vested in editing text files. Interesting enough, many users find the text interface & command line interfaces daunting and prefer a GUI.

Converting the text based UI to a GUI will take some thought and careful design considerations.

A hosted solution can also be a good avenue for enterprises to go from a prototype and POC phase and scale into a production environment.

Versioning and deployment can also facilitated from here. Many organizations simply do not have the apatite and will to build and manage a complex cloud installation.

Pricing

For enterprises, software support and maintenance are of utmost importance. Not having support agreements create risk and unwanted exposure.

But, enterprise software support, as such, is outdated. Both as a revenue model and value proposition.

Having a hosted solution which are:

  1. Hosted by Rasa in specific regions and availability zones
  2. Installed by Rasa in the datacenter or cloud of the enterprise’s choosing,

will enable tiered support & usage pricing.

This tiered pricing will increase with usage, and functionality. There will most probably be general cloud support and maintenance functionality available by default. Availability, support and maintenance alerts etc. Standard cloud practices.

Workbench

A workbench which fosters a shared understanding between different team members will also be helpful.

The Rasa server provides endpoints to retrieve trackers of conversations as well as endpoints to modify them. Additionally, endpoints for training and testing models are provided. Source.

This workbench can be used to plan and design conversations from an intent, entity and dialog flow perspective. Including bot response wording.

Designers can define different user stories and seamlessly hand over to a technical team for development and testing.

Think of the workbench as a comprehensive GUI Rasa X (Rasa X API) environment combined with the features available via the Rasa API, and more.

A complete environment for conceptualizing, designing, developing, deploying and managing a conversational agent.

Graphic User Interface For ML Stories

I think Rasa has three key differentiators.

  • One being their easy configurable pipeline.
  • Secondly it is their tight feedback loop between intents and entities.
  • But most importantly, it is Rasa’s approach to dialog state development and management. Being Rule Policies or Machine Learning Policies.

In general, dialog state management approaches can be divided into four categories.

  1. Low-Code Configuration
  2. Dialog Design Canvas
  3. Pure Code
  4. Machine Learning Stories

Currently ML Stories are defined in text files. If Rasa can surface the creation and management of ML Stories via a GUI it will stand their product in good stead.

Again, considerable thought will have to go into how a GUI might be used as an interface to ML Stories. A good starting point might be a Rasa X story canvas which can be edited.

Training Time

One of the concerns raised by users of Rasa is training time. This is obviously determined by various factors; processing power, the amount of training data etc.

Rasa has introduced incremental training to alleviate this problem. A cloud hosted system could work well to address the need for dedicated or spot allocation of processing resources when needed.

Conclusion

All of the elements mentioned in this story can be developed and implemented by enterprises. But the barrier to entry will most probably be too high, considering what other cloud environments are available.

It will take a huge investment in terms of money and time, but Rasa has a sterling product which can only benefit from such a development.

--

--