如何停止 dialogflow 始终返回应解决为明天的今天的日期

How to stop dialogflow always returning dates that should resolve to today as tomorrow

我遇到一个问题,当 Dialogflow 为我的意图解析 @sys.date-time 参数时,文本类似于“5am”,它们返回为 明天,而他们应该今天

(今天是 2019-04-08,而不是 2019-04-09 已解决)

{
"responseId":"48bcf62d-dc2d-4f3c-befb-af8565fe01cb",
"queryResult":
   {
      "queryText":"today at 5a.m.",
      "speechRecognitionConfidence":0.97964007,
      "parameters": {
           "duration":"",
           "date":"2019-04-09T05:00:00+02:00" 
       },
...

"outputContexts":[
{
 ...
 "name":"projects/xxxxx/agent/sessions/xxxxxx/contexts/xxxx",
 "parameters":{
   "duration":"",
   "date":"2019-04-09T05:00:00+02:00",
   "date.original":"5 a.m.",
   "duration.original":""
   ...
}},

我在这个请求中也有一个 @sys.any 我怀疑这可能会导致问题。 (我宁愿它是一个用户定义的实体,但匹配在模棱两可的上下文中不够可靠,所以我必须自己做)。

有没有人有这方面的经验并且知道我可能会陷入的陷阱?我本以为没有任何其他修饰符的“5am”应该解析为今天5am.

根据@Prisoner 在评论中的推理,我认为 Dialogflow 的假设是公平的。当听到没有日期的时间时,它似乎假定它是在未来?

为了在我的应用程序中解决这个问题,因为我知道日期总是过去的,我只是将未来的日期时间固定为今天的日期,并在我的服务器端实现中使用那个时间。