我认为没有太多要补充的问题。基本上,我有一系列用户需要回答的问题,但是这些问题是开放式的,因此用户输入几乎可以是任何东西。一旦用户回答了一个问题,我便希望系统简单地询问下一个问题,而不管他们说了什么(除非他们说出诸如“帮助”或“我听不懂”之类的话,我可以处理)。
我知道我可以包含上下文,但是在没有为下一个意图提供足够的用户输入的情况下,似乎没有一种方法可以使它触发下一个问题(即使输出和输入上下文匹配时)。
我有什么想念的吗?还是我真的需要从各个方面提供数十个潜在的用户输入,并希望机器学习组件能够适当地进行推断?
对于开放式响应,通过“后备意图”轻松解决此问题。您可以创建多个回退意图-但是每个回退意图都需要具有不同的输入上下文,以表明在什么条件下将触发该上下文。
需要明确的是-后备Intent与常规Intent略有不同,并且创建它们的方式也略有不同。在最简单的配置中,仅当用户输入与任何其他Intent的输入不匹配时才触发它们。Dialogflow提供了一个“默认后备意图”,如果没有其他任何意图匹配,它将触发该事件。您需要设置后备意图的输入上下文,以指示何时应使用该后备意图来处理它,然后还设置输出上下文,以指示您所问的问题,因此,下一个预期的后备意图将是什么。
要创建后备意图,请不要单击“创建意图”按钮,而是单击它旁边的三个点。
在出现的菜单中,单击“创建后备意图”
显示的屏幕与常规的Intent编辑屏幕非常相似,但是它专门用于Fallback Intent。您将执行有关添加名称和(未显示)显示答复(即-您要问的下一个问题)的常规操作。
由于顶部的消息,您可以说这是一个后备意图。如前所述,然后应输入计划用于此的输入和输出上下文。
您会注意到有一个“培训短语”部分。就您而言-您将留空。这些实际上是负面训练短语- 这些短语与其他Intent(即使它们应该匹配)也不匹配,并且始终由Fallback Intent处理。由于您不打算屏蔽可能与其他地方匹配的短语,因此请将其留空。