技能开发

技能开发分为如下4部分:

技能创建

对话定制

技能测试

技能发布

 

 

 

技能创建

新建技能

在技能页面选择“创建我的技能”,输入技能名称(技能名称只支持中文,字母和数字的组合)和技能描述(非必填项),选择技能分类。

这里以导航技能为例,演示如何完成技能开发。

 

创建任务

创建任务需要输入任务名称,命名【导航】。任务名称同样也支持中文,字母和数字的组合。

 

创建意图

任务创建完成后自动跳到意图界面,自动建立一个【自定义意图1】。修改【自定义意图1】名称为【导航】。

 

对话定制

步骤

对话定制步骤如下:

  1. 添加用户说法
  2. 说法标注
  3. 选择控件
  4. 资源调用
  5. 对话回复

 

添加用户说法

自定义用户可能的说法,按回车或者点击“确认”添加,也可通过“批量添加说法”,批量输入,一条说法一行。用户说法只支持中英用户在对话交互过程中,可能会使用到丰富多样的句式发起命令或提问,开发者需要尽可能地完善用户说法,按回车或者点击“确认”添加,也可通过“批量添加说法”,批量输入,一条说法一行。


以导航技能为例,用户可能会用到以下句式:

「导航到深圳大学」
「从上海火车站到东方明珠怎么走」


将上述语料中提取出的关键字替换为语义槽后,可以得到以下说法:

「导航去#终点名称# 」
「从#起点名称#到#终点名称#怎么走」
替换中使用到的##为语义槽引用符号,必须成对出现,中间填写语义槽名称。


为了方便开发者快速编写句式相似的用户说法,DUI支持在用户说法中加入正则符号“[]”“()”“|”的使用:

(): 必选符号,必须成对出现,不允许嵌套
[]: 可选符号,必须成对出现,不允许嵌套
|: 或(仅限于出现在括号内)


使用小括号,「(导航|出发)去#终点名称#」等同于「导航去#终点名称#」、「出发去#终点名称#」
使用中括号,「从#起点名称#到#终点名称#[怎么走|帮我导航]」等同于从「#起点名称#到#终点名称#」、「从#起点名称#到#终点名称#怎么走」、「从#起点名称#到#终点名称#帮我导航」

 

用户说法

除将语义槽直接写入说法的形式之外,DUI平台也支持添加例句,通过对例句进行说法标注、将语义槽绑定词库的形式来完善用户说法。

用户说法

 

选择控件

DUI平台一共有五种控件:图文卡片,列表,音乐播放,内嵌网页和自定义控件。
在本例中,导航选用列表控件。选择此控件后会自动在意图列表中新建一个内置意图【sys.用户选择】。这个是选择控件的时候自动生成的,不需要用户建立。

DUI控件介绍 

自定义控件开发说明

 

资源调用

语音交互过程通常需要查询数据资源来获取一些信息。如用户询问“今天天气怎么样”时就需要使用查询天气相关信息的数据资源,从而回答用户的问题,给予用户所需的信息。

DUI数据资源介绍

添加API资源

开发者可以通过在API资源地址栏中输入API地址来添加API资源。

例如在导航实例中,“POI查找”API支持的传入参数及功能:
1. 传入参数:destination,表示目的地
2. 返回数据:20个相关的地址数据,包括名称,详细地址,经纬度
在API地址框中输入API资源地址,完成添加操作。

配置API参数

每一个数据源都有自己的参数,需要查看当前使用资源的参数说明,才能完成资源参数配置。

API接口编写说明

 

对话回复

对话回复即系统在客户端对用户的请求,命令,询问等语音行为的回复内容或回复动作。如: 用户提出请求“导航去苏州”,系统在客户端对用户的对话回复就可以是:“正在为您导航”并且执行一个打开地图准备导航的动作。

对话回复详细介绍

在导航实例中,数据资源查询结果有一个参数count,表示搜索地址的数量:
1)当count = 1的时候,表示通过API刚好找到一个结果
2)当count > 1的时候,表示通过API找到多个结果
3)当count = 0 的时候,表示API没有找到结果
根据这三个不同的返回结果要设定不同的回复内容。回复内容需要手动输入,按enter键保存输入内容或者点击“+”完成添加。

找到一个结果:

输入回复内容:「已为您找到一个#目的地#,请问您要去这里么?」
下一轮对话:【导航】【sys.确认】和【sys.取消】
推荐语:「确认」,「取消」
备注:这里要添加两个内置意图:【sys.确认】和【sys.取消】

 

找到多个结果:

  • 回复内容为:「找到多个#目的地#相关结果,请问您要去哪一个」
    下一轮对话:【sys.用户选择】【导航】
    推荐语:「第一页」,「上一页」,「下一页」,「第一个」,「取消」

没有找到结果:

  • 输入回复内容:「没找到#目的地#相关结果,你可以换一个地址」
    下一轮对话:【导航】

sys.用户选择

【sys.用户选择】意图可以用来定制用户在列表选择地址之后的对话和执行。在此意图的定制界面中,已经内置了常见的选择和翻页说法,开发者不需要重新标注,只需要添加对话回复内容。DUI平台已经为开发者预先设置好了导航的客户端动作,可以配合 sys.用户选择 意图进行使用,只需要在对话定制时进行配置即可。
1. 输入回复内容:「即将为你开始导航」
2. 客户端动作:navi.route?lat=$parameters.latitude$&lng=$parameters.longitude$
3. 下一轮对话:【结束对话】

注意:
此处执行客户端动作需要在手机端安装高德地图车镜版
参数说明以及客户端动作响应方式详见客户端动作说明

sys.确认&sys.取消

在内置意图【sys.确认】和【sys.取消】中,已经内置了了常见的确认和取消说法,开发者不需要重新标注,只需要添加对话回复内容即可。
意图【sys.确认】和【sys.取消】的具体内容详见意图

【sys.确认】

1.对话回复内容:「即将开始为您导航」
2.客户端动作:navi.route?lat=$parameters.latitude$&lng=$parameters.longitude$
3.下一轮对话:【结束对话】

【sys.取消】

1.对话回复内容:「已取消,请问你想去哪里?」
2.下一轮对话:【导航】

 

技能测试

如果开发者引用的是web资源,那么可以在DUI平台上进行在线测试。如果开发者使用的是本地资源,那么需要开发者在终端调用本地资源来进行测试。这里导航使用的是web资源,因此可以支持在线测试。
保存所有更改后,点击保存右侧的测试按钮进行测试。

 

技能发布

详见:技能发布