@ sys.date-time实体中的歧义

时间:2018-09-04 15:00:18

标签: dialogflow

我注意到@ sys.date-time实体中存在一些歧义。似乎无法区分“今天”和“今天中午”,因为两者都将解析为格式为“ yyyy-mm-ddT12:00:00-z”的日期(又称为中午)。但是,它们是不同的请求。一个问的是一整天,另一个问的是时间点。如果“全天”请求发送的时间是午夜或其他时间,我希望可以。有没有一种简单的方法可以弄清楚用户是要求一天还是一天?当然,您可以假定存在其他实体类型,它们代表日期或时间,但是我想让用户能够要求使用任何一种,我假设日期时间类型是针对此类型的。谢谢。

编辑:

基于日期时间实体的documentation,响应可以是字符串或对象的格式。经过进一步的实验,我注意到哪个语句导致返回字符串形式有点模棱两可。诸如“ today”,“明天”或“ 3pm”之类的语句以字符串形式生成,但是“ today at 3pm”返回对象形式。当我注意到“今天”和“明天”以及诸如“ 10月1日”之类的日期都返回字符串日期时,我感到有些兴奋,但是当我发现没有日期的时间也返回字符串时,我的希望破灭了。所以,关闭,但不是我想要的。

1 个答案:

答案 0 :(得分:2)

我相信today的设计方式是将中午时间指向一天的中点,这类似于当我们提供经度,经度值并且指针指向中间时的g定位大约的面积。

现在要区分todaytoday at noon,我制作了这个Composite / Enum实体并得到以下结果。在webhook中,您可能需要做更多的分析,因为您会看到结果包含JSON格式的嵌套键值。因此,基于此JSON,您也许可以识别用户说的是today还是today at noon。您可以使用日期格式NPM模块(如果使用Node Client)将这些字符串日期解析为对象。

实体

enter image description here

测试

enter image description here
enter image description here
enter image description here
enter image description here
enter image description here

希望这对您有所帮助。