Dialogflow es 如何使用错误的语法保存用户输入,而不使用回退意图?

Dialogflow es 如何使用错误的语法保存用户输入,而不使用回退意图?,dialogflow-es,dialogflow-es-fulfillment,Dialogflow Es,Dialogflow Es Fulfillment,我正在制作一个投诉系统,在问了一些连续的问题后,我要求用户输入他的投诉。现在用户可以输入任何类型的句子,有/没有语法错误。我想把那个抱怨的句子存储起来,不管它的语法有多糟糕。我在这里面临两个问题: 问题 (1) 当一个语法错误的句子出现时,它会转到回退意图,而不是我附带的Webhook。 (2) 如果此投诉语句包含一些其他意图的训练词(例如WelcomeIntent的“Hello”),则无论我设置的上下文值如何,它都会指向该意图,以确保它保持在该意图中 我到目前为止所做的尝试 (1) 我试着做出

我正在制作一个投诉系统,在问了一些连续的问题后,我要求用户输入他的投诉。现在用户可以输入任何类型的句子,有/没有语法错误。我想把那个抱怨的句子存储起来,不管它的语法有多糟糕。我在这里面临两个问题:

问题 (1) 当一个语法错误的句子出现时,它会转到回退意图,而不是我附带的Webhook。 (2) 如果此投诉语句包含一些其他意图的训练词(例如WelcomeIntent的“Hello”),则无论我设置的上下文值如何,它都会指向该意图,以确保它保持在该意图中

我到目前为止所做的尝试 (1) 我试着做出后续打算,并将所有打算保持在家长层面。没有观察到这种差异。
(2) 我删除了默认的回退意图,为投诉意图创建了自定义的回退意图,并附加了一个Webhook。因此,现在当用户在投诉意图中编写错误语法时,它会转到相关的回退并在那里激活Webhook。但这并不是一个好的解决方案,因为问题2仍然存在。

你走在正确的轨道上。为了捕获非结构化响应,您需要依赖于回退意图。然而,要实现你想要的,你需要杠杆作用

Dialogflow将排除具有不同于当前活动上下文的传入上下文的意图。将始终对没有传入上下文的意图进行求值,但仅在具有有效活动传入上下文的任何意图之后进行求值

我假设您正在使用实现来捕获对话中的所有信息。我会这样组织你的意图:

  • 在没有设置任何上下文的情况下具有回退意图(类似于默认设置)。正如你所愿,你可能会也可能不会让它实现
  • 让所有“顺序”问题共享相同的传入上下文(我们将其称为
    问题上下文
    ,仅供参考),并确保您在每个传出上下文(或在其履行过程中)中设置(并不断重置)此上下文的寿命
  • 当您询问他们的投诉时,请清除此上下文(将其寿命设置为0)并设置不同的上下文(我们称之为
    投诉上下文
  • 使用
    投诉上下文
    作为传入上下文,创建另一个回退意图。为此设置实现,它将发送捕获的文本