Flexible Dialog Management in Chatbots

Thomas Packer, Ph.D.
TP on CAI
Published in
2 min readDec 27, 2019

--

This story is a rough-draft. Check back later for the fully-polished story or post a comment telling me what you’d like me to research and write for you.

One of the most common complaints of conversational artificial intelligence (CAI) is inflexible dialog management. At the same time, the most common ways of defining dialog management for chatbots could be reduced to a state machine or dialog graph, e.g. a decision tree. If you need to predefine a dialog structure in terms of a graph or anything similar, you’re already lost. To allow for flexible dialog management, you need to give the agent principles to use in coming up with its own dialog policies. Otherwise, expect your chatbot will eventually run off the rails.

Photo by Boris Stromar on Unsplash

Contents

Existing Paradigms

Finite State Dialog Management

About

Chatbot controls flow of dialog (system initiative or single initiative)

Successive states represent filling slots in a predetermined order, leading to a final action.

Pros

Simple, easy to build and understand

Okay for simple tasks

Cons

Too limiting and inflexible

Do not allow the user to speak spontaneously or to fill multiple slots per turn

Example

Single Initiative

Single Initiative + Universals

Augment finite states with universals (global-scope commands)

Examples

Help

Cancel

Start over

Correct

Pros

Slightly more flexible by allowing user to break out of current state in state machine

Cons

Still too inflexible

Mixed Initiative

Frame-based Mixed Initiative

About

Frame slots can be filled in any order.

User can take initiative by providing multiple slot values.

My Ideas

Pieces

Recognize user intent

Is the user’s text a response/answer to existing goal path or a new request/question?

Recognize when there is more than one per input.

Recognize when there is an unknown intent (not trained for)

Identify goal from user intent

Identify path to goal in goal dependency lattice

Execute path by generating statements/questions and interpreting responses/answers

Repeat:

Flexibly update all of the above on the fly

Join the CAI Dialog on Slack at cai-dialog.slack.com

About TP on CAI

Other stories in TP on CAI you may like:

--

--

Thomas Packer, Ph.D.
TP on CAI

I do data science (QU, NLP, conversational AI). I write applicable-allegorical fiction. I draw pictures. I have a PhD in computer science and I love my family.