2
votes

I have 5 intents in my conversation. If user types for request 2 or more intents, how do I know that he has typed two intentions and how do I inform him that he can only request one intention at a time?

My example have 2 intents, and Watson dont reconigze the second intent:

I want pizza and I want cuisine

Intents #pizza:

  • I want pizza

Intents #cuisine:

  • I want cuisine

Thanks.

2

2 Answers

2
votes

The Watson Conversation Service evaluates all your intents when it process the input text. However, by default it only returns the highest value intent. As noted by Simon in this posting Watson Conversation supports nested Intents? you can access the values for all your intents.

1
votes

I'm very new to Conversation, and have had a similar problem working with entities, but I believe the same would work for intents.

When getting car make and model, I have two entities @makes and @models.

In the Dialog, after asking for Make and Model, I have nodes for:

@makes and @models - This means they have matched the values in both Entities.

@makes and not(@models) - This means they have matched only Makes.

not(@makes) and @models - This means they have matched only Models.

not(@makes) and not(@models) - This means they haven't matched either of the entities.

Depending on which node they hit, you can branch off to an appropriate node.

For the "not(@xxxxxx)" condition, you have to type it in full on the "Enter a condition" line, it won't pre-populate the dropdown lists.