基于IBM云计算平台进行的对话机器人

IBM云计算平台地址:https://console.bluemix.net/

本次开发使用的主要是IBM的Waston服务中的Conversation

174146_yr52_3724377.png

conversation是一项免费的服务,每个月有10000次API调用限额,不过30天处于不活跃的状态就会被删除。

174341_aTdk_3724377.png

这次开发使用的是NodeJS的express框架,做的是有关天气查询的服务。

在Conversation中创建了Intent,分别是欢迎和天气,当触发有关天气的预定于关键语句时,Conversation会返回对应预设的Intent,然后根据不同的Intent对用户进行答复,所以关键就是预设对应的关键语句,然后在代码中判断Conversation返回的对应Intent是否符合,如果符合就提取关键字,然后调用对应API获得对应的天气信息后,返回给用户。

Conversation对于英文用户比较友好一些,因为预定义变量(entity)中有location,所以如果是英文用户的提问,Conversation可以自动提取地名关键词,如果做的是天气查询,则会省去自己提取地名的过程,中文版的Conversation由于是beta版,暂不支持这个系统变量,如果自己训练,需要把所有地名手动训练,或者在代码中想办法提取,是一个不太容易处理的过程。

Conversation的优点也很明显,对于要处理多种情况的对话机器人来讲,硬编码逻辑是非常不利于后期拓展的,也不符合软件工程的开闭原则,而Conversation则相当于提供了一层便捷的代理层,通过中间件的方式处理后返回相应的Intent和entity,甚至直接返回应当返回给用户的回复。通过这一层中间层处理,在业务逻辑变更后需要添加新的Intent时,可以通过反射机制来动态处理,抑或是表驱动的方式来应对业务逻辑的变化。

其余一些开发过程比较简单,就不多叙述了,这里额外提一点有关这个应用的部署。应用部署上云用的是Bluemix cli,通过命令行的模式来连接IBM平台,当然你也可以在IBM的控制台进行控制,值得推荐的是这个命令行下的日志查看工具,通过命令行

bx app logs appname

就可以实时的查看对应的已部署应用的log,可以说是复现线上bug时的一个比较不错的工具,可以不错的提升debug效率。

总的来说,Conversation这个工具对于有一定复杂度的业务需求有比较好的帮助,简单的业务逻辑体现的优点不明显,最后放上体验地址和demo截图

192811_ist1_3724377.png

体验地址:https://portfolio-chat-791863347.au-syd.mybluemix.net/

 

转载于:https://my.oschina.net/u/3724377/blog/1586562

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值