Watson Assistant @ sys-date返回下个月

时间:2018-09-12 06:28:50

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

场景:

  • 在当月的助手中使用@ sys-date实体时,将返回下一年同一月的日期范围:

    enter image description here

  • 但是,当明确提到“此{MONTH}” 时,它可以正常工作。

    enter image description here

问题:

  • 这是@ sys-date的默认行为吗?
    对于我的用例,即使参考当前月份,用户也只使用月份名称是很自然的。

  • 可以对此进行修改吗?还是必须单独处理?

2 个答案:

答案 0 :(得分:1)

例如,当与来自不同地区或国家的人们交谈时,我发现很难找到不合格的月份和日期名称的正确含义。现在将其教给计算机...

documentation for Watson Assistant has some details on @sys-date and @sys-time system entities。对于其中一个示例,它们具有以下脚注:

  

返回下一个匹配日期。如果该日期已经过今年,则返回下一年的日期。

就您而言,9月已经过去了。如果有人说“我计划在九月份进行世界巡游”,那意味着今年或明年九月?我的建议是check the detected year and compare it with the current year。如果它们不同,则添加一个对话框节点以说明是今年还是明年。这与我和朋友交谈时的个人经历类似,但我不清楚。

答案 1 :(得分:0)

我可以使用.alternative date解决此问题。 在新的sys-date中,有一个替代属性,该属性基本上是:如果从用户传递的日期中存在歧义,则系统返回下一个匹配日期,但将最后一个匹配日期存储在替代属性中。

@ sys-date.alternatives “例如,如果今天的日期是2019年3月10日,而用户输入的日期是3月1日,则将明年3月1日的日期保存为@ sys-date(2020-03-01)。但是,用户可能拥有表示2019年3月1日。系统还会将今年的日期(2019-03-01)保存为备用日期值。再例如,如果今天是星期二,并且用户输入此星期二或下星期二,则@ sys-date设置为下周二的日期,并且不会创建其他日期。”链接:https://cloud.ibm.com/docs/assistant?topic=assistant-new-system-entities#new-system-entities-sys-date-time

我知道这个问题提出已经快两年了,但可能会帮助将来有需要的人