浅谈对话式UI设计的重要性
对话式UI只是一种聊天机器人的体验,它以一种自然的方式处理语言,就好像你在和另一个人发短信或说话一样。一种典型的技术体验,包括电脑、网站和移动应用程序,都需要人们点击不同的图标或链接才能让计算机做任何事情。这既不是自然的,也不是拟人式的交流,即使现在我们已经非常习惯它并期望使用它。
对话用户界面(ConversationalUI)使人的交流方式转变为与另一个人进行正常的对话。目前,使用对话式UI的两种流行方式是通过实际的演讲,想想亚马逊的Alexa,或者通过聊天和打字,通过聊天机器人,通过Facebook的Messenger。在这篇文章中,我们将集中讨论这一种类型。
简单地说,比起使用技术,人们更善于相互交谈。这是天生的技能。当我们和朋友或陌生人交谈时,如果我们说了一些令人困惑或说错的话,我们很容易纠正自己。
我之前提到过,人们习惯于通过点击或触摸,以更自然的方式与技术进行交互。然而,我们都知道,有很多情况下,体验是令人迷茫的,例如,当用户在表单字段不够详细时会出错,或者人们在应用程序中找不到他们想要的东西。
在用户测试中有很多东西是为了确保一个功能,一个交互或一个网站是容易使用的。对话用户界面不应反对用户测试,但是,一般来说,用户和用户的体验在默认情况下应该更容易操作一些。(用户测试结果将是不同的。)毕竟,技术应该进化,以适应我们以及用户。
不久前,Facebook将聊天机器人API集成到Messenger中,允许Messenger用户通过对话用户界面在一个全新的层次上与企业进行交互。你并不是直接和公司的员工交谈,虽然有时是的,但并不总是。但这就是感觉,这就是经验。然而,通过一次简单的交谈,你现在可以检索到关于即将到来的航班的信息,比如KLM聊天机器人,询问CNN最新的消息,无论是一般消息还是特定主题,或者在与Nordstrom聊天机器人回答一些问题后收到个性化的礼物推荐。
我们来谈谈诺德斯特罗姆吧。重要的是要注意诺德斯特龙与其聊天机器人的机会。随着越来越多的人成为移动端的用户,提供一个更无障碍的使用手机在线购物的体验方式,这是一个伟大的商业想法。诺德斯特罗姆早在2016就看到了这个机会,并推出了一个聊天机器人,帮助你找到度假购物的礼物创意。这是一个令人惊奇的商业机会,同时也是一个令人惊奇的客户体验,就在这里,客户正在享受他们的Messenger应用程序。
由于诺德斯特罗姆公司的巨大成功,其他商业和电子商务公司也纷纷效仿。你可以很容易地与汤米希尔菲格,每个人的春天,fynd的传奇,优衣库,1-800鲜花,巴宝莉,甚至易趣对话。虽然并不是所有的商业聊天机器人都允许浏览和购物,但你仍然可以访问相关信息,例如跟踪订单。这是一个更容易的经验,当你可以问“哪个是我的订单”,而不是筛选你的收件箱或登录到特定网站的帐户。
SLACK以其聊天机器人而闻名,更具体地说,它是Slackbots。该应用程序附带了自己的机器人,您可以轻松地与之交互。你可以将不同的应用程序与Sack集成在一起,比如GoogleCalendar或Hangout、Maker、Intro、Gife或Statbot,这些应用都与谷歌分析(GoogleAnalytics)、新文物(NewReic)或混合面板(MixPanel)等应用集成。然后,当与Slackbot交谈时,您可以根据需要获得所需的信息或gif。松驰彻底改变了团队和公司日常工作的方式。它使信息从多种来源很容易获得,只需询问就行了。
这本身就是令人难以置信的。但公司可以自己制造机器人,并将它们集成到团队的闲置账户中,或者让其他机器人进入他们的账户。比如塔科贝尔的塔科机器人。它会在你下订单的时候,就可以从塔可钟那里得到的个性化推荐。
如果您注意到,本文将更多地讨论用户体验,而不是用户界面。那是因为对话用户界面是关于用户体验的。对话式界面这个词是误导的。Facebook、Messenger和Sack都有自己的用户界面--除了设计聊天机器人与用户和客户之间的互动和对话之外,你什么也做不了。然而,我有一个很好的例子,一个独立的应用程序,数字,它集成了自己的视觉设计。这主要是给你提供非facebook和非Sack的对话用户界面的例子。不过,让我告诉你的是,这就像设计一个个人用户聊天界面。
对于那些没有听说过大数据的人,我强烈推荐,这是一个超级应用。你可以用这个应用程序做各种各样的事情,比如付款,检查帐户余额,取款,存钱,定期转账等等。您可以通过两种方式与数字机器人交互。第一个是在应用程序中。应用程序的主屏幕是聊天机器人界面,但是你可以在那里做一些其他的事情,比如帐户和在机器人之外设置交互。
不过,如果你选择与机器人交谈,机器人也可以帮助你。机器人做得很好,因为有时你可以选择一组选项,而不是键盘。它可以帮助用户体验,因为它会让用户了解未知的可能的对话点,并使与机器人的交互变得特定,而不是模棱两可。
第二种方式,你可以与智能化机器人互动,是通过发送短信。对话可能完全相同,但如果你不知道它的所有对话能力,可能会更具有创意能力。这在两个方面都很棒,首先,对话式UI的使用为数字用户提供了一种新的、最终更容易的交互。
因为数字允许交互,既可以在应用程序中,也可以通过短信,你可以用一种更舒适的方式与应用程序交互。正如本文中所说的,对话式UI的目标是提供一种更简单、更自然的方式来使用应用程序、服务或执行任务。数字是一个很好的例子,把对话式UI提升到下一个层次。
当涉及到用户界面时,大多数人都不会想到对话式UI。对话式UI的核心是让技术表现得更像我们彼此之间的互动。这是对更简单技术的推动。它也正在成为一种更加流行的方式来整合互动。对此,我并不感到惊讶,因为它为他们的客户提供了许多商机,也为他们提供了更好的体验。
一. 智能客服中场景的定义及分类
用户解决某一个问题,需要与机器人进行多次对话才可以解决的问题,就是智能客服中的对话场景。一般它分为单场景对话和多场景对话。
1.单场景对话
定义:用户与机器人只进行一个主题的对话,如“查天气”
例1 场景【 查天气】
用户:明天天气怎么样
Bot : 零下10度,可以多穿一些哦。
用户:那上海呢?
Bot ::零下1度哦。
2.多场景对话
定义:用户与机器人联系进行了多个主题的对话,如“查询订单+退货”。
例2 场景 【查询订单+退货】
用户:看一下我买的东西到哪了
Bot: 向用户发出订单列表
用户: 嗯,看一下第二个
Bot: 发出订单详情
用户:还没发货啊,帮我退了吧。 ——从用户的这句话开始,对话的场景就从“查询订单状态””变成了“退货”,退货与查询订单是两个不同的主题,他们既可以独立存在,也可以合二为一。
.
二.场景设计
设计一个对话场景,主要包含两个方面:起始条件整理、流程整理。
小知识:假设“查一下明天上海的天气”是用户说的第一句话,那么它就是一个场景中的起始条件,而在这句话是由两个要素词构成的“明天”,“上海”,这两个要素词分别代表了时间和地点。由此可以推论出这个起始条件的主要结构是时间+地点。
1.起始条件整理
在对话场景中用户与机器人第一次交互时,所说的话为起始条件。而一个对话场景有多个起始条件,不同的起始条件会让机器人与用户的对话的流程出现不同的走向。所以场景设计的第一个步,我们需要将对话场景中不同的起始条件全部整理出来。
例3 场景 【查天气】
条件举例
例4 场景【请假】
条件举例
2.对话流程
整理好全部的起始条件后,就可以根据去撰写每一个条件下的流程。具体可以看下面的例子。
例5 场景【请假】
起始条件:仅包含请假
U:明天请假
A:请到哪天呢?
U:后天
A:请告诉我工号
U:001
A:您的请假申请已经提交了。
例6
对话起始条件:仅包含请假天数。
U:请三天假
A:请问您是哪一天开始请假?
U:后天。
A:请到什么时候呢?
U:周五。
A:请告诉我您的工号
U:001
A:您的请假申请已经提交了。
通过例5和例6我们可以看到起始条件的不同,会导致对话的流程也不同。所以整理出全部的起始条件事关重要。不过对话流程整理好之后,场景设计的部分就高于段落了。接下来就需要进行意图的整理。
三.对话意图的设计
这一部分主要介绍意图的分类、如何拆解场景中的对话意图、对话意图知识的设计及优化。
1.意图的定义与分类
意图是指用户的目的,如用户说“我想听音乐”,那么听音乐就是用户最终的一个目的,我们只要给他播放一段音乐就可以了。在智能客服的使用情况中,意图一般分为两大类:问答意图和对话意图。问答意图是指一问一答,如用户问“退款时效”,退款时效这个问题,每个商家都有一个固定的答案。这就是一个问答意图。
但在对话场景中,用户都会与机器人多次交互,每一次交互用户都会表达自己的目的,这个目的其实就是我们所说的对话意图。 请看例子
例 7 场景【查快递】
在网上买完商品时,我们会查买的商品的派送情况,图中的用户说“我的快递到哪了”。“我的快递到哪了”这句话就是一个对话意图,用户说它的目的就是查询快递派送的进度。
2.对话意图的拆解
一个对话场景中一般都包含多个对话意图。基本上,用户和机器人的每一次互动就是一个单独的对话意图。我们可以把例7图里的对话流程写下来 看一下
例8 场景【查快递】
起始条件:多个商品订单
U:我的快递到哪里
A:订单列表
U:选择一个订单
A:显示订单派送情况
在这个场景中,用户表达了一个目的就是“查询订单状态”,所以机器人会向用户推出订单列表,确定用户询问的是哪个订单。这就是一个对话意图。接着用户确定了具体查看的订单后,机器人需要把确定好的这个订单的物流信息发给用户,这也是一个对话意图。
所以上面的场景中包含了两个对话意图。到这针对于这个场景的对话意图的拆解,就结束了。
3.对话意图知识的设计
拆解好场景中所包含的对话意图后,我们需要设计意图。还是用场景请假来举例
例 场景【请假】
起始条件:仅知道开始时间
U:明天请假
A:请到哪天呢?
U:后天
A:请告诉我工号
U:001
A:您的请假申请已经提交了。
对话有三轮,所以这个流程里有三个对话意图。我们先来看第一个对话意图的对话内容。
U:明天请假
A:请到哪天呢?
明天请假,在这句话里明天是一个要素词,它代表了请假开始的时间。所以这个意图=请假开始的时间, 它的构成成分就是具体的时间/日期 ,如今天、明天、12月30日等等,而一般的对话系统中会把时间类的词语都内置进去,所以这里就不在进行穷举了。
这个对话中只含有了一个要素词,但根 据起始条件的不同 , 对话意图中包含的要素词的数量都是不一样的 ,具体的可以参考每一个起始条件的流程去设定。
4.对话意图的知识优化
对于同一句话,每一个人的表达方式都是不一样的。为了使机器人能更准确的解读用户所表达的意思,做好知识的优化是一件必要的事情。优化步骤包括:写出所有句子——拆解组合——归纳同义词。
例: 快递到哪了
物流到哪了
东西到哪了
这几个句子表达的意思都是“查物流”,可它们的用词并不完全相同,通过拆解,我们可以得到以下结论:这条知识=快递的同义词+到哪了的同义词
例: 查快递
查一下快递
快递查询
查一下商品物流
这组句子表达的意思也是“查物流”,它们的用词并不完全相同,通过拆解,我们可以得到以下结论:这条知识=查的同义词+快递的同义词。
分析完上面两个例子,可以很明显的看到这两组的组合都只有两个词组,而其中有一个词组是相同的,所以可以将这两组组合进行合并:快递的同义词+查/到哪了的同义词。
四. 意图知识的线上管理
1.机器人的分配
将所有问答意图及对话意图设计和优化一遍之后,就要将这些准备好的知识导入到机器人的线上平台进行操作。一般的客户在平台上只需要建立一个机器人,同时绑定多个知识库,就可以达到效果了。
但像一些客流量大电商客户,他们会根据整个的业务场景去创建机器人,如售前机器人、售中机器人、售后机器人。这样做有一个好处,就是当客户有问道一些机器人无法回答的问题,可以直接转人工到相关类别的坐席。
还有一些客户,会复杂一些。他们是一个大的企业,在他们的内部有很多的部门,每个部门都在使用同一个后台。
例 A企业下有人力、财务、行政、生产、项目等部门,他们使用同一个企业账号登录一个后台。每个部门都会建立知识库,但是如果都绑定在一个机器人上就会出现一些问题。
如果非要使用同一个企业账号,在这种情况下建议,每个部门可以在后台各自都建立一个机器人,并将自己部门的机器人只绑定部门相关的知识库即可。(最好可以有权限设置)不过最好每一个部门都使用独立的企业ID,各自登录各自的后台,不会造成干扰。
2.对机器人进行评价及调整
经过了一段时间的运营,我们需要知道机器人的效果到底是怎么样的?一般来说,只要去将机器人的对话日志导出,进行分析即可。
1)日志分析的内容
一般分析日志会分析以下内容
总交互次数、交互完成总量、未识别意图量及占比、识别错误意图量及占比、无效意图及占比
问答意图总量及占比、对话意图总量及占比、对话意图与问答意图在总量中的占比
高频问答意图及占比、高频对话意图及占比、对话场景完成量及占比。
2)调整机器人
分析结束后,会根据得到的具体的结果对机器人的意图和知识进行调整和优化。
需要注意的问题
未识别问题很多的情况,有几种可能
①用户说的话,在知识库中不存在相似的问法,所以只要添加即可。
②用户说的话,在知识库中有类似的问法,那么就需要人工去排查是否是其它知识造成的错误,还是技术原因等等......
欢迎大家来学习我们第二章的第三节, 对话系统话术设计的注意事项 。
首先是简洁明了,我们来对比这两个话术。
这是一个对话系统里面常见的话术,完全照搬了之前GUI的的做法,每个模块都罗列上去,而正常人交流会说:你是要重复回答,还是要去到下一个。
借此,给大家介绍一个法则: 格里斯法则 。
格里斯是一个非常有名的语言哲学家,他有四个法则:
给大家举一些反例:
第二个需要注意的事项是 对话的语句要自然 ,经常会看到很多的机器人,用刻板的对话脚本教导用户,希望用户按照他们希望的台词去说话。
处理的办法很简单,大家注意以下这三点:
第三点要处理的是新手用户和老手用户。
这是一个医疗保健的助理,你第一次使用的时候,机器人会说:“让我们来测量血压,请确保血压计的袖带已经打开。将袖带卷到你的手臂上,并使用蓝色箭头指向你的手掌。请保持坐姿双脚平方在地上,当你准备就绪时按下按钮”。
对于一个新用户,机器人用非常详细的去跟他交流是没有问题的。但当一个用户使用一周之后,机器人依然说这么多废话,用户会逐渐变得不耐烦。所以这个时候,你只要跟他说:“到测量血压的时间了,请带上袖带并按下“继续”按钮”,就可以了。
很多时候,也不能只依靠次数来确认模式,因为一个人可能使用了多次,但一两个月只使用一次。在这种情况下,应该继续保持新手提示。要注意你的目标不是简单的训练你的用户,而是适应用户的行为,不是用已有命令让用户感到厌烦。
我们再来看第四个要注意的事项, 适当的使用问候语和结束语 。
首先,你要告诉你的用户是谁,用户要知道他在和机器人说话,还是在和真人说话,让用户有一个明确的预知,当你进行转换的时候你也要告诉他:“我刚刚是机器人,现在我转到了人工。我是人工的小芮,在这儿为你回答问题。”
第二,对话包含的信息要合适,新接触的用户和老用户需要的内容是不一样的。这是在设计对话的时候是要考虑的。
第三,是要采用合适的方式来结束对话,当用户完成目标的时候,比如用户说:“好的,谢谢”“不需要了,谢谢”,你是否知道它是完成?你是否知道它代表着什么?然后你能不能够去快速退出。还是说你会不停的在问:“还有什么需要帮助您的吗?”,或者是说:“你还是需要订机票吗?”,这样的话也会显得你的机器人非常的弱智。
第五个可能会讲的稍微多一点,关于确认这一块,当用户提出一些请求,机器人必须要给用户以回应,就像人和人的交流一样,你需要给对方以回应。你说:“我知道你在说什么了”,这样对方才会继续有跟你沟通下去的欲望, 确认上我们做了三个区分 :
那这三个有什么区别,接下来会给大家详细的去讲解。
同时注意两件事 :
我们来看一下这三个确认,什么情况下我们要用到显性确认。
有三种情况:
隐性确认,根据名字我们就可以看的出来,它是在暗示你,不是在明确的说请您确认。
给大家举两个例子,我们看第一个例子:
其实这个就是隐性确认,它也是在偷偷的跟你确认,你是不是在问我北京的天气。如果你说不是,上海的天气怎么样?那机器人也会说:“上海的天气小雨加雪”或者类似怎么样。所以这个时候你要让用户知道,我已经识别到你的信息。
再比如说第二个再给大家举个例子 :
如果机器人没有识别的很好的时候,那它就可以说:“世界上最高山峰珠穆朗玛峰”,说明我知道你的意思是什么,在问我世界上最高的山峰,我识别到了,那世界上最高的山峰珠穆朗玛峰,这种回答远比回答说:“珠穆朗玛峰”,要更舒服,贴切和智能。
一般隐性确认的场景,则是在对获取信息的识别度,识别准确度较高的时候,为了减少出错进行确认的。
以上是给大家举的例子,是置信度综合的显性确认和隐性确认,这个是看情况而定的。
简单说是看情况而定,比如这是一个智能音响的例子,你跟机器人说再买一些纸巾,那么机器人根据对你话术的识别有一个置信度。技术里面叫confidedce,也可以理解为概率。
当它觉得你80% 的概率会再买一些纸巾,它会直接说:“好的,已经为您订购了更多纸巾”。
如果因为声音较远或者背景嘈杂,他觉得你只有45%-79% 的概率是说在买纸巾的时候,它就会去问你:“你是想再订购一些纸巾吗?”。
如果杂音更多或者它听到了其它的东西,低于45%的概率觉得你在买纸巾,它可以直接问:“对不起,我没有听清你说的话,你想要买什么?”。
当然,80,45也都是一个在现实的场景中迭代总结的数据,任何一个系统不会有一个统一的标准数据的。
最后再给大家做一个对比,那么左边是我没有放任何的确认话术:
这个时候用户的感知是非常硬冷的,总觉得机器人的信息不一定是准确信息。这是缺少隐性确认的话术进行引导的原因,会让用户会觉得很困扰。
以下是修改后的案例:
这个时候你有没有觉得更踏实一点了呢。
随机策略是很简单的,因为机器人是我们去设计的,我们希望机器人更加的贴近人,所以回答的时候,尽量加一些随机的策略,避免应答的单调或套路化。
比如说好的,没问题,收到,OK都可以这么说。只要用户觉得机器人好像还满聪明的,不会很刻板。
第七个是使用对话式标识。什么叫对话式标识?
对话式标识是让用户了解交谈进展,以及进展情况的重要方式。当系统在对话中使用了一些基本的对话礼仪以后,用户的参与度会更高,并且会以同样的方式进行回复,就像胶水一样将各个部分连接在一起。
比如说时间线:
比如说我有三个问题想问你:
类似这样的一个调研问卷,远比你直接抛给他三个问题要好。
第二个是接受回应时段
这个之前就有例子给大家介绍了。
积极反馈:
类似这样比较适合做医疗助理,那么比如说用户已经按你的要求测量了血压等,这个时候你可以给用户一个积极的反馈,用户会更愿意按照你接下来的操作去往下进行。
这是一个医疗的例子,左边:
感觉非常生硬,冷冰冰的。
但我们看另外一种话术设计:
用户就知道自己走到哪一步了,他知道我跟你说吃完了,基本上我可以跟你结束对话了,所以它最后也说:“暂时就这些了,我以后再问你,再见”。
希望大家通过这种对话式标识,让你的机器人看起来更舒服。
再有一个是加入异常处理,比如说可以主动询问:
第二类是增强错误提示信息,比如机器人说:
用户随便说一个数字,机器人说:
机器人很快就反应过来了。
然后这样的话,会通过这种对话去告诉它,你应该去引导他给出一个正确答案。
最后实在没有办法了,我们可以把他转交给人工。
还有一块是设计对话通用的模块,比如说主菜单。这一块是想跟大家说CUI和GUI是有一些共同的地方的。
GUI里边有的主菜单、帮助健或退出键,我们CUI中或者对话的这种交互中一定要有的,只不过它可能代表的是一种意图。你要去设计这种意图,用户说什么样的话会触发。
那么很多人会只顾着设计自己的故事线,设计自己的愉悦路径,就把这些最基本的GUI里面要注意的点忘记了。
再给大家最后再讲几个设计延迟的话术。
其实很多时候,查询的过程是需要一些时间的,或者说我们去买一张机票,可能需要等代理商确认以后才能出票,你都要明确告知你的用户:“请稍等,我在查询相关记录”或“请稍等,我正在订票”,让用户知道我需要等待多久,远比你等三分钟之后再跟他说:“您好,给您做好了”。用户为着三分钟等着就很焦躁,你不如先告诉他,再让他等三分钟。
还有一个就是设计歧义的消除话术,也是一个例子吧:
这也是通过一些隐性确认的方式,去做了歧义的消除。
最后再给大家举一个例子,也是希望大家能够有这个意识,人的表达会存在各种各样的情况,不管用户说什么,不要把它当场一个错误来处理,而是去寻找如何把它变成一个主动学习的机会。
那么举一个例子就是:
其实机器人根本就不知道梅球王是谁,那你不要把它当成一个错误,你可以问他
把每一种对话的交互都转变成一种提供价值的互动机会,机器像人一样在交流中学习。
这就是我们在对话系统设计话术中的一些例子和注意事项,希望大家能够有所收获,我们下期再见。
设计对话如下:
甲:您好,到此来访,多有打扰。你在喂食小猫啊,多么可爱灵动的猫呀。
乙:看来您也很喜欢小动物的。
甲:我家里也有一只猫,看它一只多不热闹呀。
乙:真得没想到您和我有同样的爱好。
甲:您好有闲情雅致哦。感觉您好好随和哟。
乙:对了,我家还有其它动物,下次您也去看看,它们真得好可爱,下班累了,看着它们那样的精神面貌,自己也觉得得到了放松。
设计对话要点
对话不仅仅是选择友好礼貌的词汇那么简单,要让对话顺利进行,每个参与者都需要齐心协力。语言哲学家 Paul Grice 提出,在正常的对话中,发言者和听众需要共同努力,在某个特定的时刻,交谈者所说的话都应符合交谈的目的。
与目的相关的内容选取合适的话题需要高度了解对话情景,包括何时需要其他信息辅助,何时让其他人发言。对话的目的不是交换信息,而是通过对话协作建立互不伤害的信任。
某银行内,一位阿姨因等待办理业务的时间太长,与快宝机器人展开了一场来自灵魂的对话。对于银行工作人员的不满,大妈向快宝说道:“你们的工作人员在里面哄孩子,怎么不出来办业务?”;快宝答:“我们柜台里的哥哥姐姐也在很努力的办业务呢。”听到这个回答,阿姨试图将快宝的身体转向柜台方向,说:“你往里瞅瞅,是不是在哄孩子?”快宝嘤嘤嘤的好委屈:“你不要触碰我了,跟我说话就可以了”.
“快宝”说话的语速和声音非常清晰,逻辑性连贯,跟普通人说话的方式简直一模一样,比苹果的 SIRI强太多,有网友甚至怀疑快宝“背后”是专门的人通过摄像头在和人对话。
随着人工智能相关技术的更新迭代,如今,ASR与TTS技术相对来将已经成熟,自然语言的表示和理解已经取得了很大的进展,在行业的竞争壁垒中也逐步削弱,未来智能对话机器人的核心竞争力在于理解了用户的意图之后所提供的差异化服务。下面我就在产品角度聊聊语音对话机器人的喜相关知识点,希望带给各位一些思考。
智能语音对话系统大致可分为五个基本模块:语音识别(ASR)、自然语音理解(NLU)、对话管理(DM)、自然语言生成(NLG)、语音合成(TTS).
语音识别将语音转化文字,让机器读取用户再说什么,自然语言理解是理解用户说的话是什么意思,分析用户说话的意图,和对用户语言中核心词槽的解析。而对话管理(Dialog Management,DM)就是人机对话中的CPU,控制着整个人机对话的过程。对话管理的任务主要有下四点,对话状态维护(dialog state tracing,DST)、生成系统决策(dialog policy)、作为接口与后端/任务模型进行交互、提供语义表达的期望值(expections for interpretation)。由对话管理分析出用户的意图之后并做出相关行为,自然语言生成对用户任务的处理结果以文字形式生成,然后语音合成将此结果合成为语音说出来。就形成了人机对话的整个过程。
个人将常见的人机对话分为日常撩拨型和任务驱动型。
最常见的就是任务驱动的多轮对话,用户是带着明确的目的如订餐、订票、叫车等比较复杂的需求来,而这中间有很多限制条件,用户并不能一次将任务所需的关键信息一次性说完、说清楚,因此就要分多轮进行QA问答。一方面,用户在对话过程中,可以不断修正和完善自己的需求;另一方方面,当用户在陈述需求不够具体和明确时,机器人可以通过询问、澄清和确认来帮助用户寻找满意的结果,并且在任务的驱动下与用户完成日常的交互,以此不断完善对于用户需求的满足。
而日常撩拨型对话中的关键,是要根据用户唤醒机器人时和唤醒之后第一句话的日期时间和语气来判断用户当前的情绪,比如:周五晚上9点下班回家,而唤醒时语气中带着些许匹配疲惫与不开心,此时就需要机器人的安慰和鼓励,以此满足用户的情感需求。当用户心情愉悦时,对话中还可以偶尔“皮一下”,对话中一定要有让用户惊艳的句子和当下比较流行的词语,有趣和好玩是日常撩拨对话中的刚需,而这需要训练师不断更新语料库,以此来持续性对智能语音设备的依恋。
对话管理对于多轮对话又异常重要,因为单词对话每次聊天都需要用户去唤醒语音对话机器人,用户必须每次将需求完成的说出,否则几次对话下来用户将会产生烦躁的情绪,语音对话机器人将会变得鸡肋。下面我们来分解下对话管理的大致任务:
1、对话状态维护(DST)
2、生成系统决策(dialog policy)
根据DST中的对话状态,产生系统行为,决定下一步做什么可以监测到用户的输入,就是NLU的过程,以及系统对于NLU的反馈行为,就是NLG。
3、作为接口与后端/任务模型进行交互。
作为应用程序接口与服务器端或任务模型进行请求交互,获取反馈结果,生成文字结果。
4、提供语义表达的期望值
根据用户输入的表达,包括语言表达和语义解析,做出满足用户期望的语义表达,满足用户需求。
多轮对话中为了清晰明确的理解用户的意图和需求,将对话建模过程中缺少的信息形成一个填槽的过程,槽就是多轮对话当中将初步用户意图转化为明确用户指令所需要补全的信息。一个槽与任务处理中所需要获取的一种信息相对应。槽没有顺序,缺什么槽就向用户询问什么信息。
基于框架式的对话管理(Frame-based DM)需要如下要点:
1、框架:槽位的集合,定义了需要由用户提供哪些信息;
2、对话状态:记录了哪些槽位已经被填充,那些槽位待填充;
3、行为选择:下一步该向用户询问哪些信息,填充哪些槽位,进行何种操作,对哪些槽位进行加权填充。
基于框架的系统本质上是一个生成系统,不同类型的输入触发不同的生成规则,每个生成灵活的填入相应的模板,这些模型的和框架的设计只为在满足用户需求的前提下,尽快的完成必要信息的获取。
设计语音对话系统需要注意的5个要点:
行为模式的设计、交互过程的设计、知识结构的设计、人格情绪的设计、熟悉过程的设计,我们又可以将这5中设计要点进行情景细分:
在整体架构设计当中,加入这些细分情景的收集,透过用户与机器对话的行为细分模式,包括知识结构和人格情绪的收集,来出一个虚拟人格。此模式就相当于某宝或某东商城根据用户的点击、搜索和浏览行为结合大数据生成的千人千面,通过语音交互的使用过程,了解用户习惯进而达到更好的体验。
语音对话体验可分为三个方向:声音形象、对话交互模式和对话内容,它们分别对应GUI时代的品牌设计、交互设计、服务设计,产品经理需要把握好机器人与人的平衡点,不要过度人性化,以免某些点不能满足用户的过渡预期,而产生的失望。
人类的大脑依赖所学的知识进行思考、逻辑推理和语言理解。而机器人则是依赖数据的训练,互联网时代积累的大量的数据能为训练机器人提供的强有力的保障,对话机器人以数据为基础,利用深度学习模型和算法,对人类世界进行感知、识别和判断,并通过知识图谱对人类的知识进行梳理、整合、推理,变成有智慧的AI。
人的复杂性(complex)、随机性(random)、和非理性化(illogica)的特点导致人机对话在应用场景下面临者各种各样的问题,包括但不限于如下问题:
1、模型描述能力与业务复杂度的权衡;
2、用户对话偏离业务涉及的路径及边界;
(如:系统问用户导航的目的地时,用户反问了一句某地天气情况)
3、多轮对话的容错性;
(如:3轮对话的场景,用户已经完成2轮,第3轮由于ASR或NLU错误,导致前功尽弃,如此用户体验就非常差。)
4、多场景的的切换和回复;
5、降低交互变更难度,适应业务迅速变化;
6、跨场景信息继承。
未来对话机器人除了被动回复用户的请求外,主动预测用户需求并提供即时方案成为必然的发展方向,当用户没有给出明确的需求情况下,提醒即将发生的事件或推荐有用的服务,人们会逐渐依靠他们来管理自己的工作生活,提高生活效率及幸福感。
对话机器人的目标不一定是解决用户面临的所有问题,而是成为用户的虚拟助理。通过与用户建立情感链接,理解用户,长期范围内帮助他们,与用户建立多种形式的交流,包括文本、语音和图像以及视频功能。
A:I
have
stolen
something
small
from
a
shop.I
think
it's
very
funny.
b:oh,no!you're
wrong!You
should
return
it
to
that
shop.
aWhy?tI'm
very
happy
to
do
that.I
love
it.
bwe're
best
friends,you
should
believe
me!stealing
is
one
of
the
worst
things
in
the
world.you
can't
do
that.now,go
to
that
shop
to
say
"sorry"to
them.i'll
go
with
you.
纯手写,望采纳!O(∩_∩)O~
我只说了第一个话题
写这东西还是很麻烦的呢~