热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

吕布机器人唤醒方式能换么_GitHub热门推荐:对话机器人开源项目

整理|一一出品|AI科技大本营(ID:rgznai100)随着自然语言理解等技术的发展,对话机器人如今盛行,而基于此的智能音箱产品的发展也异常火热。很多
93dcba74f349c192483bd155c9ca3e00.png

整理 | 一一

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

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

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

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

8159ce4279fb8913ebb4084fd158812f.png

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 项目上线了官方文档,对该项目进行了详尽介绍。

c3da865664adb1173998ad77362bf427.png

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

  • 模块化。功能插件、语音识别、语音合成、对话机器人都做到了高度模块化,第三方插件单独维护,方便继承和开发自己的插件。
  • 中文支持。集成百度、科大讯飞、阿里、腾讯等多家中文语音识别和语音合成技术,且可以继续扩展。
  • 对话机器人支持。支持接入图灵机器人、Emotibot 等对话机器人。
  • 全局监听,离线唤醒。支持无接触地离线语音指令唤醒。
  • 灵活可配置。支持定制机器人名字,支持选择语音识别和合成的插件。
  • 智能家居。支持和 mqtt、HomeAssistant 等智能家居协议联动,支持语音控制智能家电。
  • 后台配套支持。提供配套后台,可实现远程操控、修改配置和日志查看等功能。
  • 开放 API。可利用后端开放的 API,实现更丰富的功能。
  • 安装简单,支持更多平台。相比 dingdang-robot ,舍弃了 PocketSphinx 的离线唤醒方案,安装变得更加简单,代码量更少,更易于维护并且能在 Mac 以及更多 Linux 系统中运行。

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

d21bc85d54b2a3946e29704a0a69b521.png

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

8ac5178acc3b24e0501b7e4f6d36fb93.png

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

环境要求

需要注意的是,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)



推荐阅读
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • RancherOS 是由 Rancher Labs 开发的一款专为 Docker 设计的轻量级 Linux 发行版,提供了一个全面的 Docker 运行环境。其引导镜像仅 20MB,非常适合在资源受限的环境中部署。本文将详细介绍如何在 ESXi 虚拟化平台上安装和配置 RancherOS,帮助用户快速搭建高效、稳定的容器化应用环境。 ... [详细]
  • 单元测试:使用mocha和should.js搭建nodejs的单元测试
    2019独角兽企业重金招聘Python工程师标准BDD测试利器:mochashould.js众所周知对于任何一个项目来说,做好单元测试都是必不可少 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 在 CentOS 7 系统中安装 Scrapy 时遇到了一些挑战。尽管 Scrapy 在 Ubuntu 上安装简便,但在 CentOS 7 上需要额外的配置和步骤。本文总结了常见问题及其解决方案,帮助用户顺利安装并使用 Scrapy 进行网络爬虫开发。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 本文探讨了使用Python进行微服务架构设计的合理性和适用性。首先,介绍了微服务的基本概念及其在现代软件开发中的重要性。接着,通过具体的业务场景,详细分析了Python在微服务架构设计中的优势和挑战。文章还讨论了在实际应用中可能遇到的问题,并提出了相应的解决方案。希望本文能够为从事Python微服务开发的技术人员提供有价值的参考和指导。 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • 如何在Ubuntu系统中直接使用Snap安装软件
    Canonical与Opera Software近日宣布,基于Chromium的Opera浏览器现已作为Snap包提供给Ubuntu用户,显著提升了在Linux操作系统上的安装便捷性和兼容性。通过Snap,用户可以在Ubuntu系统中轻松安装和更新Opera浏览器,享受更流畅的浏览体验。此外,Snap的容器化特性还确保了应用的安全性和稳定性,为用户提供更加可靠的软件环境。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
author-avatar
平凡简单
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有