验证Dialogflow中的用户输入

时间:2019-05-14 01:21:34

标签: dialogflow dialogflow-fulfillment

有一些方法可以验证用户输入并再次请求(通过Webhook或意图),例如询问用户1到10之间的数字,以及用户输入的是大还是小,要求他输入另一个直到这个范围内的数字?

2 个答案:

答案 0 :(得分:1)

在设计Dialogflow对话时,需要研究意图的概念。当意图匹配时,这可以调用一个称为实现的组件,该组件将传递用户提供的信息。例如,如果用户说“将值设置为7”,则它将(也许)与实体参数值为“ 7”的名为“ set_value”的意图匹配。然后,您编写的实现逻辑将接收此数据并进行处理。根据提供的数据,它可以检测到参数(数字)超出范围,并可以动态响应并显示该数字无效的指示,然后要求用户重试。

这是Configure fulfillment上的文档。我的建议是研究这一领域。调用实现时您所做出的响应完全取决于您自己的处理,而不是“静态”响应,否则会在不使用实现的情况下发生。

答案 1 :(得分:0)

让我们假设意图名称是ask_number,它是向用户询问一个从1到10的数字。

可以通过几种方式实现:

  • 如果意图ask_number定义了一些输入上下文 已经,那么您需要再次将该上下文设置为output_context 并回复类似you have entered a smaller/bigger number, please enter again的内容。

  • 如果意图没有任何输入上下文,那么您可以简单地 回复you have entered a smaller/bigger number, please enter again 而且您的意图也应该能够抓住这一点。但这也会引起问题。

  • 我建议的另一个目的是ask_number_followup input_context number_validation_failed中,如果逻辑上 数字较小/较大,请在输出上下文中设置此数字并回复 用户。

希望有帮助。