技能类型

当确定技能提供的服务后,你需要在技能开放平台(以下简称DBP平台)实现你的技能。首先你需要选择技能类型。DBP平台支持自定义技能、智能家居技能和内容播报技能,你可以根据技能提供的服务选择相应的技能类型。

自定义技能

你可以通过自定义技能处理用户的请求(即意图)以及用户请求时所说的相关话语,为用户提供相应的服务。自定义技能可以处理以下类型的请求。

  • 订购外卖、车票、物品等。
  • 查找相关信息等。
  • 互动游戏等。
  • 其他各项服务。

技能交互举例

自定义技能的系统包括用户、语音输入设备、DuerOS系统、技能系统。如图所示,以天气技能为例,讲述自定义技能如何响应用户请求。

  1. 用户向语音输入设备表达用户的请求,如“小度小度,今天天气怎么样”。
  2. 语音输入设备将请求信息发送给DuerOS解析,DuerOS解析出用户的意图(查询天气),将该意图请求及相关时间(今天)、地点(定位点)信息发送给技能。
  3. 技能接收到请求后进行处理,并将处理结果“今天天气晴,气温4度”返回给DuerOS。
  4. DuerOS将处理结果转换成语音,发送到语音输入设备,播放给用户。会话结束。

用户:小度小度,今天天气怎么样。
技能:今天晴,最高气温4度...
(会话结束)

在天气技能的举例中,用户的请求通过一轮对话就得到了满足。真实场景中,用户的很多请求不能在一次对话之间完成,需要技能与用户进行多轮对话。

用户:小度小度,我想订外卖。
技能:你想吃什么呢?
用户:我想吃一个汉堡,一杯可乐?
技能:可乐要加冰吗?
用户:不加冰。
技能:好的,已经帮你下单,一个汉堡,一杯不加冰可乐,共消费30元,请确认。
用户:确认。
技能:好的,你的订单已经在派送中,祝你用餐愉快。
(会话结束)

在自定义技能中,你需要设计技能与用户的语音交互模型,并且在DBP平台上建立相应交互的模型,DuerOS根据技能的交互模型去解析用户的请求。

智能家居技能

你可以通过智能家居技能处理用户的控制智能设备请求(设备的指令),然后执行相应的指令,使设备达到用户请求的状态。智能家居技能可以为用户提供以下服务。

  • 打开、关闭电灯
  • 调节空调温度
  • 打开电视,切换电视频道,调节音量等。

技能交互举例

智能家居技能的系统包括用户、语音输入设备、DuerOS系统、设备云、智能家居设备。如图所示,以打开电灯为例,讲述智能家居技能如何响应用户请求。

  1. 用户向语音输入设备表达用户的请求,如“小度小度,打开客厅灯”,
  2. 语音输入设备将请求信息发送给DuerOS解析,DuerOS解析这是一条打开客厅灯的指令,然后将TurnonRequest指令发送给设备云。
  3. 设备云接收到TurnonRequest指令后打开客厅灯,当客厅灯成功打开后,技能获取到客厅灯的状态,向DuerOS发送TurnonConfirmation的指令。
  4. DuerOS收到该指令后,解析出指令对应的含义“客厅灯成功打开”,向用户返回信息“好的”,会话结束。

用户:小度小度,打开客厅灯。
设备云成功打开客厅灯。
DuerOS:好的。
<会话结束>

智能家居的技能不需要关注技能与用户交互实现过程,这部分工作由DuerOS完成。

如果你的智能设备在使用过程中想参与到用户交互中,那你需要设计技能与用户的交互模型,此时你需要选择自定义技能实现对设备的控制。

内容播报技能

你可以通过内容播报技能为用户播放所需的新闻、有声资源等信息。 内容播报技能将你的资源以顺序播放的形式提供给用户,不需要用户选择。

技能交互举例

内容播报技能的系统包括用户、语音输入设备、DuerOS系统、技能。以新闻技能为例,讲述内容播报技能如何与用户交互。

  1. 用户对语音输入设备表达想要收听新闻的请求,如“小度小度,我想听新闻”。(新闻是技能的调用名称)
  2. 语音输入设备将请求信息发送给DuerOS,DuerOS解析出用户想要获取新闻技能的资源,并向新闻技能发送请求。
  3. 新闻技能收到请求将请求资源相关信息发送给DuerOS。
  4. DuerOS获取到资源后,进行资源播放。会话结束。

在真实的场景中,用户收听资源时,中间会使用暂停,切换到上一条、下一条等指令。

用户:小度小度,打开新闻。(新闻是技能调用名称)
技能:为你播放新闻。 四年一度的世界杯预选赛亚洲区分组抽签结果...
用户:小度小度,暂停。
技能:(暂定播报) 用户:小度小度,继续播放。
技能:中国队分到了... 用户:小度小度,下一条。
技能:为你播放下一条新闻。全国大风降温预警...

内容播报的技能不需要关注技能与用户交互的实现过程,这部分工作由DuerOS完成。

如果你的内容播报技能在使用过程中想参与到用户交互中,那你需要设计技能与用户的交互模型,此时你需要选择自定义技能实现对资源的播报。

相关主题

技能交互模型