作者的背景经验
过去12年来,我一直在实施SAP项目,在不同的国家为不同的行业和客户规模工作。大约5年来,我一直是SAP价值原型团队的一员,在全球范围内提供快速原型和概念验证。目前,我正在Skybuffer领导SAP实践和SAP创新。
简介
在我们的SAP产品战略开发过程中,我们始终面临着一个需要,即让客户以方便和简单的方式了解我们的应用程序以及公司的一般信息和政策。因此,我们找到了SAP Recast AI平台,并决定使用它为我们的网站构建一个智能聊天机器人。
由于SAP Recast AI的应用还不太广泛,也没有那么多关于它的信息,我决定与SAP Community分享我对它的一些特性的经验。
本文展示了如何训练你的机器人,使它能够以一种智能的方式获取聊天用户的名字和姓氏,而不是以无限循环的方式询问姓氏,同时聊天机器人不会以"无回复"状态回退。
先决条件
您需要注册以重铸AI平台并创建聊天机器人的初始版本。
商业案例
您的聊天机器人在对话开始时询问聊天用户的姓名。但是,它应该能够在对话过程中随时获取姓名(#person entity)。
机器人应该在整个对话过程中保留名字和姓氏,直到在"要求"或"操作"部分中未清除内存变量。
如果用户拒绝提供姓氏,则机器人不应第二次询问姓氏。
机器人应将对姓氏询问的任何反应视为拒绝提供姓氏,而不会在回退操作堆栈中留下空白。
满足步骤要求
创建意图:@zxai我的名字是
考虑实体:#人
技能:
创建技能zxas获得用户名创建或更新回退技能zxas fallback
解决方案
步骤#1:在列车区段创建意图
步骤#2:创建由意图触发的技能
步骤#3:定义规则的触发器
这里可以看到触发器相当复杂。这样做是为了避免在聊天用户玩机器人的时候,淘客采集,或者机器人因为实现漏洞而后退时出现无限循环,我们可以得到以下句子:
"当用户以短语的形式提到他们的名字时触发技能,比如:
"我的名字是"
或者有一个#person实体被发现更正.aiNLP引擎
同时,我们不应该触发该技能,以防我们甚至有聊天用户的姓,如果它可能是#个人实体,大数据工具有哪些,虽然它没有连接到聊天用户的名字或姓氏"
步骤#4:通过要求部分按顺序处理名字和姓氏
这里明智的做法是获得和丢失两个姓名的#个人实体:
如果要求完成,我们可以写一个确认回信给聊天用户:
如果名字的要求被遗漏,我们可以坚持捕捉聊天用户的名字(直到我们得到它):
但是,对于姓氏,我们只询问一次,服务器租用,并使用内存记住:
注意:需求部分中的使用和规则允许我们处理JSON数组,该数组可以作为重铸.aiNLP引擎词组处理:
步骤#5:聊天用户拒绝提供最后一条消息时的回退处理Name
我们将内存变量设置为"active"值:
userţlastţNameţask="active"
如果聊天机器人已经请求聊天用户的姓氏。
使用此变量,我们假设接受聊天用户没有ţperson实体的任何回复,作为对获取姓氏请求的负面反应。考虑到聊天用户可能的反应(短语)的数量,预测他们能告诉聊天机器人什么是非常复杂的,在这种情况下,物联网智库,我们通过回退技能动作处理否定回复:
例如,在回退动作中,当没有提供#个人和用户类型(我们的自定义业务案例)时,我们可以路由对话询问当前聊天用户的类型。
结果
以下是聊天机器人成功捕获聊天用户名字时的示例聊天结果,尽管聊天用户拒绝提供姓氏:
结论
这只是一个简单的提示,提示机器人如何在对话中做出反应,要求聊天用户以智能的方式给出他们的名字和姓氏,同时考虑聊天用户可能拒绝提供姓氏,个人云服务器,并以任何可以想象的方式这样说。