Best Practices - Dialog Tasks vs KG

My experience is that Dialog Tasks are superior to KG , and create a better user experience overall.

For example:

  • In Dialog Tasks, you can use integrations and many other features to customize the experience for the user
  • You don’t have to click ‘Train’ every time NLP is changed
  • Multiple people can be in different Dialog tasks at once vs. only one person developing in the KG
  • Negative Patterns are enabled which aren’t an option in KG
    …and more

Because of this, I am looking at only temporarily using the KG as a ‘placeholder’ for intents that we want to get in quickly where there is no capacity to build a Dialog task. My goal is to replace all of the KG with Dialog Tasks to enable the use of the integrations, create a better experience, and then delete them from the KG. This would also keep all of our content in one place which makes it easier to manage and share with business owners.

My question - are there any significant benefits of KG over Dialog Tasks, other than they are quick and easy to build and you can extract from URLs/Documents? I find that the extract process is a lot of work because you still need to add NLP for the tasks to trigger correctly, and often you have to do a massive amount of disambiguation.

Am I missing something important in terms of why we would want to keep the KG? Or is the approach I’m looking at a good option? In a nutshell - why would I keep any KG when the Dialog tasks are superior all around for maintenance and user experience?

Stacy,

:grinning:

I often describe the KG as “simple answers to simple questions”. If the responses are simple and static and you have lots of them, then KG is probably the better approach.

As you say, dialogs have lots of benefits and power, but if you have 1000s of intents each with a single message node then that development effort and weight is pretty heavy.

But a gradual switch over from KG to dialog tasks is smart. The only thing to watch for is the disambiguation between the different engines. Each engine only knows about its intents, so moving one intent over while leaving similar ones behind might create some ambiguities.