1

我试图从 $time 和 $time.original 的意图中获取时间值。我需要 $time 值对其进行一些处理,并且我需要 $time.original 将输出显示给用户。

例如,如果用户说“你明天营业吗?”,我想回答“是的,我们明天营业吗?” 但在后端,我需要日期“明天”的值来进行处理。

任何帮助,将不胜感激。

4

2 回答 2

3

首先,@sys.date如果你想捕捉实体的价值,你需要实体,tomorrow而不是@sys.time

现在问题来了,直接提取参数值只会给我们解析的日期值,而不是原始值。
但是如果我们设置一个输出上下文,那么我们可以从该上下文中提取解析值和原始值。

这是我们在 webhook 上获得的请求,我们可以通过解析我们在意图中设置的输出上下文来获取日期和 date.original:

{"responseId":"###","queryResult":{"queryText":"你明天开门吗","parameters":{"date":"2018-12-28T12:00:00+05:30 "},"allRequiredParamsPresent":true,"fulfillmentText":"","fulfillmentMessages":[{"text":{"text":[""]}}],"outputContexts":[{"name":"项目/###/agent/sessions/###/contexts/time","lifespanCount":5,"parameters":{ "date":"2018-12-28T12:00:00+05:30", "date.original":"tomorrow" }}],"intent":{"name":"projects/###/agent/intents/###","displayName":"time-intent"}," intentDetectionConfidence":1,"languageCode":"zh"}}

时间意图

于 2018-12-26T18:55:51.120 回答
0

我还没有尝试过它,但我猜你可以用它解析它系统实体Dialogflow系统实体 ,因为它们显示为@sys.date,并且示例与你需要的匹配。我想它会处理它到日期

于 2018-12-26T18:04:16.647 回答