# #dialogflow-cx
Вопрос:
Кажется, я не могу заставить dialogflow CX заполнять необязательные параметры только тогда, когда они требуются. Я хочу, чтобы бот попросил пользователя ввести данные, например «Расскажите мне о своем опыте», а затем повторил их им, но также дал пользователю возможность пропустить вопрос.
Я пробовал разные решения для решения этой проблемы. Одно из решений состояло в том, чтобы иметь параметр requires.any, а затем проверить, содержит ли он слово «пропустить» или нет. Однако это не кажется очень надежным, так как правильный комментарий может привести к пропуску, если они использовали это слово.
Моя вторая попытка показана на рисунке 1. Я попытался создать параметр sys.any, который не требуется, а также пользовательскую сущность «пропустить», которая не требовалась. Что бы я ни сказал, это приведет к резервному варианту по умолчанию. Я также пытался иметь намерение пропустить (называемое «нет»), которое отменяло бы sys.any, если бы это требовалось. Однако это просто записывается в параметре «AnyInput», что бы я ни говорил.
Каков был бы хороший способ дать пользователю возможность сделать комментарий или пропустить его? Любые предложения были бы полезны. Спасибо!
Комментарии:
1. Во-первых, если вы хотите, чтобы вопрос был «пропущен», вы должны сообщить пользователю об этом во время запроса или каким-либо образом заранее, чтобы он знал, что может пропустить вопрос. Разве что будет очень сложно отследить следующее движение пользователя. Да, играть со словом-не очень хорошая идея, значит, пользователь может сказать: «Это был плохой день, я сегодня пропустил пробежку».
2. Пользователь будет уведомлен о том, что он может пропустить вопрос. Но есть ли способ создать лучшее условие, чем если бы ввод просто содержал слово пропустить? Что-то вроде намерения, где определенные фразы будут совпадать.
3. Я думаю, что тогда все просто, если я как пользователь знаю, что могу пропустить вопрос, я могу сказать все, что связано с пропуском. например [«Я не хочу отвечать, пожалуйста, пропустите», » что дальше?», «спросите меня позже», «задайте другой вопрос», «двигайтесь дальше», «попробуйте завтра», «Я пройду это», «двигайтесь дальше»]. Вы можете создать намерение на основе этих ключевых слов для ответа, создать дочерний диалог/намерение для обработки этого.
4. Спасибо, но я не уверен, как подойти к этому. Если я сделаю намерение с такими фразами («пропустить», «без комментариев», «перейти к следующему вопросу») и добавлю параметр «AnyInput» по мере необходимости (в противном случае он не будет регистрироваться и перейдет в резервный вариант по умолчанию), он отменит намерение «пропустить вопрос» и зарегистрирует ответ пользователя в параметре sys.any, несмотря на соответствие намерению.
5. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.