作为一家专注境外自由行的互联网 + 创业公司, 我们始终在积极探索用户服务的终点在哪当一名国内游客置身一个完全不同的语言环境时, 内心或许是不安的; 而境外落地服务的司机, 大多数情况下是外国人, 这就造成了极大的沟通困难在这种场景下, 如果车内可以通过智能设备为客人送去问候, 并帮助其和司机客服完成沟通, 可以大幅提升国内游客在境外出游的舒适度
基于此, 我打算尝试一下是否能够基于阿里云制造这样一个物联网产品, 毕竟对于创业公司来讲, 借助阿里云的技术能力能节省不少成本
开始尝试 Kim
说话可能是我们每天做的最多的事情了, 当然包括文字和交谈, 所以这可能是手机触摸屏以外更接近自然的交互方式
大家已经非常熟知智能音箱这个产品, 阿里小米等很多大厂都推出了自己的智能音箱, 并与自己的业务体系深度绑定, 这让我觉得很封闭, 过于定制化可玩性过于局限
因此, 索性我就把 Kim 智能语音助理做成开源项目, 让更多的 Geek 能够参与进来, 并且定制成自己的私人助理(下图为天猫精灵 X1)
最初的 Kim, 仅是一个运行在树莓派 Mac 上的一个能够语音对话的客户端程序, 它通过调用阿里云的 TTS 和 ASR 接口实现语音合成及语音识别
后来在语音识别的基础上增加了 Kim 大脑, 这一个关键的改进让 Kim 能够理解我们在说什么, 并作出预设的响应为了让这颗大脑能够学会更多, 我专门在 GitHub 上维护了一个插件库没错, 我们与 Kim 的对话经过 ASR 之后会被传送到 Kim 的大脑, 经过中文语义仲裁算法把指令交由语义匹配的插件处理操作流程如下图所示:
Kim 是一个简化的智能音箱, 已经能够应付大多数的对对话场景, 把插件写写好, 或许能够应付语音购票的场景了, 下图为上海地铁的工作人员在演示语音购票技术
语音, 只是一种交互方式, 如果我们通过插件将其转换成计算机可以理解的指令, 理论上我们对计算机的任何操作都可以实现但复杂交互, 还需要与计算机当前的状态有关系, 我们后面会专门探讨这个问题
Kim 的远程会话服务
我们肯定不希望这个智能助理只能在物理上靠近时才能使用, 于是诞生了 Kim 远程会话服务远程会话服务提供了一组 RESTful API 和一套 webAPP 供使用, RESTful API 让开发者可以以任意一种形式 (例如: APP 网页微信小程序等) 通过互联网与 Kim 会话
但是, 设备端的主控程序才是 Kim 的核心, 无论你把会话服务部署在哪, 最终的语义指令都会通过 MQTT 协议传输到 Kim 设备端
Kim 插件库 + 阿里云 API 市场
正在给 Kim 插件库找数据源的时候, 想起了阿里云的 API 市场, 索性就把 API 封装到插件里 下图为阿里云 API 市场的分类
这就意味着阿里云丰富的云端能力, 能够轻松的为 Kim 所用, 用药查询天气预报菜谱查询新闻头条等等, 都不在话下
假象以下场景:
1. 你在厨房, 准备要做一个红烧肉, 但不会做; Hey Kim, 红烧肉怎么做, 这时 Kim 插件调用云端 API, 选出一个菜谱语音播报出来
2. 想知道明天的天气怎么样; Hey Kim, 明天天气怎么样明天晴, 气温 xxx, 西北风 xxx, 空气质量优
3.
Kim 插件库 + HomeAssistant
后来, 在微博上看到了 Facebook 创始人扎克伯格给自己弄了个智能管家老贾视频里的几个场景引起了我极大的兴趣:
1. 扎克伯格醒来后, 说了一句: 老贾, 把窗帘打开
2. 有客人来访时, 安保设备通过人脸识别先把门打开, 再通知主人
3.
老贾的视频: http://www.miaopai.com/show/rD3oErn2XBjERSq9dsZGcA__.htm
HomeAssistant 是非常著名的开源智能家居控制系统, 能够帮我们连接家里的灯开关门温湿度计空调等智能家居设备, 支持小米博联等众多的智能家居设备
HomeAssistant 支持设备列表: https://home-assistant.io/components/
好了, 现在我们再回到 KimHomeAssistant 提供了家庭智能设备的控制方案, 同时支持 RESTful 控制, 这就方便了 Kim 插件库与 HA 的深度集成当 Kim 具备这些能力的时候, 我们的生活就变成了一下这样:
1. 中午躺在沙发上快睡着了, 但是阳光太刺眼; Hey Kim, 帮我把窗帘关上这时窗帘电机工作, 窗帘关上
2. 暴雨来临前, 室内很闷; Key Kim, 现在室内湿度多少室内湿度 98% 帮我把除湿机打开, 这时除湿机开始工作
3. 下班回到家, 身心俱疲, 准备看会电视放松下, 但又实在懒得找遥控器; Hey Kim, 帮我把电视打开, 这时电视机亮了
4. 冬季早上起床困难, 早上音乐响起窗帘自动打开空调自动开启并设定在 26 度
5.
想想都觉得美
这不是做梦, 通过 Kim 是可以实现的
安装和使用 Kim
Kim 目前已在 Github 开源, 遵循 MIT 开源协议目前 Wiki 已经相对完善, 详细的安装方法和技术原理可访问 Kim 的 Git 仓库
主项目仓库:
https://github.com/tenstone/kim-voice-assistant
远程会话端仓库:
https://github.com/tenstone/kim-voice-assistant-remotetalk
自定义插件仓库:
https://github.com/tenstone/kim-voice-assistant-plugins
来源: https://yq.aliyun.com/articles/519894