DuerOS 应用对话式人工智能

注:该文章来源——直播课程《DuerOS 应用对话式人工智能》

 

智能语音设备

 

上面是目前大部分的小度智能音箱,从无屏音箱(最上层,最早的小度智能音箱)到新推出的小度音箱智能版,中间一系列是有屏的,近期还推出了移动的(带电池、带4G模块的)音箱,最下面的一排是大型的音箱,也叫智能音箱pro系列。

智能信息的组成

    音箱是一个喇叭,是一个输出设备,智能音箱增加了输入设备,语音的输入设备就是麦克风,交互式设备就是触摸屏touchscream,同时音箱还可通过本地连接线。通过wifi、蓝牙、zigbee等与其他设备连接,通过Internet连接会获得智能音箱的一系列服务,比如ASR(语音识别)、TTS(语音合成)、NLP等等,通过业务引擎将业务资源和技能服务串联起来,最终实现了基于音箱(基于硬件)的一个智能语音系统。智能语音在硬件之上是操作系统,智能音箱的操作系统就是DuerOS,整个小度系列的音箱都是基于DuerOS的。

 

 

对话式操作系统---DuerOS

 

从程序运行看操作系统

 

 

 

从操作系统角度看,可以将DuerOS当做一个分布式的操作系统。对话管理相当于操作系统的调度。有了对话式操作系统就可对话式操作系统上完全一些应用。

 

 

智能语音应用

 

首先对比智能语音应用与手机上的APP的区别:

 

 

对于手机APP设备端就是手机,操作系统是安卓,具体的服务是APK。对于对话式AI系统而言它的设备可能是音箱,操作系统是DuerOS,应用称为技能,技能服务对应着安卓的APP。

智能语音应用的过程:

 

 

基于对话式操作系统可通过自然语言(也即我们的问话)与设备通信,设备能理解我们的通话,同时完成一系列的服务,这就是智能语音服务或智能语音应用。也就是说从用户的角度来看,智能语音服务相当于一个个具体的应用;从开发这角度来看,每个服务相当于一个机器人。

 

技能开发平台

   

我们将SDK当做一个开放平台,对于对话式AI操作系统DuerOS而言,它的SDK或者是API或者系统调用是什么呢?就是我们谈到的技能开放平台dbp,他就相当于我们的SDK。

 

DuerOS Bot Platform

 

 

Dbp提供了两个能力:一个是API,另一个能力就是各种开放的工具,也就是技能开放平台相当于一套API加上一套辅助工具。

   

下面是一套具体的技能语言服务流程

 

 

用户说话,音箱获取用户的音频流,存储到DuerOS平台,DuerOS的核心服务会把这个请求打到具体的技能服务上去,技能服务得到了这些请求,把返回的结果返回给DuerOS平台,DuerOS根据返回的结果生成TTS返回到终端上去。简单地说用户对终端说话,音频流就传到了DuerOS,通过NLP(自然语言处理)将其转换为文本,同时转换为具体的消息,把这些消息通过HTTP的显示发送到技能服务,技能服务就相当于一个外部server,它接收到这些HTTP请求,然后生成回复,返回具体的DuerOS平台,DuerOS再根据你的返回结果完成TTS的播报。这就是一个典型的请求流程。

 

技能开发与web开发的对比

 

 

 

开发一个web应用,它的终端就是一个浏览器。智能语音应用,相当于用户通过语音跟音箱进行交互,你可将音箱和DuerOS两个加起来当做浏览器,也就是音箱和DuerOS合起来会把用户的语音转换成对应的HTTP服务,发到技能服务上去,技能服务和web服务没有本质的差异。也就是说唯一的区别是我们用键盘、鼠标作为输入,现在改成了语音输入;输出原来是通过浏览器的形式,也有可能是多媒体的输出,也有可能是屏幕当中的显示输出,在音箱中的输出完全是TTS,相当于是语音的输出,当然在有屏音箱上也有显示类输出。也就是说技能服务的开发与web开发最大的区别在于输入和输出的不同,具体的技能服务和web服务没有本质的差别。

 

智能语音应用的开发流程

 

 

开发流程主要包括六个部分:注册、创建技能、建立交互模型、编写代码部署、调试与验证以及技能上线商用。

注册

    注册有两种:企业开发者和个人开发者

 

 

目前的注册数量以及远远大于上面图片显示的数量。

 

创建技能

 

  • 用户询问的核心在这里称为意图。
  • 建立交互模型就是创建多种用户意图的过程。
  • 明确技能服务可以满足用户的哪些内容即意图。
  • 意图的标识就相当于具体事件的编号。

注:技能创建后会生成一个技能ID,是技能服务在DuerOS系统中的唯一标识。

 

交互模型

    交互模型的建立实际上是一种面向接口的设计方式,明确的交互的意图就是在一定程度上确定了技能服务的功能。

 

 

  • 用户询问的核心在这里称为意图。
  • 建立交互模型就是创建多种用户意图的过程。
  • 明确技能服务可以满足用户的哪些内容即意图。
  • 意图的标识就相当于具体事件的编号。

 

编码部署

    FaaS无服务架构具体应用

 

 

  • DuerOS 提高了高效安全的百度云服务免费使用
  • 在线编辑器提供对Python 和Node 的语言支持
  • 对交互模型中的意图进行匹配和处理
  • 在线编辑器中的代码将自动部署在CFC

 

编码实现的时候主要是完成对交互模型中的意图进行匹配和处理。下面是具体过程展示:

 

进入技

 

调试验证

 

    调试验证有两种方式:一种是在模拟器上,模拟器是一个在官网上的web;另一个是在真机上进行调试。

 

 

  • 保证技能开发账号和设备登录账号一致
  • 开启“技能调试模式”功能
  • 对设备说“开启技能调试模式”
  • 同一时间仅支持一个技能测试。

 

上线商用

 

 

 

  • 技能服务的更详细信息,例如技能的图标,简介,版本号等
  • 展示的视频,展示图片等。这些内容都将用于技能服务的应用推广,而且可能在百度系产品矩阵中全线推广。
  • 审核通过后, 所有的小度音箱用户就可以使用你的技能了。

 

DuerOS中的协议

 

    Dbp平台相当于提供了一套工具和一套协议(基于HTTP的协议)。Request包括如下内容:

 

 

Response中的内容:

 

 

DBP SDK

 

    目前有以下五种语音的SDK:

 

 

DuerOS的技能如下(从实现的角度来看):

 

 

小技能:零编程的,相当于dbp平台提供了现成编程模板,你只需按照模板填充具体的内容,或者填充一些话术就可实现一个具体的DuerOS的技能。

    自定义技能:自己开发一个网站。

    内容资源:比如blog、新闻、有声资源等等

    智能家居:通过DuerOS的智能语音设备,来控制家里的IOT设备,如何电灯、电视、电扇、冰箱、洗衣机等等。

 

DuerOS带屏技能

 

有屏设备提供了视觉展示和触控操作能力,给开发者提供了更多可能。相应的,技能的能力也有了增强,比如点击事件,视频播放等等。相信大家刚才也看到了一些演示的有屏设备上有屏技能。屏幕在很多场景有特特别的帮助,比如刚才那个冰箱的场景,正在致力于减肥的用户做完一组健身,本来还在犹豫是不是吃个狮子头,然后技能给用户展示狮子头的照片,卡路里量等等,可能会导致用户果断放弃。

有屏无屏各有胜场。比如一个菜谱技能。如果用户正在忙活,那么语音播报给用户西湖醋鱼的做法更有帮助。如果用户在小度在家前犹豫做什么吃,那么返回带图片的菜谱说明卡片对他的帮助会更大。或者卧室睡眠这个场景,那无屏的小度音箱就更适合一些。

用户与有屏音箱的交互。

 

 

ListTemplate

 

    在DuerOS早期提供了ListTemplate的模板,下面是一个模板的例子:

 

 

下面是他的代码:

 

 

现成模板的好处是不用管他的布局,因为布局已经完成。若需要自定义UI的时候,采用七月推出的DuerOS的DPL,它由指令和组件两部分组成,它是基于JSON的语法格式,可自定义布局,自定义样式,自定义常量,完成数据绑定以及表达式的支持。

 

DPL组件和指令

 

DPL的组件包括基础组件和复合组件:

 

 

指令具体内容如下:

 

 

DuerOS还持续推出API

 

 

DuerOS的AI赋能

 

    目前基于DuerOS有各种各样的技能应用,如生活类的、出行类的、教育类的等等,满足用户多样化需求。

 

 

DuerOS的24小时

 

 

 

 

 

注:该文章来源——直播课程《DuerOS 应用对话式人工智能》

 

收藏 评论(0)