我正在制作一个投诉系统,在该系统中,在问了一些连续问题之后,我要求用户输入他的投诉。现在,用户可以输入任何类型的句子,无论有无语法错误。我想存储该投诉语句,无论语法错误如何。我在这里面临2个问题:
问题 (1)当语法错误的句子出现时,它转到回退意图,而不是我随意图附加的Webhook。 (2)如果该投诉句子中包含一些其他意图的训练词(例如WelcomeIntent的“ Hello”),那么无论我为确保它保留在该意图中而设置的上下文值,它都会转到该意图。
到目前为止我尝试过的事情 (1)我尝试了跟进意图,并将所有意图保持在父母的水平。没有观察到这种差异。 (2)我删除了默认的“备用”意图,并为投诉意图创建了一个自定义“备用”意图,并为其附加了Webhook。因此,现在,当用户在投诉意图中编写了错误的语法时,它将转到与其关联的“后备”并在那里激活Webhook。但这不是一个好的解决方案,因为问题2仍然存在。
答案 0 :(得分:0)
您在正确的轨道上。为了捕获非结构化的响应,您将需要依靠后备意图。但是,要实现所需的功能,您将需要利用Contexts。
Dialogflow将排除具有与当前活动上下文不同的传入上下文的Intent。没有传入上下文的意图将始终进行评估,但只有在具有有效活动传入上下文的任何意图之后才进行评估。
我假设您正在使用成就感来捕获对话中的所有信息。我会这样构造您的Intent:
question-context
仅供参考),并确保您在每个传出上下文中(或继续设置)此上下文的寿命(或保持重置)在针对他们的实现中)。complaint-context
)。complaint-context
作为传入上下文创建另一个后备意图。为此设置实现,它将发送捕获的文本。