我正在尝试训练Dialogflow机器人来识别不同的旅行请求(航班预订,酒店预订等)。我发现,如果未将其指定为12小时格式(使用AM / PM),则无法正确解析时间。
我需要在星期六的08:00至10:00之间从伦敦飞往巴黎的航班被解析为 2019-03-09T20:00:00Z / 2019-03-09T22:00 :00Z
相反,如果我输入08:00 AM和10:00 AM,则可以很好地进行解析。我正在使用默认实体@ sys.date-time。是否有任何方法可以将时间正确解释为24小时制(08:00被识别为8AM而不是8PM)?
答案 0 :(得分:1)
到目前为止,我发现正确解析它的唯一方法是以编程方式向发起请求中添加其他单词(例如“ 8:00 Morning”)。它对我有用,但确实是一个丑陋的错误。
答案 1 :(得分:0)
是的,您可以为该特定的时间变量选择其他系统实体,例如@ sys.time,但还要确保您也已为此目的设置了训练短语。您可以在Dialogflow documentation中了解有关系统实体的更多信息。
示例: @ sys.time会将下午4:30解析为“ 16:30:00”
答案 2 :(得分:0)
这不是一个适当的解决方案,但此信息可能会对您有所帮助。如果插入的时间没有am / pm,dialogflow将以当前时间为参考。例如,如果您在12:00之前问:
我需要星期六08:00至10:00从伦敦飞往巴黎的航班
Dialogflow检测到: 2019-03-09T08:00:00Z / 2019-03-09T10:00:00Z。
但是,如果您在12:00之后询问Dialogflow检测到: 2019-03-09T20:00:00Z / 2019-03-09T22:00:00Z