我正在尝试创建一个模拟面试操作,以特定顺序询问一组特定问题,而不管用户在回答每个问题时所说的内容。如何设置Dialogflow中的意图以接受用户的任何短语以触发下一个问题作为响应?
对话框路径:
User: "I want to practice for an interview"
Google: "Question 1: tell me about yourself"
User: [says literally anything]
Google: "Great job. Question 2..."
User: [says literally anything]
Google: "Okay! Question 3..."
答案 0 :(得分:1)
使用Dialogflow,您可以通过获取用户话语并将其标记为@sys.any
来创建接受任何输入的intent。
然后您可以执行以下操作之一:
app.data
对象跟踪您的webhook中的会话状态。答案 1 :(得分:0)
有一些很好的方法可以处理你想要的东西,最好的解决方案将取决于你的其他需求。
如果您正在使用履行webhook,则可以将其作为Fallback Intent的一部分来处理。确保为Fallback Intent启用了使用履行的复选框,并且您将收到用户说不符合其他结构的所有内容。您需要记录您已被调用的次数,并且可以将其作为参数存储在context中,作为app.data
会话存储对象的一部分,或者作为app.userStore
跨会话存储对象的一部分。您的webhook将返回下一个问题作为回复。
如果您想避免履行并通过Dialogflow处理它,您可以使用相同的一般想法,但是您需要跟踪每次都要处理的问题。你可以通过创建多个后备意图来实现这一点,每个意图都有Incoming Context一个上下文,以你希望用户回答哪个问题(例如" question_1")和{ {3}}以回复中的问题命名(例如," question_2")。