Dialogflow中的通用训练短语

时间:2018-03-02 18:21:25

标签: actions-on-google dialogflow

我正在尝试创建一个模拟面试操作,以特定顺序询问一组特定问题,而不管用户在回答每个问题时所说的内容。如何设置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..."

2 个答案:

答案 0 :(得分:1)

使用Dialogflow,您可以通过获取用户话语并将其标记为@sys.any来创建接受任何输入的intent。

然后您可以执行以下操作之一:

  • 使用Dialogflow上下文使下一步依赖于第一步(如果您想在Dialogflow中执行所有,这很好)
  • 使用app.data对象跟踪您的webhook中的会话状态。

答案 1 :(得分:0)

有一些很好的方法可以处理你想要的东西,最好的解决方案将取决于你的其他需求。

如果您正在使用履行webhook,则可以将其作为Fallback Intent的一部分来处理。确保为Fallback Intent启用了使用履行的复选框,并且您将收到用户说不符合其他结构的所有内容。您需要记录您已被调用的次数,并且可以将其作为参数存储在context中,作为app.data会话存储对象的一部分,或者作为app.userStore跨会话存储对象的一部分。您的webhook将返回下一个问题作为回复。

如果您想避免履行并通过Dialogflow处理它,您可以使用相同的一般想法,但是您需要跟踪每次都要处理的问题。你可以通过创建多个后备意图来实现这一点,每个意图都有Incoming Context一个上下文,以你希望用户回答哪个问题(例如" question_1")和{ {3}}以回复中的问题命名(例如," question_2")。