Photo by Riccardo Trimeloni on Unsplash

Different Approaches To Automation Of Dialog Flow Development

As Conversational AI develops and our digital assistants become more complex, the manual development and rigid process of dialog state flows requires a rethink. Three elements need to be introduced, contextual flexibility, automated development and NLG responses. Read more here…

Introduction

Most areas of chatbot development have seen focus on what elements of the development process can be automated. Automation has touched areas like:

  • Entities: detecting entities automatically with Named Entity Recognition (NER)
  • Intents: with unsupervised clustering of utterances, sentences and conversations into semantically similar groupings.
  • Search: this is one of the avenues a few providers have identified to bootstrap and fast-rack development.
  • Large Language Models (LLM) are also part of the chatbot development automation vision.
  • Knowledge base and quick reply (QnA) intents are being explored by frameworks like Oracle Digital Assistant.
Named Entity extraction using NVIDIA Riva.

As with most nascent technologies and implementations, many of these approaches are being seen as unworkable, not able to scale, etc. Most new ideas solicit the same response…this will never work, adoption will be zero, etc. etc.

But as we figure things out and work on efficiencies, these approaches will mature and will become mainstream.

Three Key Elements For Truly Flexible Dialogs

1️⃣ Contextual Flexibility

Context refers to the current conversation, from the start to the most recent dialog turn. Context can also be gleaned from previous conversations, other customer care interactions and back-end lookups like CRM, etc.

Context can change within the conversation, and being able to detect a contextual change from the user and adapt accordingly. Truly flexible context is the logical next step in chatbot progression. Rigid rule and state based management of dialogs are not sustainable. Digression and disambiguation are methods which can be employed to facilitate the process towards flexible context.

2️⃣ Knowledge

Knowledge is gathered in the form of intents, entities and more. Being able to pro-actively cluster user utterances can assist in being more effective in collecting knowledge during the conversation.

Being able to maximise user input (when the input is not expected) allows for efficiency in not having to ask the user to repeat themselves.

3️⃣ NLG Responses

The bot-response text messages are usually fixed, with placeholders where variables are inserted, the same way IVR’s do it. The ability to generate a text response based on few shot learning will lead to NLG (Generation) becoming more mainstream.

As I discuss in this article, generation will not only supersede bot response messages, but is able to maintain a few dialog turns in a very contextual and natural way, as seen below.

Automation Of Dialog Development

The safest and most efficient place to start with automating dialog flow development is the development process. Where the development of the dialog can be expedited by three methods.

1️⃣ Interactive Learning: a live interactive learning approach, where the call-flow is built out as the user interacts with the bot. In 2019 I considered the approach of Rasa, which they call Interactive Learning.

With Interactive Learning you can write dialogs (machine learning stories). This is where you write your stories while you are talking to your bot. And while you talk to your bot, the dialog flow is mapped in a browser. Rasa-X also needs to be considered here.

Interactive learning makes it easy to write stories by talking to your bot and providing feedback.
~ Rasa

2️⃣ Dialog Driven: In Kore.ai conversation-driven Dialog builder automatically converts the mock-up conversations into a Dialog Flow. Designers can focus on visualising the end-user conversation before building the dialog.

This does remind somewhat of Rasa’s Interactive Learning and Conversation Visualisation.

3️⃣ Conversations: According to Nuance Mix, automatically convert your conversation paths into a dialog tree as you work. This sounds to be very much in line with what Kore.ai and Rasa are doing.

Approaches to Dialog Development

Not that we have considered the automation of dialog development, let’s look at the main methods used for dialog developed…

1️⃣ Design Canvas

A design canvas environment is part and parcel of the vast majority of the Gartner leaders’ dialog design and development approach.

2️⃣ Dialog Configuration

Dialog configuration is more of a state machine approach, with multiple state tables. The biggest proponents of this approach are IBM Watson Assistant with their Dialog Skills & Action Skills, Microsoft Composer, and Power Virtual Agents.

3️⃣ Pro-Code

Pro-code/Native code is used in the vast majority of “homegrown” solutions. Microsoft Bot Framework is also a big proponent of native or pro-code. Other frameworks which are pro-code, has a propriety programming language or markdown language for dialog development. Oracle Digital Assistant is a case in point.

4️⃣ Machine Learning Stories

The term Machine learning Stories was coined by Rasa, and the idea is to train a model which predicts the next most probable dialog turn based on the context of the conversation and/or current session.

Find more details here.

Conclusion

I would argue that many of these principles mentioned here, are required to get chatbots out of the trough of disillusionment and into the plateau of productivity.

And as methods are refined, some of these seemingly fringe ideas and approaches will become more mainstream.

--

--

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Cobus Greyling

Cobus Greyling

Chief Evangelist @ HumanFirst. I explore and write about all things at the intersection of AI and language; NLP/NLU/LLM, Chat/Voicebots, CCAI. www.humanfirst.ai