迟来的体验——以往大家讨论人机交互,更多的是在说百度的unit、阿里的bot framework(现在叫对话工厂),但是思必驰作为行业的参与者,其实也在语音交互场景中发力,在许多场景中实现了落地,今天我们就尝试使用思必驰的DUI开放平台搭建一个属于自己的智能机器人。
DUI介绍
思必驰是国内数一数二的AI公司,专注人性化的智能语音交互技术。具备完整的语音识别、自然语言理解、智能对话、语音合成技术,提供整套语音交互系统解决方案,目前已经在众多软硬件中实现了应用的落地。DUI是去年9月思必驰对外发布的语音交互开放平台。开发者和应用方可以通过DUI平台完成自己的机器人搭建,并通过开发、发布,就能够被使用了。
DUI(Dialogue User Interface)就是将VUI、GUI进行结合,通过通盘的设计,使得用户在界面交互和语音交互中体验更智能的一种设计手段。相比于APP的纯GUI交互以及智能音箱的纯VUI交互,DUI算是比较新鲜的了。随着智能语音交互技术在车载、家居、酒店等场景不断落地,DUI开始被大家所关注。
概念说明
人机交互是一个复杂的对话流程,因此在机器人中除了配置的单轮知识库,还会需要配置对话流。在配置交互内容时,存在需要了解的概念,这块我们在开始配置前先进行说明。(所有名称均以DUI展示的为准)
语义槽
槽可以简单理解为话题在交互中的变量。在任务型的对话中一个话题,一般就是一个完整的意图,就好比订机票、交易基金、导航等。在这些话题中,会存在很多个话题变量,例如在订机票场景中的出发时间、出发地、目的地等。这些变量在用户问句中的位置,就是一个个槽位。
槽位根据槽位信息的来源分为词槽与接口槽两类,词槽即将槽位里的信息通过词库进行管理,接口槽一般是用于槽位值需要自动获取的情况,例如用户要查询离自己最近的加油站时,系统自动通过位置接口获取用户当前的地理位置作为出发地。
词库
有一定了解的你就会发现有的槽位中的内容可能性会存在上千,甚至上万的情况,例如:整个中国的所有县市列表;还有一种情况就是一个槽位的内容,会有很多种说法,例如:股票名称,每个股票每个用户的说法存在区别。那么如果我们去遍历的话,不就得把所有的说法都写一遍了么。因此,就引入了词库概念,将槽位里的所有情况通过词库进行管理,在用户需要使用时,直接使用整个词库作为语义槽的内容。在DUI平台中也引入词库的功能,将所有槽位值,通过词库的形式进行统一管理。
我们通过建立词库名-取值-同义词的关系,实现对量级较大的槽位进行管理,这样我们在配置时也就能够实现复用。
必需
“必需”我们可以理解为话题的必要条件,就好比你定机票那么时间、目的地、出发地就是必要条件,当你没有这些条件时,你是无法购买机票的。与必需相对应的就是非必需,还是拿订机票的话题,航司、舱段这些就是非必需的。在用户没有说明的情况下,我们可以根据系统默认的方式给用户订机票,只有在用户明确需要时,系统在进行处理。既然是必需的条件,那么在用户说法中没有表达时,系统就应该反问用户,即“必需必问”策略。
条件&条件组
在语音交互的对话流中,人们可以将对话流抽象成一个对话的网状结构。那么每一个节点就会对应多个上层节点和多个下层节点。那么怎么去区分我们应该往哪些节点进行交互呢,就是通过条件来进行的。
但有时一个条件不足以我们进行判断时,就会引入条件组的概念,我们可以通过条件与条件组之间的逻辑关系实现更细的操作。
API资源
API资源即API接口,在DUI中,思必驰将很多API接口做成了商城的模式,开发者可以很方便的在里面找到资源。对于不了解API接口的用户,可以将API接口理解为一个黑盒,我们通过给它参数,它能够返回给我们一个需要的数据或者操作,就好比我们给了它出发时间,出发地,目的地,它将满足这个条件的所有航班信息返回给我们。
Function
当我们配置的BOT需要的API接口在API商城中没有时,function就是DUI留给开发者自己配置接口的。这里面为了用户体验考虑,如果接口在开发者自己的服务器可能存在请求超时的情况,因此需要开发者将开发的发布到DUI的云端。
证券客服BOT能力
在这次体验中,我们计划让机器人具备两个能力,一个是解决用户的简单客服问答,另一个就是让用户能够通过机器人实现股票交易下单。由于诊断股票、选股票的情况,需要数据进行支持,所以在本次体验中就不涉及了。
搭建操作
在DUI中“产品”即为一个BOT,在一个“产品”中,我们可以通过给这个产品配置多个技能,使得这个“产品”能力丰富。这种组装的方式,也是目前业界都采用的方式,可以有效避免服务失效导致BOT失效,但是这样也会存在一个问题,就是需要在各个分BOT之前设置一层意图识别,机器人需要先判断用户的意图,然后再分配给对应的BOT进行处理,如果意图识别正确率不理想,就会给用户一种答非所问的感觉。
创建技能-证券客服知识
第一步:创建技能
第二步:选择技能类型,这里将任务分为了任务型和知识型
第三步:新增知识点,知识点是用于知识问答分类的,方便运营人员管理知识问答
第四步:新增知识问答,选定知识点后,点击“+”即可在该知识点下增加问答知识了。
第五步:配置问答知识内容,在DUI中知识问答的
第六步:数据生效
创建技能-下单
第一步:创建任务型技能
操作同知识型,此处省略
第二步:创建任务,在DUI中一个技能是多个任务的组合
第三步:配置用户说法,在DUI中配置用户说法时,操作同阿里的对话工厂一致,采用的是划词自动联想词库的交互形式。
第四步:配置语义槽,在语义槽配置时需要根据业务去区分槽位的必需性。在这里提问可以支持配置多条,这样能够避免用户听到的都是一个话术,使得用户体验更智能。
第五步:配置资源调用
由于我们自己体验,所以没有前段进行展示,因此在空间、资源调用都不进行体验了。就通过文本的话术回复进行模拟。
第六步:配置对话回复
第七步:测试
创建产品
第一步:新增产品
第二步:填写产品基本信息
第三步:配置产品模式
第四步:开发语音交互系统
第五步:配置语音能力
第六步:配置错误场景处理
第七步:选择产品需要配置的技能
发布生效
DUI的发布由于需要实名制,而且本次仅仅体验平台能力。因此发布生效就未进行操作了,大家有兴趣的话,可以自己尝试接入到前端服务上去。
效果展示:
平台建议
通过DUI搭建BOT的体验,也发现了DUI的几个问题。
1.语义槽支持数值
数量目前在DUI上只能输入汉字,这就导致了输入股票只能使用名称,不能使用代码。这是由于语音识别是转换成汉字的,但是既然是DUI,那么就会存在GUI的交互,那么解析只针对VUI进行了处理,是不是就不合理了。因此,为了支持更多的交互场景,解析这块对数值的支持也应该提上日程了。
2.填槽
接口槽
目前DUI的语义槽都是通过用户说法划词进行抽取的,但是在一些场景中,交互中需要的槽位在用户表述中会被忽略,即隐含的信息。例如:大家在使用导航软件时,正常操作就是直接搜索目的地,点击“到这去”,app自动就会规划好路线给用户。用户在操作中是不用和机器说我现在在哪的,只有出发地不是当前所在位置时,用户才会去修改出发地信息。
多值问题
在许多场景中,语义槽存在多个结果的情况。用户在点餐的场景,用户是会同时报出多个菜名的,还有就是在添加歌单时,用户也是存在同时添加多个歌名的情况。如果只是单个槽位值的话就会限制很多应用的场景。
3.交互配置可视化
实际情况中的多轮对话可能是很复杂的,因此会存在多个条件判断,进行分流到对应的节点。如果对话流可以进行可视化展示,会直观很多
4.条件配置支持默认选择
有一点不方便理解的地方就是配置条件,如果没有说明完全不理解对话框中支持的内容的。看了后发现支持引用语义槽和引用查询结果,那么既然条件配置只支持引用语义槽和查询结果,那么能不能直接做成下拉菜单栏,这样减少新手学习成本、方便运营配置。
5.条件组展示优化
当设定多个条件时,在页面中并无逻辑关系的展示,用户只有看了文档才能知道这些条件之间是且还是或的关系。这个对用户配置来说太不友好了。
6.丰富基本配置
DUI中的错误处理,可以通过平台进行配置,这算是一个亮点,不过我认为这里面还可以继续优化。在错误的场景中应该不限于语音识别无结果、语义无结果这种机器人判断的主观错误。还存在一些用户客观的错误场景,例如用户没听清、展示的候选项都没有用户需要的。如果能够把这些错误处理也加入进去,相信DUI能够支持配置更加智能化的机器人。
7.错误播报轮数配置
DUI在“产品”的错误处理配置中有各种情况的配置,包括话术、错误的场景、轮数限制,但是在任务型的技能中错误处理中就没有次数限制了,那这就会导致用户在对话中被限制,而无法逃出。对话轮数的限制其实就是VUI设计中的“逃生舱”,毕竟VUI没有GUI的可视化界面。
8.自定义词库与系统词库未区分
在使用中发现一个词库应用的问题就是配置的词库与系统自带词库,在划词配置时未作区分。这个的场景就是,运营在配置了自定义的词库后,那么使用自定义词库的概率肯定是大于自带词库的,那么未作区分的话,运营只能通过搜索词库关键字,检索才能找到。如果能够将自动自带词库与配置词库在符号上进行区分,相信在开发过程中肯定能够效率倍增。
8.填槽不支持泛化
根据体验,在目前的DUI中,抽槽、填槽还只是通过配置的词库进行实现的,这就会存在以下问题:
1.配置词库不全,在词库中未配置的同义词,用户说到时BOT没反应。
2.运营维护成本,运营需要持续去线上找缺漏的同义词补充,然后回到词库中补充
3.泛化能力差,用户将一个连续的短语,断断续续描述
4.词库冲突问题,在肯定、否定意图中如果用词库进行匹配,就会存在用户说:“不用,解决了”误识别为满足两个意图。
5.转写错误导致填槽失败,了解ASR的都知道,ASR存在插入、删除、替换错误三种类型,这些都会导致匹配不到配置的词。
如果可以实现ner抽取实体,结合词义相似度模型去填槽,相信效果能够更好。
总结
能力有限,本次体验还是比较浅层次的。综合来说,思必驰的DUI开放平台是目前语音交互解决方案整合度最高的,用户可以通过一个后台完成整个机器人的配置和技能配置。但是功能性上面相对于,百度的unit和阿里的bot framework还需要提高。
历史文章:
你想知道的电话智能客服都在这了
传统客服知识库,如何进行图谱化改制以及具体的应用?
智能外呼——应用在售楼对话会是怎样?
外呼失败场景如何处理?
如何让智能客服更有温度?
参考资料:《DUI,GUI和VUI的区别》
https://wenku.baidu.com/view/dfad1144f08583d049649b6648d7c1c708a10ba1.html