0

I have a few entities that are design to get user preferences. However, I would like a user to respond with "either" or "any" or "no preference" to indicate that they have no strong preference either way.

How do I accomplish this? If I train one of the entities to do this, the system will always register those responses to that one entity.

The use case will be based on a question and answer situation. I.e. the bot will ask, "do you have a color preference" and the user should be able to respond with "No"

1 Answers1

0

Here's how I would do it, with 3 intents (assuming this is in Dialogflow CX)

  • color.choose_color: one intent to capture the color given by the user. The training phrases (TPs) would be something like: i'll take the red, give me the green one, i would prefer the yellow...And you'll need to annotate the colors in the TPs to capture them.
  • confirmation.no: you should probably have this one in your bot already, if not you'll need to create one soon anyway (in DF CX, it's better to reuse intents whenever possible), the TPs would be: no, nope, i don't... Ideally
  • color_confirmation.any: those would be a negative response but specific to the question you asked. The TPs could be: i don't care, any color would work, no preference, either...

On the page where you ask the user the question about the color preference, you can create 3 routes, one for each of those intents. The second and third intents could probably go to the same place.

fmarm
  • 4,209
  • 1
  • 17
  • 29
  • Thanks for the response, but I don't think this will accomplish it? The two problems that come up: 1. I want to use this in form filling (i.e. have 5 required variables that have to be completed before moving on to the next step). I don't think I can do that with intents? 2. If I train the phrase "no preference" for color_confirmation.any, I can't use that phrase with any other indifference confirmation. Let's say I have another user input for size, I can't then have size_confrimation.any and allow it to accept "no preference". If either of those are incorrect, let me know! – AlexElementor Oct 23 '22 at 16:20