美文网首页
【体验报告】讯飞AIUI开放平台

【体验报告】讯飞AIUI开放平台

作者: 微聊 | 来源:发表于2019-08-08 09:40 被阅读0次

    人工智能的崛起,各大AI公司都纷纷搭建自己开发者开放平台,来构建生态系统,比如说百度和讯飞的开发者开放平台等,今天我们来聊聊科大讯飞的AIUI开放平台。

    01 概述

    官方定义:AIUI是科大讯飞2015年推出的一套以语音技术为核心的人机交互解决方案,意在使应用和设备能快速具备能听会说,能理解会思考的能力。

    通俗理解:你把你的设备接进来,我给你强大的技术支持,当用户输入语音时,我帮你理解用户的意图,帮你控制设备。

    AIUI的主要核心技术包括:

    核心技术

    接入AIUI的应用和设备,可实现查询天气、播放音乐视频资源、设置闹钟以及控制智能家居等功能。AIUI目前提供的开放技能:

    开放技能

    也就是说这是平台已经具备的技能了,我们可以直接调用,当然你也可以自定义技能,比如说自定义一个撩妹聊天的技能、讲笑话的技能、查询快递的技能等等(自定义技能我们在后面会重点讲到)。

    为什么各大AI平台都急着搭建自己的开放平台呢?对平台有什么好处?对开发者又有什么好处呢?

    对平台的好处:

    构建生态:看看微信开放平台的思路,你就理解了为什么AI平台也玩开放;自己能做的事情毕竟有限,只有提供好基础设施,吸引更多的人来玩,才更构建一个生态系统。

    要更多数据:AI的三架马车算法、算力、数据,开放是拿到数据最好的办法啊,特别是垂直细分领域的数据,在AI时代,谁掌握了数据,谁就掌握了未来。

    对开发者的好处:

    门槛低:不需要自己花这么大的人力成本去搞深度学习,去搞语音识别,语音分析等等,就可以享受到这么复杂的技术服务,完成很智能的产品。

    有更多的机会接触用户:这也是一个流量平台,只要我的东西有足够的吸引力,就有人来用我的东西,我就能获得更多的用户。

    简单:这里有很多组件,我要组装一个应用,很简单。就像我要做一个个性化的自行车,这个什么零件都有,我随便取。

    02 主要的模块

    我们今天所讨论的内容主要涉及以下这些模块和专业词汇。

    主要模块

    应用、技能、服务和设备的关系如下图:

    应用可由多个技能组装而成,而应用又可以跟设备连接起来,控制设备;也可以跟服务和内容连接起来,给应用提供更多的内容和服务。

    2.1     应用

    如果把“应用”比喻成一个APP的话,那么技能就是APP里的一个功能,比如说美团APP里有叫外卖功能、有订机票功能、有买电影票功能等。

    2.2     接入服务

    FLYOS 支持一系列的服务接入,这些服务可以分为三大类:语音技能、内容信源和智能家居。

    语音技能包括如播放音频、设置闹铃、回答问题等;

    内容信源包括(定期更新的)文本、音频、视频等;

    智能家居则包括了如灯泡、门锁、风扇、扫地机器人等被控设备的状态控制。

    当在 iFLYOS 中接入了你提供的服务之后,用户可以通过搭载了 iFLYOS 的主控设备,如音箱、耳机、电视等,调用你开发的技能或控制你的接入的智能家居品牌设备。

    控制智能家居的流程:

    控制智能家居的逻辑:

    1、选择智能家居控制服务提供商,绑定对应服务商IoT云的账号;

    2、当用户语音说:“打开厨房的灯”时,iFLYOS会识别用户开灯的意图和要控制的设备;

    3、iFLYOS会向IoT云服务发送指令请求。这些指令包含用户的授权信息,设备的唯一标识,和设置请求的相关信息;

    4、智能家居控制厂商,在接收到iFLYOS的请求后,通过IoT云控制特定的设备,并回复iFLYOS是否控制成功;

    5、iFLYOS收到回复后,将信息反馈给用户。

    2.3     接入设备

    就是让你的智能设备接入的平台,让你的设备快速的具备更强大的语音交互能力。比如说智能音箱接进来可以获得讲笑话等更丰富的功能;让KTV房的设备接进来,就可以语音点歌等功能。

    接入设备和接入服务的理念区别:

    接入设备是让你的设备具备能说会听的能力;

    接入服务是让你的服务能连接更多的智能设备,传递给更多的用户。

    2.4     技能

    技能指的是完成某一功能或任务的能力,比如说一个订机票的功能。

    技能包括两大类:

    一类是平台已经创建好的技能,可以在技能商店里直接调用,比如说股票、闹钟、天气等;

    另一类是自定义的技能,你可以创建自己的个性化技能(后面我们会重点讲);

    03 自定义技能

    自定义技能强大又简单,是一个重量级武器,这一章,我们重点来讲自定义技能。

    先来聊一下自定义技能能做些什么,后面再具体讲自定义技能怎么建。

    自定义技能能做什么?

    假设你是一家知识服务商,你可以把你的知识内容封装成一个技能,然后用户就可以以语音的方式接收到你的内容。比如说你的定位是新闻早报,用户去上班的路上,坐地铁的时候听的;或者是定位是睡前的知识学习。

    假设你是一家电影票的服务商,你可以把电影票和内容封装成一个技能,如果用户的智能设备上使用了你的技能,用户就可以跟设备进行语音交互。用户躺在沙发上的时候可以问:最近有什么好看的电影啊?都有谁主演?今天有哪些场次?要购买哪个场次?等等。

    如果把开放平台比喻成一个画展,那自定义技能就相当于一幅画,你可以申请画框,自由发挥画你想画的画,审核通过之后,平台就放出来给观众展示。

    那这个过程中平台有什么好好处,你又有什么好处呢?平台的整个画展的画就可以更加丰富了,而你不需要自己这么大成本的宣传,租场地设备,也可以宣传自己的画。

    怎么创建自定义技能?

    创建自定义技能通常分为以下几个步骤:

    假设我们以创建订机票技能为例:

    技能的场景和目的:订机票;

    穷举尽可能多的用户可能会问的方式(收集语料);

    要怎么回答用户,需要确定哪些信息才能完成订机票(设计话术);

    下面的内容就是以订机票技能为例,来创建一个自定义技能,说明创建技能过程中的具体步骤和涉及到的名词。

    3.1     创建

    技能类型:

    商店技能,只有审核通过后,才能发布到iFLYOS技能商店,可供其他用户调用;

    私有技能,只能自己调用,不需要经过严格的审核。

    服务平台:iFLYOS平台、AIUI平台

    3.2     意图

    先介绍一个名词“意图”。

    意图是指用户在技能中可能的请求或目的。

    比如说订机票,出发地和目的地是一个意图,出发时间是一个意图,飞机仓位(头等舱、经济舱)也是一个意图等等,因此一个技能可能会包含多个意图。

    如上图,我们建了两个意图,确认出发地和目的地、确认出发时间。

    3.3     语料

    接下来介绍另外一个名词“语料”

    语料是指用户在完成某一意图时,可能会有很多种提问方式。

    如问年龄时可能会说:你多大了、你几岁、你几年出生;这些都是问年龄这个意图的语料。

    如上图,在确认出发地和目的地的意图时,用户可能会问的方式。当然我这里只是列举了三个,可能还会很多很多。

    3.4     实体和辅助词

    接下来介绍另外两个名词“实体”和辅助词。

    我们输入的每一句语料中的词,都会被分为两类:实体和辅助词

    实体:用户的语料中,同一类型的名词将会被总结为实体。

    如上图的语料中,“明天”是时间time实体,“深圳”和“北京”是城市city实体。因此这个语料结构化的数据可以表示为“帮我订一张{time} {city}到{city}的机票”。

    辅助词的官方定义:为了满足开发者快速编写语料的需求,同时保证语料的可维护性,技能工作室提出了辅助词的概念,不同于实体,辅助词仅用于帮助开发者编写语料,但在最终开发者拿到的结构化数据中不会展现。

    如上图语料中,“帮我”、“订”、“机票”都是辅助词。

    把语料分为实体和辅助词是为了,让句子更加的结构化,便于机器理解用户的意图。

    平台会提供一些常用的实体和辅助词,当然你也可以自己创建实体或辅助词。

    3.5   创建实体

    在创建实体的时候会发现实体的类型又有三类,那这三类又有什么区别呢,下面简单说一下。

    先来说下静态实体与动态实体的区别:

    以一款《水浒传百科》的应用为例,假设这款应用有一项技能是:给我介绍一下李逵;

    结构化的语料是:给我介绍一下{name}。

    其中name是一个实体,当其他应用使用的时候,这个实体指代的是同一个人,这就是静态实体。

    但是假设还有另外一款应用《西游记百科》,里面也有一项技能是:给我介绍一下孙悟空;

    结构化的语料同样是:给我介绍一下{name}。

    你会发现这两个应用的结构化语料是一样的,但实际上这两款应用的实体指代的人是不一样的。

    因此为了区分这两个实体名一样,但又是指代不同的两个实体,我们引入的就是“动态实体”的概念。

    所见即可说

    假设有一款导航软件,当用户语音输入:导航到中科大;

    然后屏幕出现了如下的显示,很多选项:

    需要我们确认地址,假设我们需要到“南校区”,我们可以不用念一大串的文字,直接说“第三个”,那机器就知道我们去的是南校区。因为“南校区”是排在所显示位置的第三位,这就是“所见即可说”。

    3.6     填槽

    假设要订一张机票,至少3个信息是必须要确认的:出发地、目的地、出发时间,因此这些必填的信息,我们称之为必填槽。

    因此在设置槽位的时候,我们把这3个信息设为必填,假设用户的语料中没有表达完整这3个信息,我们可以针对缺失的信息设置追问。

    比如如果没有出现出发地,我们设置的追问是:请问出发地是哪里

    看下测试效果:

    3.7     意图确认

    设置意图确认语句:

    测试:

    意图确认其实就相当于我们平时使用APP的一个二次确认弹窗。

    3.8     创建技能的小结

    1、创建技能模块(商店技能或私有技能)

    2、创建意图(一个技能可有多个意图)

    3、输入语料(收集足够多的语料,用户可能的提问方式)

    4、实体和辅助词编辑(平台提供的或自建的)

    5、实体的分类(静态、动态、所见即可说)

    6、填槽(哪些是必填槽,追问语是什么)

    7、意图确认(是否需要二次确认)

    04  问答库

    语音问答(Q&A)是语音技能的简单版。不同的是,语音问答中的每一个用户输入,系统回复是确定的(可能是一个或者多个),不存在过多的逻辑处理。

    下面以建一个“土味情话”的问答库为例:

    一个问题,可以设置成多个回答。

    一个问答库,可以设置多个问题。

    这个问答库其实很简单,就是一堆“IF”组成的。

    05  创建应用

    前面我们说到了,一个应用就相当于一个APP,应用里的技能就相当于APP里的某个功能。如美团APP有叫外卖、买电影票等功能。

    我们以创建一个家庭机器人的应用为例:

    应用配置

    在这里,我们可以给家庭机器人添加各种技能,可以从自定义技能、自定义问答或技能商店中添加技能。

    添加刚建好的自定义技能“订机票”:

    添加刚建好的自定义问答库“土情话”:

    从应用商店里添加技能“股票”:

    添加之后,家庭机器人就具备了这三个技能,当然你还可以添加更多的技能。

    下面来测试下家庭机器人的技能。

    订机票技能:

    讲土情话技能:

    查看股市行情技能:

    因此,创建一个应用实际上就是给应用添加各种技能。

    06 对AIUI平台的评价

    6.1     优点

    简单便捷

    如果我们利用平台上已有的技能,我们只需要简单的几步,就可以创建一个看起来还挺智能的应用,即使是自己创建技能操作也很简单。

    开放性

    可以接入智能设备,可以接入各种服务或内容(如百科知识或者一些原创内容),也可以自定义技能,这其实是鼓励开发者在这个生态上创造内容。如果有足够多的开发者在这里开垦,那各种技能将遍地开花,讯飞开放平台也就变得无所不能了。

    生态闭环

    硬件和软件的闭环,底层技术与实际场景应用的闭环,通用性和自定义个性化的闭环。

    6.2     缺点

    不够智能

    开发者做的并非真正的机器学习,而更像是原始的if—else。比如说实体“北京”,用户说“首都”、“京城”可能指的也是北京,但如果设置的语料不够丰富,没有覆盖用户的随机话语,就无法识别了。

    需要大量人工维护

    自定义技能需要大量的人力成本维护,比如说一个订票技能,需要用户定义哪些是必填槽,如出发地、目的地、时间,而当缺乏时还需要设置追问语。这里只是假设有3个必填槽,但实际上可能会更加复杂,比如可能用户有时需要选不同等级的仓位、选不同的航空公司、选择不同位置等等,用人工处理起来就特别的麻烦了,而且不够灵活。

    局限性

    目前能接入的智能硬件还是非常受限的,需要智能硬件的服务商IOT云的授权,科大讯飞平台云才能操作智能设备。也就是说这个对于个人用户来说非常的无能为力,比如说我想把我的智能音箱“天猫精灵”接入讯飞的体系就不行了。

    6.3     总结

    AIUI开放平台,让开发者创建一个应用非常简单,但是不够智能,并非真正意义上的机器学习。

    因此对于简单的封闭域对话,我们可以通过AIUI平台简单便捷实现,但是要实现复杂的,更加智能的对话,还是需要自己踏踏实实的做机器学习。

    相关文章

      网友评论

          本文标题:【体验报告】讯飞AIUI开放平台

          本文链接:https://www.haomeiwen.com/subject/maltjctx.html