SAP Conversational AI 进阶
经过
https://blog.****.net/elikai/article/details/89215282 和 https://blog.****.net/elikai/article/details/89215352
两篇文章的介绍,我们对SAP Conversational AI有了初步的了解。接下来我们要完成一些复杂的对话功能,就需要进行更多的设计和开发工作。
我们想要设计的聊天机器人,是需要有互动聊天的功能的。如果在商业活动中,能够通过问答的形式,层层将客户的需要梳理出来,最终达到业务需要。幸运的是SAP Conversational AI拥有让这些愿望实现的功能,而且操作简单,极易上手。下面我们就来介绍下在SAP Conversational AI里面有哪些功能帮助我们实现问答机器人。
我们在build的tag下新建一个skill
点击这个skill,进入到这个skill的设置界面。
首先,我们看到triggers的tag下,这个配置的东西是触发此skill的前提条件。在这里以@开头的代表的是intent,#开头的代表的是当前语句的entity,_开头的是在系统中的数据(这个可能现在还不能理解,没关系,往下看)。在这里我们设置好对这个skill的触发条件后,当这个条件一旦满足,那么这个skill就会被触发,就可以完成你所想要的功能了。
再切换到requirements的tag下面。在对话中,我们需要机器能够记录我们之前说的话里面包含的具体信息。在这里,我们就可以将当前语句能够抽取出来的entity写入到内存中。下图中,我们将money entity存入到系统的内存中,右侧显示的是内存中存放的形式,可以发现是以json格式存放的。既然是json,聪明的童鞋也就知道了我们可以自己写js把它取出来。
再切换到最后一个tag:Actions。这个tag中,是我们主要编辑skill具体功能的地方。可以设定不一样的触发条件,来触发不一样的动作。
对于动作:
我们可以让它回复不同种类的信息
可以调用外部API
进行异常处理
跳转到在你当下bot中其它的skill
也可以对内存进行操作,你可以在内存里新建一个变量,然后将值赋给它。那么问题来了,值在哪里呢?
大家可以看到在页面的右下角有个bot,你可以在这里随时测试你的bot。让我们先随便和它聊一下天。
可以看到在bot回复的语句右上角有个感叹号,点击它。在这个对话中所有的信息都以json的格式显示在里面,这里就是我们取数据的地方。
然后我们回到Actions中,以js的格式取出你要的数据。例如:
{ "raw": "{{nlp.entities.duration_jp[0].raw}}" }。
通过这一系列的配置开发,就把一个skill设计好了。
要想完成一个功能强大的对话机器人,你需要先设计好整个流程,建好intents,打好entity的标记,然后根据流程设计对应的skill,最后再以大量的数据去和你的bot的进行测试聊天。慢慢的你的bot就会越来越强大了。