7月5日,百度 AI 开发者大会。还不到下午一点半,对话式人工智能分论坛已经人满为患,A 厅的保安堵着门,出来一个才会放一个进去。在这场下午两点开始,总共耗时三个半小时的分论坛中,先后换了三位主讲人,才把景鲲所讲的“听清、听懂、满足”的 DuerOS 整体架构讲完。
差不多同一时刻,阿里也在北京召开发布会,发布了旗下第一款智能音箱。此前已经有不少好事媒体纷纷猜测,群众举瓜围观,毕竟巨头分庭抗礼的戏码没有人会厌倦。
雷锋网整理了百度分论坛的全部内容,并精选出与 DuerOS 直接相关的信息,试图清楚的回答“DuerOS是什么” 的问题,或许这也是全网关于 DuerOS 最全面的解剖:
DuerOS 的整体架构包括三层:中间层为核心层,即对话系统;最上层为应用层,即智能设备开放平台;最底层为能力层,即技能开放平台。
所谓的核心层,包括了从语音识别到语音播报再到屏幕显示的一个完整交互流程,以及背后支撑交互的自然语言理解、对话状态控制、自然语言生成、搜索等等核心技术,这些技术支撑着上下两层的实现。
所谓的应用层,则是为第三方厂商提供包括核心接入组件、芯片模组、麦克风阵列等的开发套件,以及包括工业设计、结构设计、音腔设计在内的参考设计方案。
所谓的能力层,则是面向开发者,提供了包括了原生技能和第三方技能在内的技能开放平台,开发者可以通过技能工具,来创建并发布基于 DuerOS 的技能。
三层之间的结合处,分别是对话服务和技能框架两个接口,也是整个 DuerOS 的核心接口,前者为终端设备提供了各项支持请求,体现 DuerOS 的终端能力,后者为第三方开发者丰富的创建方式,体现 DuerOS 的技能开发能力。
为了更清楚的理解,针对对话服务与技术框架,百度直接拿 DuerOS 和 Andriod 系统做了对比:
如同电脑、平板在 Android 系统上具备触摸的交互功能一样,音箱、电视、车载设备搭载了 DuerOS 后,就能具备智能语音对话的交互功能。
如同 Android 设备驱动程序接口,定义能够运行的基本硬件和交互方式一样,DuerOS 的对话系统则定义着运行 DuerOS 需要具备的终端能力,以及用户通过设备和 DuerOS 沟通时的交互方式。
如同开发者基于 Android 应用框架能够开发 App 一样,第三方开发者也可以基于 DuerOS 的技能框架开发技能,在搭载 DuerOS 的智能设备上运行。
举例来说:
搭载 DuerOS 的电视,具备了屏幕显示的能力,当一个设备具备了屏幕显示能力的时,DuerOS 就可以响应这种服务的请求,识别之后通过屏幕告诉用户正确的答案。搭载 DuerOS 的手机,用户就可以通过语音操作打电话给家人或者向餐馆订餐。搭载 DuerOS 的汽车,具备车辆控制功能,你可以跟汽车说天太热了,把天窗打开,把空调调到19度。这是 DuerOS 支持的协议具备多种多样的终端能力。
针对技术框架,DuerOS 提供标准化的接口,第三方开发者甚至可以一行代码都不编写,就能创造标准化的技能,只要提供内容即可。针对需要个性化创造的开发者,DuerOS 提供了丰富的技能接入,开发者不需要懂自然语言处理和深度学习,就能创造非常自如的语音交互技能。
除了智能创建工具之外,DuerOS 还提供全套平台工具,覆盖从创建、配置到百度云部署、测试、发布的整个生命周期。通过 DuerOS 的技能框架,百度把 DuerOS 的原生技能开发能力、自然语言处理能力、对话管理能力等全部开放给了第三方开发者。
当用户开始和 DuerOS 说话时,它的工作流程是这样的:
用户的语音先传到 ASR 语音识别模块,通过该模块,设备听清用户的语言,将它转为文字;
转成的文字经过相应模块的分析、识别和理解,并放在整个对话上下文当中做充分识别和理解,明确语义。
当 DuerOS 听懂之后,则会调用合适的原生技能或第三方技能来满足用户,通过 TTS 语音播报将结果给到用户,如果设备有屏幕,则会给出适合设备屏幕大小形状的展示结果。
经过这样的工作流程,DuerOS 的对话系统可以通过音箱、电视、车机等设备,应用在多种场景中。之所以能够有好的听清、听懂效果,百度认为主要归功于三个方面:数据多、技术深、内容广。
所谓的数据指的是百度拥有庞大的知识图谱、需求图谱、网页图谱、地理信息图谱及用户画像,技术则指的是十余年里百度所积累的自然语言处理、对话控制、对话管理、自然语言生成、搜索等技术,而内容指的是百度拥有的超过10000个信息垂类内容。
官方给出的智能设备开放平台的目标是“上手”最容易的设备平台。简单而言,就是对于第三方来说, 直接把百度给出的方案拿过来套上用,就可以了。但针对需求,百度还是给出了几个版本的开发套件:
个人版-针对开发者
个人版开发套件基于 DevKit ,集成了 2Mic 兼容设计,同时也支持 4Mic,和 Crom 引擎合作完成。即日起就可以下载,不仅完善了硬件,还加上了系统对象和文档。
有趣的是,在个人版里,百度提供了一个趣味组装图纸,让开发者动手组装。个人版既保留了一些自主行性,也节省了大量的时间,确实非常容易“上手”。
标准版-针对产品厂商
针对产品厂商需要稳定、可靠、大规模生产的需求,百度给出了“标准”答案。标准版开发套件完全按照 产品级要求研发,包括 4Mic 拾音板、MTK8516 主板,Wi-Fi/BT+喇叭,终端软件为 Linux+DuerOS SDK+终端应用,它的目标是开箱即用。
此外,百度还联合设计团队推出了标准版产品的参考设计,同时由来自手机团队资深结构工程师专门做了结构化的设计,由资深的电声工程师调整了电路效果,甚至和音箱代工厂制定了完整的工艺,贴上商标就可以对外销售。
轻量版-针对特殊厂商
针对有些特殊要求的厂商,比如产品需要电池系统、需要低功耗、需要放到已有产品中,同时不希望增加成本等情况,百度则提供了轻量版开发套件。
发布会中提到了 ARM 和 DevKit 合作的两款专门支持 DevKit 和 ARMmbed 的解决方案,Cortex 为核心的解决方案,非常省电的,作为实时操作系统,配置也相当灵活,既有单板方案也有双板。套件里是高度整合的 SoC 系统,全部装在一个单芯片上,本身就保证了低成本,小体积,甚至只有硬币的大小。
第三方方案
除了上述三个百度提供的版本方案外,还和业界一些第三方厂商做了合作,让 DuerOS 融合第三方解决方案,这其中包括了声智科技、先声互联、Intel、Rockchip、Qualcomm 等,还有更多正在进行中,没有完工的厂商。
与这些设备解决方案配套的,是一款基于手机的 App——小度之家。据雷锋网了解,在以语音交互为主的设备上,有两个很常见的问题,一是配网不方便,二是设置不方便。通过小度之家 App,这两个问题都可以得到彻底解决。在这个 App 上,一方面可以看到操作记录,另一方面也支持付费功能。更重要的是,将来会有更多的第三方技能会出现在这个 App 上。
技能开放平台分为三个部分,一个部分是百度提供的原声技能,第二个部分是为第三方开放的技能工具,第三个部分是由开发者开发的第三方技能。
这些技能综合起来,就是为了让语音交互设备更好用,具有更多功能,让用户听懂并得到满足。雷锋网了解到,百度的原声技能覆盖了从娱乐到生活,从信息到工具十个大类,超过100个子类,且还在不断增加。
通过开发工具,开发者可以开发第三方技能,百度还提供了标准的技能模板,可以帮助开发者无门槛的创建技能。从开始创建到最终发布,都有百度的技术支持。而上传到技能商店的技能,终端用户都可以根据自己的需要来选择或者购买喜欢的技能,平台中的“监控”功能,还可以为开发者优化技能提供决策数据。
如果用决定论来理解百度今日对“操作系统”的执念,或许想想它曾错失的移动互联网时代就能够理解。希望这是深刻反思后看清楚的方向,而不是某种矫枉过正的偏执。但无论如何,正如一位前百度员工说的那样,“我只相信技术”。此刻的百度,或许最接近李彦宏心目中的百度,或许也是国内最相信技术的大公司。