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

时间:2017-04-03 14:31:10

标签: json ibm-cloud ibm-watson watson-conversation

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

如果“今天的日期”< 04-15-2017做点什么。 否则做别的事。

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

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

...
[main] INFO git.lfs.migrate.Main -   processed: 230934/230934
[main] INFO git.lfs.migrate.Main -   Converting object with dependencies in single thread...
[main] INFO git.lfs.migrate.Main -   processed: 1/231174
[main] INFO git.lfs.migrate.Main -   processed: 229/231174
Exception in thread "main" org.eclipse.jgit.errors.CorruptObjectException: duplicate entry names
    at org.eclipse.jgit.lib.ObjectChecker.report(ObjectChecker.java:728)
    at org.eclipse.jgit.lib.ObjectChecker.checkTree(ObjectChecker.java:658)
    at org.eclipse.jgit.lib.ObjectChecker.checkTree(ObjectChecker.java:594)
    at git.lfs.migrate.GitConverter$4.convert(GitConverter.java:231)
    at git.lfs.migrate.Main.processSingleThread(Main.java:208)
    at git.lfs.migrate.Main.processRepository(Main.java:169)
    at git.lfs.migrate.Main.main(Main.java:84)

3 个答案:

答案 0 :(得分:6)

我不确定这一点,但是我已经尝试了所有测试,如果用户今天不打字或什么,Watson不认识,但是,我相信代码我们可以做点什么。可能有人与IBM Watson合作将正确回答您。

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

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

回报是:

QList<QCameraInfo> cameras = QCameraInfo::availableCameras();
foreach (const QCameraInfo &cameraInfo, cameras)
{
    if (cameraInfo.deviceName() == "mycamera")
        camera = new QCamera(cameraInfo, this);
}

使用您的代码获取上下文变量,并在您创建条件后获取日期......

JSON示例:

yyyy-MM-dd HH:mm:ss

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

查看有关此权利的文档{ "context": { "dateHour": "<? now() ?>" }, "output": { "text": { "values": [ "Now is $dateHour." ], "selection_policy": "sequential" } } } here

答案 1 :(得分:3)

她是对的,您需要应用程序代码来获取当前日期和时间并将其作为上下文传递。到目前为止,我们所有的系统实体和工作都在了解用户所说的内容,所以如果他们今天不说,我们就不会知道它的重要性。 从理论上讲,我认为你可以让你的应用程序在用户的句子结尾处通过'今天'或者其他东西,并通过处理管道运行它并给你今天的日期,但可能是一个奇怪的用户体验。

答案 2 :(得分:2)

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

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

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

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

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