考虑用户想订餐的场景:
用户:我想点1个汉堡1个橙汁和一杯咖啡
Bot:你想要一个蔬菜汉堡或一个非蔬菜吗?用户:蔬菜汉堡
用户:抱歉,我希望非蔬菜
Bot :(一般来说,如果不必从头开始谈话,我们将如何处理这种改变?)
在这个我已经实施过类似公交车票预订的部分,这个机器人似乎记得以前的veg-burger订单或者一些最终落在默认意图或后备意图上的适当的选择。但是我想知道是否有办法让机器人知道用户已经“改变了主意”(希望有可能使用或操纵上下文)并且现在想要一个非蔬菜汉堡?
我们可以制定一个后续意图来识别像对不起这样的单词,然后是实体,例如类型,即非蔬菜。什么是最佳做法?因为从UX的角度来看,从头开始对话似乎不是一个好主意。
答案 0 :(得分:1)
美好的一天TGW,
您有2个选项,要么将意图分成搜索意图和预订意图,例如search.salad和buy.salad意图或者您在实际发送给Fulfillment之前有一个确认步骤。
如果您选择将意图分成2,那么类似的流程应该适合您:
NB:确保新创建的意图具有在In-context中以* -followup结尾的意图,同样的意图位于search.salad意图的Out-context中。 Dialogflow将根据用户输入的内容自动更新参数。
第二个选项与此类似,您可以添加确认步骤作为search.salad意图的后续内容,并仅对确认意图启用履行。