“掌控板”智能语音机器人
入手“掌控板”几天来,感叹于其与OneNET物联网、微信小程序、APP交互的强大功能,让创造的思维有了发散的空间,尝试应用“掌控+APP”实现智能语音机器识别、对话、指令传达,知识交互;通过几天的摸索,调用百度云AI和图林AI,用appInventor做逻辑功能,做出简易的智能语音机器人。其步骤如下:
步骤1一、配置掌控板WIFI环境
配好本地WIFI网络,在掌控板上显示机器IP,以便与APP进行数据交互;
步骤2二、申请AI账号和获取API调用权限
(一)申请图林机器人权限1.打开网址http://www.turingapi.com/,注册登录,点击“创建机器人”,填写相关信息。
在机器人设置中,记下apikey,并关闭密钥按钮;并在技能拓展中,打开相应的按钮,如聊天对话等
(备注,最好个人认证,这样每天要以对话100次)
(二)申请百度智能云AI权限1.打开百度智能云网址,注册账号;依次打开产品服务/人工智能/语音技术;
2.创建语音技术应用
记下APPID,APPKEY,SecretKey。
步骤3三、APPInventor编写逻辑
(一)获取服务IP地址;1.建立一个获取和填选TinyWebIO服务器的地址界面,并传递至appinventor下一个屏幕;
2.做好组件列表、界面设置、逻辑设计;
具体的思路是:掌控板发出对话指令,APP接收指令后,调用图林API和百度API进行对话;将语音内容转换为文本,提取里面的指令关键字,做出相应的判断;
百度语音合成组件设置。
3.接收传递过来的IP,并提示与掌控板建立连接;
识别掌控板与APP互动的指令,也就是由掌控板向app发出指令,这一块是知识的盲点,不好解决。我的解决思路:按掌控板P键和N键,启动语音智能模式,然后用APP读取TinyWebIO中的数据touchpadp中的p的值为
(指令值的查询表)
(获取图林机器人返回的值,并在屏幕上显示)
识别完语音后,(语音的对话调用API接口中,程序如下)执行程序命令。
分辨语言识别的文章详见:
(老巫婆的程序世界和曹老师的博客)https://mp.weixin.qq.com/s/oij3NW6UwTOL7UwmGyhxaQ
http://blog.sina.com.cn/s/blog_a5479fe00102wjmv.html
本例子是由触控P来触发脚本,可以用声音传感器,或超声波测距的数值来激发。本例多有不足,还望见谅!
以下图片为appinventer全部程序图块
材料清单
掌控板X1链接手机X1附件
ai语音.rar爆肝一周,用Python在物联网设备上写了个智能语音助手
基于HaaS云端一体框架,用Python打造HaaSEDUK1智能语音助手的过程中需要用到云端能力。本篇文章介绍如何开通智能对话机器人,并通过实际案例演示如何为机器人配置知识库并进行发布。请参考《爆肝一周,用Python在物联网设备上写了个智能语音助手》中案例体验小节进行体验。
1.开通智能对话机器人服务进入智能对话机器人官网点击“立即开通”。
跳转到购买页面,选择体验版,有90天免费体验时间。每个月1000条免费流量包。
购买成功后,将成功开通智能对话机器人。
2.创建会话机器人用户可登录自己的账号,从智能对话机器人官网的“管理控制台”进入智能对话机器人的控制台页面。
在这里,用户可以先查看“概览”,了解产品的配置流程,或者观看培训教程。
然后,可以进入“机器人管理”菜单项,新建机器人。
机器人类型选择“在线文本机器人”:
3.为新建机器人配置知识库
机器人配置页允许用户进行机器人问答能力的配置,包括FAQ知识、多轮对话、闲聊等。这些内容,都是从机器人管理菜单进入,选中一个机器人、在机器人配置tab下可见。
绑定FAQ类目,即绑定一个问题和一个答案形态的知识,可以支持机器人做单轮问答;绑定对话流,则是配置任务式或流程式会话,让机器人可以做多轮问答,按照预设流程推进会话的顺利进行;闲聊管理中,则是预置了一些闲聊语料包,可以让机器人有陪人聊天的能力。HaaS智能语音助手案例中,演示了打开灯/关闭灯,查天气,问问题三个功能,接下来看看这三个功能是如何实现。
3.1在FAQ库创建新知识3.1.1创建“什么是HaaS”问答案例中创建了一条“什么是HaaS”的FAQ,实现方法如下:
因为HaaS是英文,由于在智能语音交互里的语音识别模型选择的中文普通话识别,可能被识别成中文的“哈斯”或“hash”等,可以通过添加相似问题来进行解决。建议你在测试时创建全中文的FAQ。
如果对FAQ有任何更新需要进行发布:
机器人实例绑定FAQ类目。进入机器人管理界面,选择FAQ库中要与该机器人实例绑定的知识类目,点击确认后生效。
3.1.2FAQ发布问答系统的原有的发布操作都统一在发布中心进行,在发布中心的发布是对双环境中的测试环境内容发布到正式环境中。
3.2为机器人配置对话流
机器人配置页为多轮对话管理提供了配置入口,点击“去对话工厂”按钮进入对话工厂配置页。
3.2.1查天气系统中默认自带查天气,只需要发布该功能即可使用。
3.2.2开关灯
案例中指出打开/关闭所有灯,也可以单独打开/关闭某个灯,HaaSEDUK1上有三个LED灯,分别为红灯、蓝灯、绿灯。
3.2.2.1创建对话流
进入机器人管理-对话工厂中,点击新建对话流按钮。填写对话流名称为‘开关灯’。
3.2.2.2进入画布
找到刚才创建的‘请假’对话流,点击对话流右侧的编辑按钮,进入画布。
3.2.2.3创建意图
点击左侧意图创建开关灯意图,比如打开红灯,设置意图名称为red_light_on,设备端会根据该名称进行相应的事件处理。
3.2.2.4创建用户输入节点
点击开始节点右侧“+”号创建用户输入节点,并点击节点:
3.2.2.5创建回复节点
点击用户输入节点右侧“+”号,选择创建回复节点:
其他类似地可以创建开灯/关灯(表示打开/关闭所有灯),打开/关闭绿灯,打开/关闭红灯,打开/关闭蓝灯,最后生成如下对话流图:
3.2.2.6调试对话流
点击左侧调试按键,在输入框中输入你的问题,比如打开红灯,确认是否回复正常:
3.2.3启用闲聊
系统中预置了闲聊功能,可以进行聊天,也可以自定义聊天,在机器人管理中点击闲聊后,再点击启用:
3.2.4机器人发布
在机器人管理中修改过后,都需要进行重新发布才能生效:
3.2.4.1机器人ID获取
从上图中即可获取机器人ID,设备端在配置时需要填入该ID。
3.2.4测试机器人点击右下角的机器人头像,选择设置:
输入问题进行测试:
3.3标注优化
如果用户有多种问法,可以在标注中心去调整匹配的FAQ。选择问法聚类中要匹配的问题:
匹配FAQ中的问题:
智能对话机器人的配置基本结束,除此之外,智能对话机器人还有很多高阶功能,实现设闹钟、查时间等,参考机器人管理玩转对话机器人,打造专属机器人。
开发者支持
如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号。
更多技术与解决方案介绍,请访问HaaS官方网站https://haas.iot.aliyun.com。