有没有办法在DialogFlow中离题?

时间:2018-06-26 07:22:18

标签: chatbot dialogflow

我已经在IBM Watson中创建了一个使用Digress的聊天机器人,但是我试图找到一种在没有成功的对话框中做到这一点的方法。

示例:

Bot:欢迎 你:我要一个大比萨。 Bot:什么样的浇头? 您:能否请您列出不同的浇头? Bot:我们有火腿,蘑菇等。(偏离其他意图) Bot:什么样的浇头? (返回原始意图) 你:火腿 机器人:好的。

1 个答案:

答案 0 :(得分:0)

使用Dialogflow的contexts实现起来非常简单。下面列出的意图将对此流程进行建模。

Pizza意向将上下文“要求最高”应用于对话。这意味着接下来可以匹配以下两个意图Select ToppingAvailable Toppings中的任何一个。

用户可能会提到特定的顶部,这将导致Select Topping的意图被匹配。否则,他们可能会询问可用的浇头,这将导致Available Toppings被匹配。

如果Available Toppings被匹配,则asked-topping上下文将在回答用户的问题后仍然适用,因此Select Topping的意图仍然是可匹配的。

您可以使用lifespan的意图来调整座席不再处于asked-topping状态之前可以问多少其他问题。通过在asked-topping意向匹配后将Select Topping的寿命设置为0,我们可以防止代理商在订购比萨饼之后选择其他浇头。

Intent: Pizza
Example training phrase: "I want a large pizza"
Response: "what kind of topping?"
Input contexts: <none>
Output contexts: asked-topping (lifespan 2)

Intent: Select Topping
Example training phrase: "Ham"
Response: "Ok"
Input contexts: asked-topping
Output contexts: asked-topping (lifespan 0)

Intent: Available Toppings
Example training phrase: "can you please list the different toppings?"
Response: "We have ham, mushroom etc. What kind of topping?"
Input contexts: asked-topping
Output contexts: <none>