2

我遇到了一个问题,当 Dialogflow 为我的意图解析 @sys.date-time 参数时使用类似“早上 5 点”之类的文本它们会在今天应该在明天返回。

(今天截至目前是 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在这个请求中也确实有一个我怀疑这可能会导致问题。(我宁愿它是一个用户定义的实体,但匹配在模棱两可的上下文中不够可靠,所以我必须自己做)。

有没有人有这方面的经验并且知道我可能会遇到的任何问题?我原以为没有任何其他修饰符的“凌晨 5 点”应该解析为今天的凌晨 5 点

4

1 回答 1

3

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

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

于 2019-04-08T15:08:11.833 回答