如何让沃森的谈话认出时间?

Say*_*chi 1 ibm-watson watson-conversation

在这种情况下,我试图看看是否有可能或者是否有办法让沃森根据时间识别这段时间.

  • 如果conversation_start夜间沃森说:晚上好!
  • 如果conversation_startBy By morning time Watson说:早上好!
  • 如果conversation_start按下午时间沃森说:下午好!

实际上我创建了一个权利,@time如果用户键入晚安,实体保存,Watson完全响应用户键入的内容.

我的回应条件是:

 @time, how are you?
Run Code Online (Sandbox Code Playgroud)

例:

  • 网友:晚安!
  • 沃森:晚安!,你好吗?

看到它是相同的答案,因为我创建了一个具有这些时期的实体

检查图片:

在此输入图像描述

我想知道如果有可能自动执行或者我必须开发一些代码来执行此操作,并且如果可能的话,一个示例.

Dud*_*udi 5

这里指定你可以使用now()

看到

{
  "conditions": "now().before('12:00:00')",
  "output": {
    "text": {
      "values": [ "Good morning!" ]
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

根据@MichalBida评论,请注意now()不记录最终用户频道的时间,而是记录会话服务的时间.因此,更好的方法是提供一个上下文变量,其中包含最终用户时区的时间并应用它.before('12:00:00')

  • 这将使用运行会话服务的服务器的时区.如果您想要使用用户实际所在的时区,您需要找到客户端的时间(例如,网页集成转换服务)并将其提供给转发.通过`context`变量服务(`"evening":true`).. (2认同)