2017-05-05 45 views
0

我想用api.ai做这样的事情。我正在做一个电报机器人。简单的聊天机器人与单个上下文匹配api.ai?

第一个问题:告诉我一个笑话?

博特:告知笑话(从文本响应拾取它,我指定)

第二输入从用户:一些更多。机器人:它应该从相同的回答列表中告诉另一个笑话。

我可以做的一件事是包括更多作为用户输入是笑话意图,它会选择一个响应。

但我不能这样做,因为那么即使没有问第一个问题,如果我给“more”作为输入,它会从列表中选择一个响应。基本上不会选择基于上下文的响应。

任何帮助onn我应该使用api.ai来实现这样的结构。

+0

Matt在下面给出了很好的答案......如果你愿意,我写了一篇文章来展示这个特定的用例(对于孩子们来说是笑话:) - https://medium.com/google-developers/build-your-first - 智能机器人为谷歌首页-18949f74822c –

回答

1

因此,第一个用户问“告诉我一个笑话?”的意图是什么?设置一个传出的上下文 - '笑话'。

告知更多笑话的后续意图对于传入的上下文有'笑话',并且,如果要链接可重复请求,则也应将传出的上下文设置为'笑话'。

如果用户在“笑话”环境之外输入的信息如“告诉我更多”仍然触发后续意图,可以训练您的机器人识别差异,或在后备意图中创建一个明确的“告诉我更多”示例在笑话背景之外。

+0

它的工作原理,但我需要对同一组文本响应有两个意图。如果尝试使输入和输出上下文对于单个意图相同,那么我将无法输入该意图。因为它需要一个上下文作为输入。 –

+0

您只需要一个“我已经在讲笑话”的上下文第一个意图输出上下文第二个意图输入和输出上下文 –