添加插槽改变意图

时间:2018-05-29 12:16:00

标签: ibm-watson watson watson-conversation watson-dialog

我创建了一个对话框,检查一些Intent和实体来触发响应,我还添加了一些插槽来捕获丢失的实体。但是当用户输入插槽值时,它会更改意图,从而导致最终响应发生变化。我已经尝试添加上下文变量并在响应后删除它但在响应之前它被删除并且我在响应中获得空的上下文变量。 就像我在Intent中添加了一个用于捕获缺失颜色值的插槽,说'看'并且颜色值类似于'I,G,H',并且还有一个Intent让我们说Goodbye,它也被训练为像'G或H'这样的值。因此,当用户使用“G或H”填充插槽值时,它还会覆盖先前“查找”到“再见”的意图,并且我的最终响应值会发生变化。处理这种流程的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

目前的意图是基于最终用户的最新话语。因此,当有人输入一个插槽后续操作时,意图就会改变,这是预期的。

常见的混淆是这会影响对话树。因为当你在&#34中测试它时,试试看"你看到意图的变化。除非您的对话树在插槽后明确地查找它,否则它不会产生任何影响。

如果确实需要它保持不变,那么您可以在上下文中发回intent对象。这将禁止Watson Assistant尝试猜测意图。

此处存在的危险是您需要注意,您发回的内容可能无法反映用户输入的内容。例如,他们可能会问一些必须触发插槽处理程序的东西。这样做会禁用该功能。