ibm-cloudwatson-conversationwatson-dialog

From Dialog to Conversation: how to do what <folder label="Global"> do?


In Watson Dialog, <folder label="Global"> could be used to handle objections. If in middle of some dialog user type an objection, folder Global could answer and after that keep the dialog at the same point.

I trying to do the same with Watson Conversation but I'm lost. Apparently it is not possible or not easy. The node everything_else don't solve the problem. It breaks the conversation.

Watson Conversation is or not is a evolution of Watson Dialog? It has less features?


Solution

  • Conversation and Dialog are two different systems. Dialog would maintain state, while in Conversation you are expected to maintain it.

    There is no global feature at this time, but you can simulate the feature through two different ways.

    1. Two workspaces.

    This option is probably the easiest. You have your second workspace with all your global terms. In your process flow of the first workspace at the end of a check area you have a keyword. This keyword triggers your application layer to search the second workspace for the global answer.

    This way you can maintain your position in the first workspace easily.

    This example uses the return text "SearchGlobal" to trigger it. Once it completes, it will return to asking for a yes/no.

    enter image description here

    2. One workspace. Global folder

    In this case when you see the "SearchGlobal" text, you store the context object from the response. Then send the users input again, only with the context object to jump to a related branch.

    You can do this by either loading a context variable, or storing a pre-existing context object to jump to a branch. The latter is a little tricker.