文档中心 > AliGenie开发者平台

5步创建自定义技能

更新时间:2018/08/07 访问次数:88478

自定义技能支持专业开发者设计符合自己业务场景的语音交互流程和业务处理逻辑,创建出功能强大的技能,所以在创建技能前,需要查看天猫精灵当前是否已存在类似技能,如果已存在,则建议从其他的用户使用场景或角度考虑创建更加独特的技能。

查看方法:天猫精灵APP->技能->搜索;比如想创建跟“猫”相关的技能时,可通过搜索关键词“猫”查看已存在技能,从而确认是否有开发的必要性。

开发者基于AliGenie开发者平台提供的算法能力,自定义技能的意图、语料、参数、上下文、业务处理逻辑,还支持APP端绑定账号、接入配置页面,以支持个性化业务逻辑的开发。

在这个简明教程里,你可以学习如何通过5个步骤,来创建一个简单的天气查询技能,并进行在线测试来验证技能的功能。

第一步: 登录并新建技能

登录AliGenie开发者平台后,在控制台-技能列表,点击“添加新技能”,开始创建标准技能。

技能类型选择“自定义类型”,同时设置技能名称和唤醒名称

技能名称:展示在技能市场的技能名称,在发布时将进行唯一性检测。

唤醒名称:用户使用这个技能说需要说的关键字,如“天猫精灵,抛硬币”,则调用了“抛硬币”这个技能。

       因为唤醒名称具备平台唯一性和专业词保留权利,同时也为了避免因“唤醒名称”不能准确识别造成开发及审核周期的延长,所以在填写唤醒名称时,开发者需要通过天猫精灵音响提前验证欲填写的“唤醒名称”是否能够准确识别,同时是否与别的技能唤醒名称冲突。

       验证方法:唤醒天猫精灵音箱后,直接说出欲填写的“唤醒名称”,之后在天猫精灵APP->精灵 模块查看对话流信息,如欲填写的“唤醒名称”能够被准确识别且不与其他技能冲突时,就可以填写验证后的唤醒名称了。当然,如果是专有名词或特别想用的唤醒名称,则需要在技能发布页的“测试说明”字段里进行详细原因描述。完成以上内容填写后,我们就新建了一个自定义技能。

第二步: 设置实体

由于天气需要提供“城市”才能查询,所以我们需要创建一个城市的实体,相当于提供一个词典,让算法模型知道如何去识别用户语句中的城市。

关于实体,想了解更多可参考文档中文相关内容

点击左侧:“配置>实体”菜单,打开实体配置页面,点击“创建实体”新建一个实体,设置实体名称和描述:

点击“新增”按钮,设置支持查询的城市名称。如果城市有别名,可以加在“同义词”列,这样用户语句里提到的时候,系统就能识别了。

点击“保存”保存记录,也可以进行“编辑”和“删除”。

 对于批量的数据,可以使用批量上传的功能。点击“批量上传”,在弹出对话框中下载文件模板,填写后点击“选择文件”进行上传。

创建成功后,我们就在实体列表中看到了我们创建的实体:

 

第三步: 设置意图

意图用来设置技能的业务逻辑,是我们技能的核心。

点击左侧:“配置>意图”菜单,打开意图配置页面,点击“创建意图”新建一个意图,先设置意图名称:

创建后点击编辑,先找到普通语料这一栏,这里配置的是我们认为用户查询天气的语句,利用这些语句,算法会进行建模,这样用户说到类似的话时,我们就能识别出他是在询问天气,然后进行相应的处理了。

上面的语句中,不少包含了天气查询所需要的“日期”和“城市”,我们需要对语句进行标注,告诉算法模型,这些是我们认为必须命中的字词(旧版本中是支持的,新版本这里不作为参数获取的方式)

鼠标选中语句中我们需要标注的部分,页面上会自动弹出支持标注的实体,这里有系统的两个实体“sys.location","sys.time"还有我们刚刚创建的”city“

如”今天北京天气怎么样“,我们分别标注”今天“为”sys.time”,“北京”为“city”。

 

第一次标注后,我们发现弹出列表上多出了“sys.time:time" 和”city:city",这个是根据实体创建的参数,后续其他语句的标注我们都选择这两项。

第一次标注后,自动生成的参数如下,在这里,由于日期和地点是查询天气的必要字段,所以我们设置两个参数为必选。

其中time的默认值设置为“今天”,而city我们设置了追问语句,即在没有解析出参数值的时候,我们会进行提问。

 

设置追问语句,当没有解析到城市时,会随机使用一句进行询问:

 

PS:在勾选了必选参数,而没有设置默认值和追问语句,会报错,并且webhook不会收到请求

 

添加语料的时候,我们也可以选择类型为模板,使用@{参数名称}的方式编写,效果和例句一致。

除了”普通语料“,我们再设置一下“连续对话语料”,连续对话语料代表用户被识别出意图后,可以用省略的语句重新进入这个意图,比如:

“北京今天天气怎么样?”

“明天呢?“

 

第四步:配置执行逻辑

设置完语料和参数后,我们就能在用户说到相关的语句识别出用户的意图,并且解析出其中的参数,然后我们进行处理。

大家可以通过WebHook,来完成回复内容和业务处理逻辑,具体请参考WebHook使用文档

配置完这些后提交保存,我们就可以在“在线测试”功能中测试我们的技能了。

第五步:测试验证

点击“测试-在线测试”菜单,可以在输入框输入语句进行测试,可以用唤醒名称进行测试:

由于直接在技能下测试,你也可以不带天猫精灵的唤醒词,而直接使用技能的调用词或者调用词+语料的方式进行测试,技能调用后,只要没有退出,还可以直接使用语料交互测试;

 

如果在线测试没有问题,则可以使用真机测试进一步验证技能在机器上的效果。点击进入“真机测试”tab页,开启真机测试功能,开发者账户绑定的天猫精灵,就可以使用该技能了。你可以对音箱说:“天猫精灵,打开超级天气”或者“天猫精灵,超级天气上海天气怎么样”。

使用真机测试功能,并辅助APP的对话流,你可以验证语音识别和交互的真实效果。如果你的唤醒词和例句包含专有名词、生僻词、同音词,可能导致识别结果达不到预期,建议你调整唤醒词和例句为更容易识别的词句。

这样,我们就完成一个简单的天气技能的创建。当一切准备就绪后,我们就可以提交技能进行发布,发布相关流程,请查看文档中心技能发布章节

 

注:原在线逻辑配置功能于8月10日开始暂不对外开放

 

FAQ

如何记住我的上一个问题

音频素材怎么调用

返回
顶部