场景:
问题:
这是@ sys-date的默认行为吗?
对于我的用例,即使参考当前月份,用户也只使用月份名称是很自然的。
可以对此进行修改吗?还是必须单独处理?
答案 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
我知道这个问题提出已经快两年了,但可能会帮助将来有需要的人