在下一个机器人响应中传递用户的响应

时间:2018-07-30 08:53:11

标签: nlp artificial-intelligence dialogflow

我希望机器人通过获取之前询问的确切用户句子来发送个性化回复。例如:

  • DialogFlow:您在吃什么?
  • 用户:我正在吃草莓味的华夫饼干,但又饿了。
  • DialogFlow:好吧,但是为什么要吃“我吃的草莓味华夫饼却又饿了。”?

以上只是参考,但我希望用户对下一个机器人问题的回答。

2 个答案:

答案 0 :(得分:2)

1。提取参数

用户> 我在吃waffles with strawberry flavor,但我又饿了。

在参数中标记waffles with strawberry flavor,例如用键food

2。在您的回复中使用它

Dialogflow> 好,但是为什么要吃$ food?


请查阅文档。 Referring to Parameter Values in Responses

如果您以后想在上下文的帮助下再次使用该参数,请参考此文档页面:Extracting Parameter Values from Contexts

答案 1 :(得分:2)

这取决于您想要多少用户的响应。

如果您只需要一部分内容并且可以处理一些不需要处理的文本,则可以将@sys.any中的parametersystem entity type一起设置。

您可以直接在使用Intent编辑器编辑的Response中使用这些参数。

因此,您的Intent可能看起来像这样:

enter image description here

如果您实际上想要整个短语,则可能会想将整个训练短语设为@sys.any参数,但这会产生不同的结果。

在这些情况下,您可能需要使用fulfillment webhook并为您的Fallback Intent启用履行功能,以捕获其他地方未捕获的任何内容。您没有指明可能使用的库,但是如果您正在查看发送给您的JSON,则整个文本将位于queryResult.queryText中。如果您使用的是dialogflow-fillfillment库,则可以使用agent.query()方法。