2017-08-29 97 views
0

当前我正在使用Bot框架和节点来处理我的聊天机器人,并将API AI用作我的自然语言处理。NLP时区问题

我的问题是,比方说用户回复“昨天”或“今天”或“明天”,它是基于服务器时间。现在,如果一个澳大利亚人今天早上6点说今天上午他们的时间仍然是前一天,并且这给出了错误的日期,那就会出错。

我可以提供关于如何解决这个时区问题的建议吗?

+0

所以你。问题基本上是[如何获得客户当地时间](https:// sta ckoverflow.com/questions/10659523/how-to-get-the-exact-local-time-of-client)? – lenz

+0

不,因为日期是API AI中的实体,所以当我检索它时,如何确保实体是“昨天”,“今天”或“明天”日期?例如,我告诉chatbot“今天早上6点...”服务器仍然会从昨天检索日期,当我从NodeJS检索实体时,它仍然是昨天的日期。 – coffeeman

+0

另外,我需要检查实体是否存在之前我检索日期,因此,如果实体存在,我只能检索服务器响应的日期基础 – coffeeman

回答

1

每个API.AI代理都有一个默认的时区设置,可以在您的代理设置中更改(documentation here),该设置将用于确定用户日期/时间查询的含义,如“明天”和“昨天”和“下午3点“:

enter image description here

如果您使用API.AI's /query API你可以请求JSON发送timezone参数来表示要发送代表的请求的用户是在什么时区

+0

我可以知道你在Node JS中如何做到这一点?我能举一些例子吗?谢谢 – coffeeman

+0

你在找什么样的例子? – matthewayne

+0

例如,用户在chatbot中输入“yesterday”或“today”或“tomorrow”,我将如何发送时区参数以请求JSON查找用户时区? – coffeeman