Articulate’s Got A Whole New Groove

Making advanced dialogue simple

Caleb Keller
Smart Platform Group
4 min readMay 22, 2019

--

We’ve hit the one year anniversary from the original launch of Articulate. Having built Articulate on top of Rasa NLU as a way of putting the awesome power of Rasa NLU into the hands of more people. 1,600 downloads later, Articulate’s ready to show some new tricks, features, and power that we think will excite you as much as it has us.

Here’s an excerpt from our Introducing Articulate article from April of 2018:

When we worked with Rasa’s powerful command-line and API tools, we were driven to implement a more accessible interface for NLU

Rasa has come a long way since then with some power packed releases and it only seems right that we share the next iteration of Articulate built on the latest Rasa NLU release using the TensorFlow pipeline. Rasa NLU has turned out to be an ideal platform upon which to build Articulate.

What we’ve built on top of Rasa NLU provides a complete conversational agent solution capable of sophisticated and surprisingly deep conversation.

Multiple Actions, Multiple Responses

When your user starts a conversation off with, “Hello, I’d like to order a pizza.” How do you want your agent to respond? Traditionally in chatbot design, you would have to choose whether to label that sayings as a greeting or ordering pizza.

With the latest version of Articulate—thanks to Rasa NLU’s TensorFlow pipeline—you can label it with both! Articulate recognizes these compound actions and handles them one at a time.

See the screenshot below for what multiple action tags look like, and what kind of conversation it can enable:

Keywords Come With Phrases Too

When we originally designed Articulate’s simple context system, we were thinking how it would be the perfect fit for FAQ type questions. However, when people started using Articulate, they asked ‘what if I want a yes/no answer’ — and we realized maybe we needed to think a bit more about how this system should work.

So now, keywords like yes/no come with training phrases as well. Because That sounds great can mean the same thing as a simple yes and That's not what I wanted could be understood as a no. We call these phrases Modifiers and they enable much more than just yes or no responses.

See what it looks like to train these below and a sample of the dialog they enable:

Actions Can Follow Actions Can Follow Actions

Sometimes whenever you’ve finished fulfilling an action you want to perform another action, and maybe another, and another… (Hopefully, you get the idea.) For example, when a user asks for help with insurance, you may first want to ask them if they need help with an existing policy or a new one. Based on their response, you would likely take different actions. This functionality is fully supported in the new Articulate and enables deep, branching, conversations.

Below is the conversation described above played out in Articulate:

That’s just a quick intro to the best new features included in Articulate. We’ve also simplified debugging by including a review screen and adding source information to the chat panel.

To give the latest version of Articulate a try, download it on Github. Then feel free to join us on Discord or open an issue with any problems you may have.

We’re not done yet

We’ve been working on this release quietly for the past 6 months, but now that it is out there our work won’t stop. We’ve got a lot planned for the next several months. Hopefully, you’ll see better analytics, messaging integrations, and more. If you’re building chatbots or want to start, we hope you consider joining our community. We’d love to have you!

--

--

Caleb Keller
Smart Platform Group

Mechanical Engineer turned Data Scientist turned Machine Learning practitioner. Focused on solving the problems of enterprise data, starting with how we can Do