3

Watson Conversation supports many Intents with same word? How to avoid wrong confidence association?

Example: Did you see that video http://....? Condition: Intent #see with values: "I see", "I saw", "Yes", etc..

Did you read that blog post http://....? Condition: Intent #read with values: "I read", "Yes", etc..

I link a question with another using "continue conversation" (the + icon at right of each dialog box). What I'm expecting is: If first dialog (see video) is already visited in the conversation and I'm using "continue conversation" feature, the second 'Yes' should answer the second question.

But instead of that every 'Yes' is trying to back the conversation to the root dialog (near the conversation start) because it is always pointing to the same Intent.

So, reuse the same common word in many Intents could cause a crazy conversation, right? The dialog flow and dialogs already visited is not taking in consideration to change de confidence rating, right?

What is the recommendation here? Create a separated Intent to each common word like 'Yes', 'No', 'Sure'?

So each dialog condition logic should include N intents? Example: #see OR #yes OR #sure

Bruno Braga
  • 117
  • 10
  • Another problem related with that: if I have two questions that could be answer with same Intent like #yes or #confirm in the same flow that is configured using "continue conversation" it is not working properly. It always restarting the conversation and matching with a previous dialog closer with "conversation start". – Bruno Braga Nov 06 '16 at 23:22

1 Answers1

3

In general it is not a good idea to use the same example for two different intents - this basically confuses the classifier as it is now not sure what to output. The classifier - at least for the time being - is not using the conversation context in the classification.

So the intents should be defined as explicitly as possible. In this particular use case I would recommend to use dedicated intents for #yes and #no. You can then reuse these intents at different places in the conversation.

Michal Bida
  • 1,316
  • 9
  • 24
  • Ok Michal. But If I have a condition waiting for #yes in root step (near start_conversation) and another step of conversation waiting for the same Intent #yes at same branch ("continue conversation") I will have problems. **Every answer 'yes' will restart the conversation**. It only works if these two #yes conditions are not in root step. The root steps are the problem here. Is it a bug? How can I say to Watson to not restart my conversation? – Bruno Braga Nov 10 '16 at 01:16
  • #yes and #no intents should not be generally handled at the root level as they are usually relevant to some contextual dialog. You can represent this as adding #yes and #no intents as a child nodes of the dialog node that asks the question. I think there are some examples about how to create contextual dialogs with watson in some of our video tutorials - just check the docs or search the yutube. – Michal Bida Nov 14 '16 at 10:33