如何在沃森对话中提取当前日期

Posted

技术标签:

【中文标题】如何在沃森对话中提取当前日期【英文标题】:How to extract current date in watson conversation 【发布时间】:2017-08-28 11:33:30 【问题描述】:

我需要在 Watson Conversation 对话模型中创建一个条件,如下所示:

如果“今天的日期”

我不想询问用户当前日期并保存它。

我尝试了很多方法但都不起作用,我也尝试输出日期(不起作用):


  "context": 
    "currdate": "@sys-date:today"
  ,
  "output": 
    "text": 
      "values": [
        "here it is $currdate"
      ],
      "selection_policy": "sequential"
    
  
 

【问题讨论】:

您的问题令人困惑。但是, @sys-date ?> 输出当前日期 【参考方案1】:

对此我不确定,但是在我尝试过的所有测试中,如果用户今天不输入或其他什么,Watson 不会识别,但是,我相信通过代码我们可以做一些事情。使用 IBM Watson 的人可能会正确回答您。

但是,根据我的基本知识:

尝试在条件中使用 now() 并将日期保存在上下文变量中。

返回是:

yyyy-MM-dd HH:mm:ss

使用您的代码获取上下文变量并仅获取日期...在您可以设置条件之后...

JSON 示例:


  "context": 
    "dateHour": "<? now() ?>"
  ,
  "output": 
    "text": 
      "values": [
        "Now is $dateHour."
      ],
      "selection_policy": "sequential"
    
  

我正在研究有关 Watson 中系统实体的所有文档,如果用户不请求,我看不到任何关于提取数据的内容,但是,我怎么说,可能在 IBM 工作的人会回答,我只是想帮助你我的基本知识。

查看有关此实体@sys-date now()here 的文档。

【讨论】:

【参考方案2】:

她是对的,您需要应用程序代码来获取当前日期和时间并将其作为上下文传递。到目前为止,我们所有的系统实体和努力都围绕着理解用户所说的,所以如果他们今天不说,我们就不会知道它的重要性。 从理论上讲,我认为您可以让您的应用程序在用户句子的末尾通过“今天”或其他内容,然后通过处理管道运行它并为您提供今天的日期,但这可能是一种奇怪的用户体验。

【讨论】:

感谢@Mitch 的认可。 +1【参考方案3】:

如果您使用now(),那么您可以重新格式化它以使其正常工作。

我将要比较的日期存储在 $date 中,在您的情况下为 "date": "04-15-2017",然后使用以下内容:

要查看日期是否在将来使用: now().reformatDateTime('dd-MM-yyyy').before($date)

如果过去: now().reformatDateTime('dd-MM-yyyy').after($date)

您可以阅读 reformatDateTime here。它使用标准的 JAVA 日期字符串格式规则,您可以找到 here。

【讨论】:

有没有办法从 sys-date 中提取月份或年份?

以上是关于如何在沃森对话中提取当前日期的主要内容,如果未能解决你的问题,请参考以下文章

JAVA关于得到当前日期两年后的日期

如何在没有时间的情况下获取当前日期?

我如何能够当前日期输出文件名数据提取 Arcgis Flex

如何在 DatePicker 中设置当前日期?

如何在SQL查询中编写一个日期范围的代码,使其从当前日期向前追溯3周,并从当前日期向前追溯1周。

Objective C / iPhone:如何提取当前区域的实际 unicode 日期格式字符串?