By the numbers…
The Rasa Summit ran over 5 days; a 2-day workshop and 3 days of talks. The turnout was astonishing, some talks had more than 300 attendees. All virtual and remote.
What was different? Most software companies focus on new features and functionality. Rasa focus on problems; problems users and makers have…and solving for those problems.
Simplification is paramount; not introducing complexity.
Most talks were content dense, especially Dr. Rachael Tatman’s talk on AI and data.
Here are five key ideas which stood out, for me…
1. Deprecation Of Dialog Scripts
OK, this took me by surprise during Tom’s talk, but still resonate much with me. I wrote about the principle of script deprecation in October 2019.
But again, the idea is one thing, but implementation is something different.
This chatbot architecture is very much universal across commercial chatbot platforms; being:
- Bot Responses (aka Script / Bot Dialog)
- Sate Machine (Dialog) Management
We always knew Rasa is deprecating the state machine, and then intents, but having the script or bot responses on the foreseeable roadmap was surprising yet astute.
The general term is NLG (Natural Language Generation). NLG can be seen as the inverse of NLU.
Where NLU is structuring unstructured data. NLG is the unstructuring of structured data. The key word for me was controllable NLG.
The focus seem to be to adapt responses to changing context…
Again the focus is on conversation agent agility and scaling well.
One example shown was to mirror user responses.
When the user speaks of sneakers, the bot uses the word sneakers, and not trainers, or runners or kicks.
NLG is an element which can introduce erratic responses by the bot, but seemingly Rasa’s focus is:
- Use the previous dialog as reference,
- And Control.
2. Deprecation Of Intents
Breaking free from intents was announced a few months ago by Rasa. And is very much part and parcel of Rasa’s future roadmap.
Intent deprecation has been introduced by IBM Watson Assistant, Microsoft Power Virtual Agents and Alexa Conversations. But again I would say Rasa’s vision is crisp and should scale well with future functionality.
This strait-laced layer between the NLU ML model and the dialog is intransigent in the sense of being a conditional if-this-then-that scenario which manages the conversation.
The list of Intents are also a fixed and a hardcoded and defined reference within a chatbot. Any conceivable user input needs to be anticipated and mapped to an single intent.
Again, the list of intents is rigid and fixed. Subsequently each intent is linked to a portion of the pre-defined dialog; as mentioned earlier.
This is one of two ways of approaching no-intent stories. Below is the simplest approach; a no-intent conversation living in the same training file as other intent based stories.
Glaringly intent and action is absent.
- story: No Intent Story
- user: "hello"
- bot: "Hello human!"
- user: "Where is my nearest branch?"
- bot: "We are digital! Who needs branches."
- user: "Thanks anyway"
- bot: "You are welcome. No to branches!"
Below you can see a conversation which invokes this story, and the deviations from the trained story is obvious.
Looking at the story below, you will see the story name, and flowing into the intent name, action…and then user input is caught sans any intent. Followed by an action.
- story: account_checking
- intent: tiers
- action: utter_tiers
- user: "just give that to me again?"
- action: utter_tiers
3. Importance of Rasa X (CDD) and Playground
Conversation Driven Development (CDD) was referenced often, allowing different parts of organization to contribute to the success of the chatbot, with Rasa-X as the vehicle.
Turning the task of training and improving the chatbot into an administrative task.
The playground was also referenced as a prototyping and design tool…there is much opportunity to grow and augment Rasa Playground with functionality.
Future elements I would like to see?
- Imagine if you could save and share your Playground prototype for others to interact with?
- And, image an online Rasa-X version, which interacts with your Playground bot, while the testers interact with it.
The idea of a playground is great, and has a lot of potential…there are some improvements I would like to see.
The scroll bars render wrong and can be easily fixed; its evident on Edge, Firefox and Chrome. I did not test Safari.
It would be great if the playground can be resized; or even pop out, leaving the left-hand column behind.
I found with training, when there are errors, training just continues for a long time, without error feedback. Even when the code is 100%, there are instances where the code just runs, seemingly in a loop. Any progress indication or timeout will be helpful.
Lastly, you can only download a project, via the “Download Project” button, once training is done. Prior to training, the button is inactive. Perhaps the button needs to be grayed out, and only active after the first training iteration.
I am curious to know to which extend it will be developed and enhanced; I surely hope it does.
4. Deprecation Of State Machines
Machine Learning stories and the implicit deprecation of the state machine are here to stay. Many doubted this approach as too vague and not having states seemed a bridge too far.
Below, an example two simple ML stories based on entity values.
- story: exchange_story_1
- intent: exchange
- change_from: "Pounds Sterling"
- change_to: "Japanese Yen"
- date_time: "Monday"
- action: utter_japan
- story: exchange_story_2
- intent: exchange
- date_time: "Thursday"
- action: utter_thursday_services
If you trust a model for intent and entity detection, why not trust it for the dialog? And there are policies, forms and more to introduce control where you need it.
Enterprise organizations are building their conversational experiences (Telco’s, backs etc.) with ML stories. and organizations are building innovative tools on top of ML stories for:
While other organizations still stick to the three approaches shown in the image above, Rasa is leading the way with their approach. The fact that ML stories are maturing well, and is scaling with new features, show it is ahead of its time.
Currently chatbots are seen as conversational AI and machine learning implementations. The truth of the matter is that ML and AI only play a role in the NLU/NLP portion; to some extend. The management of conversation state, dialog turns and bot wording are very far removed from ML/AI. It is in actual fact a state machine; stepping from one state to another based on fixed conditions.
ML stories break this mold.
Interactive learning can be used to create new training stories by merely having a conversation with your assistant.
The influence of entity & slot values on the conversation can be toggled on and off.
Machine-learning and rule-based policies can be used side by side.
Forms can still be used to collect data; with the forms can be interactive, conversation.
Digression can return to the form, or not.
5. Code Of Conduct
During Dr. Alan Nicol’s talk he performed the usual housekeeping walkthrough. One of things he highlighted, which was new to me, was a code of conduct for the summit.
I actually went and read the code of conduct, and cannot help but think this common conduct, respect and understanding between Rasa employees and the Rasa community contributes to the maturity of the organization and extends to products and services.
Rasa is more of a movement than a company.
More focused on solving problems than creating features.
Thinking of simplification as apposed to introducing short term solutions which can’t scale.
Hence, new features scale well, and do not impede product growth with reworks.
Subscribe to my newsletter.
NLP/NLU, Chatbots, Voice, Conversational UI/UX, CX Designer, Developer, Ubiquitous User Interfaces, Ambient…
Cobus Greyling - Medium
There are currently various avenues to introduce structure to entities in order to detected patterns. Microsoft LUIS…
We're a step closer to getting rid of intents
One year ago I wrote that it's about time we get rid of intents, and that seems to have struck a nerve with many people…
How to Design Rasa Training Stories | Rasa Blog
Training data is an essential part of every machine learning model. In this post, we are going to cover the best…