我有一组可以触发的意图。
对于每种意图,我都有一套后续意图,例如
light-on-followup
)light-on-followup
)我想确保如果用户触发了turn light on
的意图,并且我要问他which light source do you want to turn on?
他可以触发select light source
还是说的话与后备意图被触发。
我面临的问题:如果用户在turn light off
对话框中说turn light on
,则不会触发回退意图,而是由用户触发更高阶的意图turn light off
。我想防止这种情况发生。有办法吗?
我将输入上下文用于回退意图,但显然在较高阶意图中的高置信度会导致Dialogflow触发较高阶意图。
答案 0 :(得分:2)
首先-您确定要吗?
想象一下以下情况:
User: Turn the light on
Agent: Which light do you want to turn on?
User: Oh, no, I meant turn it off
这不是可能发生的异常对话。如果用户改变了主意,或者意识到自己的意思是别的,那么他们应该能够做到。 VUI的良好设计原则是,用户可以在任何时间,任何方向进行对话,并且您应尽可能让他们这样做。
Dialogflow通过尝试查找在整个上下文中最有意义的匹配而有意地以这种方式工作,而不是默认情况下不强迫用户沿狭窄的路径前进。
但是,如果您真的想做自己想做的事情,则可以尝试以下操作:
root
)root
的生存期为0,这意味着它们都不匹配。root
上下文,以便仅可以识别根级别的意图。