1

在 Watson Assistant 中,@sys-date系统实体能够检测与时​​间相关的短语,例如“昨天”、“明天”、“上个月”、“下个月”、“去年”、“明年”。

我无法让它识别“最后一个季度”。例如,如果用户问:what were the sales last quarter?,我希望@sys-date包含2018-01-01and 2018-03-31(相当于 2018 年第一季度的时间范围)。

我认识到季度边界可以从任意月份开始,所以也许它可能需要一种方法来定义它。

有没有办法做到这一点?

非常感谢任何指点!

4

1 回答 1

3

因此该功能尚不存在,但您可以轻松地自己创建它。

1. 创建一个名为“季度”的实体。给出“Q1”、“Q2”、“Q3”、“Q4”和相关同义词的值。打开模糊匹配以处理拼写错误。

这是您可以导入的示例:

quarter,Q1,first quarter,quarter 1,quarter one,1st quarter,Q 1,1 quarter
quarter,Q2,second quarter,quarter 2,quarter two,2nd quarter,Q 2,1 quarter
quarter,Q3,third quarter,quarter 3,quarter three,3rd quarter,3 quarter,Q 3
quarter,Q4,last quarter,forth quarter,4th quarter,quarter 4,quarter four,Q 4,4 quarter

2. 创建一个节点来检测@quarter

3. 在节点中单击自定义并选择多响应。

4. 填写要捕获的每个季度。然后为每个季度选择cutomise。

在此处输入图像描述

5. 打开上下文编辑器并创建一个$startDate$endDate变量。设置如下(第一季度)。

$startDate = "<? now().reformatDateTime('Y') + '-01-01' ?>"
$endDate = "<? now().reformatDateTime('Y') + '-03-30' ?>"

以正确的开始/结束日期重复其他季度。

例子

在此处输入图像描述

于 2018-06-30T02:03:10.010 回答