0

我创建了一个对话框来检查一些 Intent 和实体以触发响应,我还添加了插槽来捕获丢失的实体。但是当用户输入槽值时,它会改变意图,从而导致最终响应发生变化。我也尝试添加上下文变量并在响应后将其删除,但它在响应之前被删除,并且我得到空的上下文变量作为响应。就像我在 Intent 中添加了一个用于捕获缺失颜色值的插槽,比如说“look”,颜色值就像“I,G,H”,还有一个 Intent,比如说 Goodbye,它也针对“G 或 H”等值进行了训练. 因此,当用户用“G 或 H”填充槽值时,它还会将先前的“寻找”意图覆盖为“再见”,并且我的最终响应值会发生变化。

4

1 回答 1

2

当前意图基于最终用户的最新话语。因此,当有人对某个插槽进行后续操作时,意图会发生变化,这是有意的。

一个常见的混淆是这会影响对话树。因为当您在“试用”中对其进行测试时,您会看到意图发生了变化。除非您的对话树在插槽之后明确查找它,否则它不会产生任何影响。

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

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

于 2018-05-29T13:36:26.587 回答