开发文档

1、概述

AIUI开放平台提供了一系列内置人工智能语义理解能力,我们称为开放技能,例如天气、音乐、智能家居等。

AIUI开放平台也提供了让开发者自定义技能的能力。通过自定义技能,开发者可以让自己的用户享受到千变万化的业务能力和体验。例如,开发者可以让自己的用户:

● 通过点餐机器人排号订座

● 查询汽车违章信息

● 和好友一起玩成语游戏

● 为自己的孩子设计一段温馨对话,并将自己的声音设置为系统声音

从方便开发者的角度考虑,针对问答对这种简单形式的技能,AIUI开放平台还提供了问答库这种方便的技能定义方式:开发者只需在页面上输入自定义的问答对,系统即生成了自定义问答库技能。同样的,AIUI开放平台也提供了一系列内置的开放问答库,主要涵盖日常闲聊,并在不断丰富中。

如果对技能和问答库的区别还不是很清晰,请详细了解技能与问答库的区别

综上,AIUI开放平台提供了下面四种技能:

● 内置的开放技能

● 开发者自定义技能

● 内置的开放问答库

● 开发者自定义问答库

当开发者同时使用了上述两种以上的技能,需要考虑这些技能之间的优先级关系。请参考四种技能优先级关系。

2、开放技能

资源中心可以详细了解平台内置的开放技能,包括每种技能的使用介绍、语义协议。还可以在这里快速体验所有开放技能。开放的技能覆盖吃住行生活娱乐等众多垂直领域,帮助开发者快速实现基本需求。例如:

● 通过天气技能,查询天气(“今天的天气怎么样”)

● 通过音乐技能,播放音乐(“来一首刘德华的歌”)

● 通过空调技能,控制家居设备空调(“好热呀,打开空调”)

使用开放技能的具体操作步骤详见开发文档>如何接入>创建&配置应用

3、自定义技能

自定义技能提供了最全最强大的技能自定义能力,开发者可以用它自定义语义、自定义业务处理逻辑、自定义上下文关联、自定义对话管理,以及进行信源查询等等。(暂开放自定义语义,其他后续将陆续开放)

自定义语义,主要涉及三个环节,即创建意图、添加用户提问语料、为语义槽配置实体资源。具体操作步骤详见开发文档>如何接入>自定义技能。

(1)创建意图。意图,指技能中一类说法的集合,表示用户同一个目的或者触发同一个操作。比如音乐技能中,有随机播放音乐、按照歌手来播放音乐、按照歌名来播放音乐等类别的操作,可以归纳为randomPlay、playByArtist、playByMusicName等不同的意图。

(2)添加用户提问语料。在每个意图下,根据用户可能的说法,编辑多个提问语料。比如playByMusicName(按照歌名来播放音乐)意图下,可以添加“我想听{song}”、“播放{song}”等说法。

(3)为语义槽配置实体资源。在用户提问语料中或许会涉及到一些可变的内容,类似于编程语言中的变量,我们称之为语义槽,如上面playByMusicName意图下说法中的“song”。这个时候需要指定语义槽对应的实体,可以是平台开放的实体(如IFLYTEK.Song),也可以是自定义实体

4、开放问答库

平台同样开放并丰富了日常闲聊内容,覆盖情感、问候、抱怨、夸奖、心情、小知识等领域,且支持多问多答,针对各种类似的问题都能给出答案,让交互更加灵活自然,例如:

● 问候问答库,提供亲切的问候。当用户说到“早点睡觉了”,或者“早点进被窝哦“,问答库会给出回答“拉钩钩,明天要早点来找我玩哦”。

● 夸奖问答库,覆盖赞美、称赞等内容。当用户说到“你棒级了”,或者“你是个高手”,问答库会给出回答“谢谢夸奖,我还要继续努力哦”或者“一般般,世界第三”。

开放问答库的使用与开放技能的使用类似,具体可参照开放技能的使用。

5、自定义问答库

自定义问答库提供了简单的技能定义方式,开发者只需在页面上输入自定义的问答对,系统即生成了自定义问答库技能。AIUI开放平台自定义问答库支持多种问答模式和情感标签。

● 支持多种问答模式,包括一问一答、一问多答、多问一答、多问多答。这样,一方面类似问题不用重复编辑问答对,可以归纳在一个问答对中;另一方面,针对一类问题,可以在一组对应的答案中随机给出一个答案,让交互内容更加丰富灵活。

● 答案支持带情感标签,包括默认、中立、高兴、生气、悲伤五种情感,让交互更加人性化。

自定义问答库具体操作步骤,详见开发文档>如何接入>自定义问答库。

6、快速引导

了解了上述介绍之后,可以遵循下面的内容快速上手:

如何使用开放技能

  了解和体验平台开放的技能

  如何使用开放技能

如何使用开放问答库

  了解和体验平台开放的问答库

  如何使用开放问答库

如何使用自定义技能

  如何创建自定义技能

  如何创建自定义实体

  了解平台开放的实体

  如何使用自定义技能

如何使用自定义问答库

  如何创建自定义问答库

  如何使用自定义问答库

7、技能与问答库的区别

问答库属于一种模板化的技能,它针对问答对这种形式的技能,提供方便的技能定义方式:开发者只需在页面上输入自定义的问答对,系统即生成了自定义问答库技能。这种模板化的技能,相比普通技能,为开发者带来便捷的同时,不可避免带来的弊端是功能受限,比如不支持后处理编程框架,因而无法进行上下文关联、信源查询等高级编程功能。

解决问题 示例 开发步骤 优缺点
技能 多轮交互的需求
涉及业务逻辑、数据等处理的需求
天气、火车、音乐、故事等 详见技能的开发步骤 优点:功能最全,开发者完全自定义开发
缺点:开发者门槛较高,具备技能开发的全栈知识技能
问答库 解决问答类的业务需求
无上下文关联、业务逻辑、信源查询等功能
问候、夸奖、抱怨、热点话题等 模板化的技能,只需在页面上输入问答对。详见问答库开发步骤 优点:开发简便,只需输入问答对即可生成问答技能
缺点:只面向问答业务需求,功能单一受限,无法自定义后处理编程
8、四种技能的优先级关系

AIUI开放平台对于各种资源的配置使用,服务框架如下:

当自定义资源与平台开放的资源存在相同内容pk时,自定义资源中的内容将优先。当技能与问答库存在相同内容pk时,问答库中的内容将优先。总结一下,四种技能的优先级关系为:自定义技能>自定义问答>开放问答>开放技能。