如何使用 ibm watson 在聊天机器人中检测纯文本或自由格式
how to detect plain text or free form in chatbot using ibm watson
当用户说“获取 ID 为 KMN849SDA 的票证”时,我如何使用 IBM Watson 检测聊天机器人中的纯文本或自由格式文本,如果有,机器人将识别“KMN849SDA”是票证 ID是一种可能的方法,如果不是,我如何用编码处理它
在这种情况下,如果您的 ID 有一些默认值,例如:每个 ID 都以 KMN 开头,您可以使用一些 REGEX
来获取 ID 并保存在您的 context
变量中Watson 对话服务。
例如,我的正则表达式现在尝试查找 11 个数字:
input.text.find('^[^\d]*[\d]{11}[^\d]*$')
为了将此值保存在一个 context
变量中,您可以使用:
"context": {
"ticketID": "<?input.text.extract('^[^\d]*[\d]{11}[^\d]*$',0)?>"
}
要在您的应用程序中使用,您需要访问 return 从对话消息调用方法,例如:
//add inside your call, like:
conversation.message(payload, function (err, data) {
console.log(data.context.ticketID); //your ticketID here
if (err) {
return res.status(err.code || 500).json(err);
}
updateMessage(payload, data, req, res);
});
});
并且为了在您的应用程序中使用以验证此协议是否正确,您可以使用:
if bot recognizes input.text.find('^[^\d]*[\d]{11}[^\d]*$') response "Your ticket is is $tickedID?"
当用户说“获取 ID 为 KMN849SDA 的票证”时,我如何使用 IBM Watson 检测聊天机器人中的纯文本或自由格式文本,如果有,机器人将识别“KMN849SDA”是票证 ID是一种可能的方法,如果不是,我如何用编码处理它
在这种情况下,如果您的 ID 有一些默认值,例如:每个 ID 都以 KMN 开头,您可以使用一些 REGEX
来获取 ID 并保存在您的 context
变量中Watson 对话服务。
例如,我的正则表达式现在尝试查找 11 个数字:
input.text.find('^[^\d]*[\d]{11}[^\d]*$')
为了将此值保存在一个 context
变量中,您可以使用:
"context": {
"ticketID": "<?input.text.extract('^[^\d]*[\d]{11}[^\d]*$',0)?>"
}
要在您的应用程序中使用,您需要访问 return 从对话消息调用方法,例如:
//add inside your call, like:
conversation.message(payload, function (err, data) {
console.log(data.context.ticketID); //your ticketID here
if (err) {
return res.status(err.code || 500).json(err);
}
updateMessage(payload, data, req, res);
});
});
并且为了在您的应用程序中使用以验证此协议是否正确,您可以使用:
if bot recognizes input.text.find('^[^\d]*[\d]{11}[^\d]*$') response "Your ticket is is $tickedID?"