整理 | 一一

出品 | AI科技大本营(ID:rgznai100)

随着自然语言理解等技术的发展,对话机器人如今盛行,而基于此的智能音箱产品的发展也异常火热。

很多开发者一般热衷于在一些对话机器人平台上开发相应的语音技能,但也有不少人希望自己尝试做一个对话机器人项目,不过他们往往苦于无从下手,或在开发过程中遇到困难中途就放弃了。

今天为大家介绍一款很有意思的对话机器人开源项目,它出现在了今天的 github trending 中,叫 wukong-robot(悟空机器人),或许会为你创建属于自己的对话机器人带来启发。

wukong-robot 是一个简单、灵活的中文语音对话机器人/智能音箱项目,作者开源该项目的目的是让中国的 Maker 和 Haker 们也能快速打造个性化的智能音箱。

该项目创建者是有 5 年客户端开发经验的腾讯高级工程师潘伟洲,现为腾讯 ABCmouse 技术负责人。

目前,该项目在 GitHub 上总计收获超 1000 多个 Star,另据@潘伟洲HaHack 在其个人微博介绍,此前“dingdang-robot” 的调用次数已经超过了十二万,在超过一千台设备中运行

wukong-robot 项目创建于 2017 年底,它的前身是“dingdang-robot”项目(与腾讯叮当助手及优必选悟空项目无任何关系),后来由于需要提供一个更快、更稳定、更容易搭建的机器人,同时兼容“dingdang-robot”的插件机制,今年 1 月,作者重写了项目版,并宣布不再维护“dingdang-robot”。

潘伟洲介绍,相比 dingdang-robot,这个版本抛弃了复杂的 PocketSphinx 离线唤醒机制,能够在更多平台上运行,无论是响应速度、稳定性和代码质量都有了质的提升。更重要的是还提供了可视化的后台管理端和开放 API,未来将提供 docer 镜像和基于的 flutter 客户端。

近日,wukong-robot 项目上线了官方文档,对该项目进行了详尽介绍。

总体而言,wukong-robot 项目主要由以下主要特性:

  • 模块化。功能插件、语音识别、语音合成、对话机器人都做到了高度模块化,第三方插件单独维护,方便继承和开发自己的插件。

  • 中文支持。集成百度、科大讯飞、阿里、腾讯等多家中文语音识别和语音合成技术,且可以继续扩展。

  • 对话机器人支持。支持接入图灵机器人、Emotibot 等对话机器人。

  • 全局监听,离线唤醒。支持无接触地离线语音指令唤醒。

  • 灵活可配置。支持定制机器人名字,支持选择语音识别和合成的插件。

  • 智能家居。支持和 mqtt、HomeAssistant 等智能家居协议联动,支持语音控制智能家电。

  • 后台配套支持。提供配套后台,可实现远程操控、修改配置和日志查看等功能。

  • 开放 API。可利用后端开放的 API,实现更丰富的功能。

  • 安装简单,支持更多平台。相比 dingdang-robot ,舍弃了 PocketSphinx 的离线唤醒方案,安装变得更加简单,代码量更少,更易于维护并且能在 Mac 以及更多 Linux 系统中运行。

wukong-robot 的工作模式也非常易于了解:

wukong-robot 被唤醒后,用户的语音指令先经过 ASR 引擎进行 ASR 识别成文本,然后对识别到的文本进行 NLU 解析,再将解析结果进行技能匹配,交给适合处理该指令的技能插件去处理。插件处理完成后,得到的结果再交给 TTS 引擎合成成语音,播放给用户。

虽然一次交互可能包含多次网络请求,不过带来的好处是:每一个环节都可以被修改和定制。

环境要求

需要注意的是,wukong-robot 只支持 Python 3.x,不支持 Python 2.x。wukong-robot 支持运行在以下的设备和系统中:

  • 64bit Mac OS X

  • 64bit Ubuntu(12.04 and 14.04)

  • 全系列的树莓派(Raspbian 系统)

  • Pine 64 with Debian Jessie 8.5(3.10.102)

  • Intel Edison with Ubilinux (Debian Wheezy 7.8)

如何安装?官方提供了选择 docker 安装或者手动安装两种方式。安装链接:https://wukong.hahack.com/#/install

升级

python3 wukong.py update

如果提示升级失败,可以尝试在 wukong-robot 的根目录手动执行以下命令,看看问题出在哪。

git pull

pip3 install -r requirements.txt

运行

建议在 tmux 或 supervisor 中执行。

python3 wukong.py

第一次启动时将提示你是否要到用户目录下创建一个配置文件,输入 y 即可。然后通过唤醒词 “孙悟空” 唤醒 wukong-robot 进行交互(该唤醒词可自定义)。要让 wukong-robot 暂时屏蔽离线监听,可以使用热词 “悟空别吵”;要让 wukong-robot 恢复离线监听,可以使用热词 “悟空醒醒”。

此外,wukong-robot 默认在运行期间还会启动一个后台管理端,提供了远程对话、查看修改配置、log 等能力。

  • 默认地址:http://localhost:5000

  • 默认账户名:wukong

  • 默认密码:wukong@2019

配置

参考配置文件的注释进行配置即可。注意不建议直接修改 default.yml 里的内容,否则会给后续通过 git pull 更新带来麻烦。你应该拷贝一份放到 $HOME/.wukong/config.yml 中,或者在运行的时候按照提示让 wukong-robot 为你完成这件事。

tips:

  • 建议在运行 wukong-robot 的机器上重新训练一下唤醒词,不同设备录制出来的唤醒词模型使用效果会大打折扣。

  • 不论使用哪个厂商的API,都建议注册并填上自己注册的应用信息,而不要用默认的配置。这是因为这些API都有使用频率和并发数限制,过多人同时使用会影响服务质量。

此外,wukong-robot 上还有相应的技能插件,由官方和用户共同提供,官方技能插件目前包括检查邮件、写诗等功能,而用户则提供了大部分的技能插件,包括查询天气、头条新闻、电台等技能。

值得一提的是,项目作者给用户提供了福利,给出了技能开发的实战教程,一步步教你如何上手并学会开发 wukong-robot 的技能插件。教程目前有 1 个基础篇和 5 个实战篇,包括开发清除缓存技能、天气查询技能以及沉浸式播放技能,可在官方文档中点击查看。

对了,wukong-robot 的默认唤醒词是“孙悟空”,你可能不太喜欢,这当然也可以进行修改。“猴哥猴哥”似乎更可爱接地气,你可以在 snowboy官网(https://snowboy.kitt.ai/) 进行修改成你喜欢的任意唤醒词,然后将生成的 pmdl 文件放到 ~/.wukong,修改配置文件中的 hotword 配置即可。

猴哥猴哥,安装一个玩玩?

GitHub 传送门:

https://github.com/wzpan/wukong-robot

(本文为 AI科技大本营整理文章,转载请微信联系 1092722531)

精彩推荐

推荐阅读:

  • 31页PPT概述:图神经网络表达能力有多强?

  • NLP输出文本评估:使用BLEU需要承担哪些风险?

  • 如何用Python抠图?试试scikit-image

  • 《流浪地球》逆袭《新喜剧之王》的真正原因

  • 那些简历造假拿 Offer 的程序员,后来都怎么样了?

  • 郑州没有互联网 | 畅言

  • K8S安全军规101:对CNCF最佳实践的扩充

  • 为什么说稳定币才是诺奖得主哈耶克想要的非国家货币?

  • 月入5万,程序员夫人们过上"贵妇"生活了吗?

点击“阅读原文”,查看历史精彩文章。

叫你一声“孙悟空”,敢答应么?相关推荐

  1. 【设计模式】原型模式:猴头,我叫你一声你敢答应吗?

    1 原型模式 1.1 概述 原型模式是一种对象创建型模式,用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象.原型模式允许一个对象再创建另外一个可定制的对象,无须知道任何创建的细节. 原型 ...

  2. upc-叫你一声你敢答应吗(排列组合)

    题目描述 儒雅随和的小赵闲暇时很喜欢古典文学,比如金--金银角大王和孙悟空. 话说悟空一行在西天取经路上遇上了妖怪金角大王.银角大王,把唐僧.八戒.沙僧.白马,连行李一道掳去.两个大王有几个法宝,其中 ...

  3. 3. C语言 -- 叫你一声你敢答应嘛

    \(@^0^@)/ 嗨!大家好,我是呆博~前两天的文章还满意嘛,如果有不满意的地方尽管提,我一定--嗯--能做到的我一定做.今天准备给大家分享第三篇文章,变量与常量.同样代码部分以截图形式呈现,如果想 ...

  4. 要闻君说:苹果又要新品发布啦;英伟达壕气,狂砸69亿收购Mellanox;谷歌瞄准印度小学生,推出AI学习工具;...

    关注并标星星CSDN云计算 每周三次,打卡即read 更快.更全了解泛云圈精彩news go go go  大家好!偶是要闻君.话说每年的苹果新品发布会都会被列入"熬夜也要看一看" ...

  5. 要闻君说:华云数据“豪气”收购超融合厂商Maxta;VMware有意“携手”微软Azure云;亚马逊获3亿美元云计算合同...

    关注并标星星CSDN云计算 每周三次,打卡即read 更快.更全了解泛云圈精彩news go go go  大家好!偶是要闻君.气温回升.春意盎然,充分休息两天后就抓紧学习吧! 文/要闻君 全球第二大 ...

  6. 你与数据科学家只差这26条python技巧

    戳蓝字"CSDN云计算"关注我们哦! 作者 | Peter Gleeson 来源 | Python数据科学 编译 | wLsq Python是目前世界上最流行的编程语言之一.因为: ...

  7. 云漫圈 | 什么是DNS?什么是DNS污染?什么又是DNS劫持?

    戳蓝字"CSDN云计算"关注我们哦! 文章转载自公众号:漫画编程 2019年1月23日下午,我正在公司疯狂的撸着代码,沉浸在我的代码世界中,正在欣赏着自己刚刚写下的一行lambda ...

  8. 区块链创业公司解散后,我去美团送外卖了 | 链人生

    文 | 钟小玉 来源 | 创业邦(ichuangyebang) 我叫王成勇,我买过EOS代币,加入过区块链创业公司,创办了区块链自媒体,为了梦想不被饿死,现在在美团送外卖. 我仍然坚信区块链会改变世界 ...

  9. 阿里产品岗需是技术出身?分享技术转型产品的成功经验

    戳蓝字"CSDN云计算"关注我们哦! 作者 |卡小基 本文转载自公众号: 卡小基看世界 最近看了一个爆料: 不管这爆料是不是真的,至少在我9年的开发生涯中没遇到过几个靠谱的产品经理 ...

最新文章

  1. 别把个人信息“玩”丢了
  2. .Net Core小技巧 - 使用Swagger上传文件
  3. python导入requests库一直报错原因总结_python pip 安装库文件报错:pip install ImportError: No module named _internal...
  4. 3.5W 字详解 Java 集合
  5. 会自动消失的提示信息
  6. mysql语句判断是否存在记录,没有则插入新纪录否则不执行
  7. cmw500 lte非信令测试_买CMW500,信令与非信令的含义?功能?
  8. 用hb编辑一个html,HBuilder:一个不错的web前端IDE(代码编辑器)
  9. 计算机里没有usb驱动设备,USB驱动,电脑没有usb驱动怎么办
  10. CVTE+网易+微盟面经
  11. 登陆共享服务器的用户名和密码怎么修改
  12. 【天光学术】语言学论文:英语认知语言学和心理语言学的融通互补探析(节选)
  13. 可视化框架、Axure原型、大屏可视化、图表组件、图表元件库、统计图表、数据可视化模板、条形图、折线图、散点图、时间轴、仪表盘、饼图、散点图、雷达图、高山图、登录模板、弹窗、弹幕、预警、散点图
  14. Uwsgi+Nginx+Django部署
  15. 嵌入式典型ARM处理器介绍以及分类
  16. AOP层层递进 第一部分 代理
  17. JS读取cookie(记住账号密码)
  18. Python爬虫 - wallhaven任意页面下的壁纸批量下载
  19. HDU 1290(献给杭电五十周年校庆的礼物)
  20. python读取mat文件格式_Python读取mat文件,并保存为pickle格式的方法

热门文章

  1. ffmpeg 基本用法大全
  2. Android官方提供的支持不同屏幕大小的全部方法
  3. mysql中group_contact函数的使用
  4. java实现验证码功能
  5. java和jdbc对应关系,JDBC类型与JAVA类型对应关系
  6. 16.matlab并行处理,调用CPU得多核
  7. KBMMW 的日志管理器
  8. android 带边框的圆角按钮
  9. Ext UI 第一步
  10. 【组队学习】【28期】R语言数据科学