如何让 Watson 根据用户输入识别两个不同的日期?

How can I get Watson to recognize two different dates upon user input?

如果用户问下面这句话:

出于某种原因,Watson 对 $checkin 和 $checkout 变量都使用第一个日期,即使它检测到第二个日期。

您可以参考 "dialog node" 屏幕截图以了解节点的设置方式。

如何让 Watson 识别第一个日期是入住日期,第二个日期是退房日期。如果检测到第二个日期,我可以在使用第一个日期后告诉 Watson 使用它来填补下一个空位吗?

我发现了一些关于@sys-date range_link 实体的信息。但是文档并不详细

这很容易做到,但是您需要注意一些问题。

插槽允许您在读取变量时定义变量。例如。

将生成:


问题是您假设人们会按照您需要信息的相同顺序询问。如果这没有发生,那么这将失败。

您可以通过塑造用户提出问题的方式来缓解这种情况。例如:

"Please let me know where you are leaving and going to"

此人更有可能首先回复退出日期。


测试版

这可能会发生变化,并且不会像您预期的那样完全起作用。您可以在选项中启用 beta @sys-date。所以我不建议在最终确定之前依赖它。

您首先需要检查 range_link。这将告诉您它是否检测到两个日期相互关联。

然后您可以进行以下操作:

From Date: <? entities['sys-date'].filter("d", "d.role.type == 'date_from'")[0]?.value ?>
To Date: <? entities['sys-date'].filter("d", "d.role.type == 'date_to'")[0]?.value ?>

它的作用是找到具有 date_from 和 returns 值的确切记录。 date_to.

同样

你最终得到这样的结果。