如何从沃森对话中排除星期日
How exclude sunday from watson conversation
我是编码和 Watson Conversation 方面的新手,我正在尝试制作一个聊天机器人,它可以安排周一至周六的约会。我使用了@sys-date 实体并且它工作正常,但我不知道如何排除 sunday.For 示例:
watson:最适合你的约会对象是什么?
用户:周日
watson: 这一天本店休息
我在工作区试过:(条件)if: action=='sunday' 像这样:workspace
在 nodejs 中这样编码
// Send the input to the conversation service
conversation.message(payload, function (err, data) {
if (err) {
return res.status(err.code || 500).json(err)
}else if(data.output.action==='sunday'){
var date = new Date();
if(!(date.getDay() % 6)){
return res.json(payload,data.output.text["On this day the establishment is closed"]);
}}else{
return res.json(updateMessage(payload, data));
}});});
它仍然给我星期天的日期(例如 23/04/2017)。我知道一切都错了,但我真的试过了……有人能帮帮我吗?如果你能把代码帮助我,我将不胜感激..
在这种情况下,是的...您可以使用参数 data
向 Watson 和用户发送消息。而且,您不能从系统实体中排除 "Sunday"。此实体仅用于帮助我们解决特殊情况。
在你的情况下,使用:
data.output.text[0] = "On this day the establishment is closed";
因为 data.output.text
将 Watson 消息发送到 Conversation。
但是,一个好的 聊天机器人 的最佳实践是创建 Intents
和 Entities
以传递 情报 为您的机器人,并在您的聊天机器人中保留尽可能多的智能。而您的应用只会检查。
例如,创建一个实体@days,其值为星期日、星期一等
- 创建一个
intent
并举例说明如何提问 "schedule appointments"
- 创建一个
Entitie
@days
值星期日、星期一等
- 使用 Intent 和 Entitie 条件(#bestDay 和 @days)在您的对话框中创建一个流程。
并且在您的 Advance JSON 中,添加一个具有日期值的上下文变量,如下所示:
{
"context": {
"day": "<? @days ?>"
},
"output": {
"text": {
"values": [
"Sorry. On $day the establishment is closed"
],
"selection_policy": "sequential"
}
}
}
查看流量:
检查流程是否正常:
如果不是星期天:
下载工作区,为您提供更多帮助here。
我是编码和 Watson Conversation 方面的新手,我正在尝试制作一个聊天机器人,它可以安排周一至周六的约会。我使用了@sys-date 实体并且它工作正常,但我不知道如何排除 sunday.For 示例:
watson:最适合你的约会对象是什么?
用户:周日
watson: 这一天本店休息
我在工作区试过:(条件)if: action=='sunday' 像这样:workspace
在 nodejs 中这样编码
// Send the input to the conversation service
conversation.message(payload, function (err, data) {
if (err) {
return res.status(err.code || 500).json(err)
}else if(data.output.action==='sunday'){
var date = new Date();
if(!(date.getDay() % 6)){
return res.json(payload,data.output.text["On this day the establishment is closed"]);
}}else{
return res.json(updateMessage(payload, data));
}});});
它仍然给我星期天的日期(例如 23/04/2017)。我知道一切都错了,但我真的试过了……有人能帮帮我吗?如果你能把代码帮助我,我将不胜感激..
在这种情况下,是的...您可以使用参数 data
向 Watson 和用户发送消息。而且,您不能从系统实体中排除 "Sunday"。此实体仅用于帮助我们解决特殊情况。
在你的情况下,使用:
data.output.text[0] = "On this day the establishment is closed";
因为 data.output.text
将 Watson 消息发送到 Conversation。
但是,一个好的 聊天机器人 的最佳实践是创建 Intents
和 Entities
以传递 情报 为您的机器人,并在您的聊天机器人中保留尽可能多的智能。而您的应用只会检查。
例如,创建一个实体@days,其值为星期日、星期一等
- 创建一个
intent
并举例说明如何提问 "schedule appointments" - 创建一个
Entitie
@days
值星期日、星期一等 - 使用 Intent 和 Entitie 条件(#bestDay 和 @days)在您的对话框中创建一个流程。
并且在您的 Advance JSON 中,添加一个具有日期值的上下文变量,如下所示:
{
"context": {
"day": "<? @days ?>"
},
"output": {
"text": {
"values": [
"Sorry. On $day the establishment is closed"
],
"selection_policy": "sequential"
}
}
}
查看流量:
检查流程是否正常:
如果不是星期天:
下载工作区,为您提供更多帮助here。