欢迎大家来学习我们第二章的第三节,对话系统话术设计的注意事项

image

  • 简洁明了

首先是简洁明了,我们来对比这两个话术。

  • 如果你想要再听一遍可以说“重复”;

  • 如果想要做出回答可以说“回答”;

  • 如果要继续到下一个,可以说“下一个”;

这是一个对话系统里面常见的话术,完全照搬了之前GUI的的做法,每个模块都罗列上去,而正常人交流会说:你是要重复回答,还是要去到下一个。

借此,给大家介绍一个法则:格里斯法则

image

  • Gricean 语言准则

格里斯是一个非常有名的语言哲学家,他有四个法则:

  • 质量准则:只说确认的真实的内容;

  • 数量准则:所说的话必须要满足交流所需要的信息量,但不应该超出所要求的信息量。换句话说就是不多也不能少;

  • 相关法则:只说和主题相关的内容;

  • 态度法则:说话要清晰明了,避免模棱两可;

image

  • Gricean 语言准则反例

给大家举一些反例:

  • 质量法则:宣传一些你根本做不到的事,比如你明明是一个订机票的机器人,你却去问用户:“我能帮你做什么吗?”,用户自然就会说:“你能帮我点个餐吗,能帮我叫个车吗?”,机器人做不到或者是直接理解成订机票的意图就会让用户失望;

  • 第二个是数量准则:有人经常会说:“请您注意听,因为我们的选项已经变了”,实际上这句话并没有任何的意义;

  • 第三个是相关准则:给了用户一些当前用不到的知识,比如在用户还没下单的时候,就开始解释退货的策略,这是没有必要的。应该要追踪用户每一步,他要什么你再给,他不要就不要往上硬塞;

  • 最后是态度准则:很多人愿意给机器人罗列很多晦涩难懂的专业术语,以为这样能显得自己高大上,实际上用户只会觉得你很傻;

image

  • 对话语句要自然

第二个需要注意的事项是对话的语句要自然,经常会看到很多的机器人,用刻板的对话脚本教导用户,希望用户按照他们希望的台词去说话。

处理的办法很简单,大家注意以下这三点:

  • 首先,大声朗读你写的内容,使用随机化的表达,使对话听起来更自然。只有你把你写出来的读出来,你才会发现哪里有问题;

  • 第二,用人正常说话的方法去写对话脚本,很多人做对话机器人会很懒,直接去官网或app上把内容原封不动的复制黏贴。这样对开发者简单了,对用户反而觉得不好理解;

  • 第三,需要给用户明确的上下文暗示,而不是一个模糊的陈述,让用户不知所措;

image

  • 处理新手用户&老手用户

第三点要处理的是新手用户和老手用户。

这是一个医疗保健的助理,你第一次使用的时候,机器人会说:“让我们来测量血压,请确保血压计的袖带已经打开。将袖带卷到你的手臂上,并使用蓝色箭头指向你的手掌。请保持坐姿双脚平方在地上,当你准备就绪时按下按钮”。

对于一个新用户,机器人用非常详细的去跟他交流是没有问题的。但当一个用户使用一周之后,机器人依然说这么多废话,用户会逐渐变得不耐烦。所以这个时候,你只要跟他说:“到测量血压的时间了,请带上袖带并按下“继续”按钮”,就可以了。

很多时候,也不能只依靠次数来确认模式,因为一个人可能使用了多次,但一两个月只使用一次。在这种情况下,应该继续保持新手提示。要注意你的目标不是简单的训练你的用户,而是适应用户的行为,不是用已有命令让用户感到厌烦。

我们再来看第四个要注意的事项,适当的使用问候语和结束语

image

  • 适当使用问候语&结束语

首先,你要告诉你的用户是谁,用户要知道他在和机器人说话,还是在和真人说话,让用户有一个明确的预知,当你进行转换的时候你也要告诉他:“我刚刚是机器人,现在我转到了人工。我是人工的小芮,在这儿为你回答问题。”

第二,对话包含的信息要合适,新接触的用户和老用户需要的内容是不一样的。这是在设计对话的时候是要考虑的。

第三,是要采用合适的方式来结束对话,当用户完成目标的时候,比如用户说:“好的,谢谢”“不需要了,谢谢”,你是否知道它是完成?你是否知道它代表着什么?然后你能不能够去快速退出。还是说你会不停的在问:“还有什么需要帮助您的吗?”,或者是说:“你还是需要订机票吗?”,这样的话也会显得你的机器人非常的弱智。

image

  • 积极确认

第五个可能会讲的稍微多一点,关于确认这一块,当用户提出一些请求,机器人必须要给用户以回应,就像人和人的交流一样,你需要给对方以回应。你说:“我知道你在说什么了”,这样对方才会继续有跟你沟通下去的欲望,确认上我们做了三个区分

  1. 第一个叫显性确认;

  2. 第二个叫隐形确认;

  3. 第三个叫置信度综合的显性确认和隐形确认;

那这三个有什么区别,接下来会给大家详细的去讲解。

同时注意两件事

  1. 应答用于话题更换前,表示拒绝、接受、二次确认和更正。这个就是一个确认;

  2. 第二个是对重复信息需要谨慎,不要滥用;

image

  • 显性确认

我们来看一下这三个确认,什么情况下我们要用到显性确认。

有三种情况:

  • 第一种情况这种场景非常难撤销,一般是在用于订单最后跟用户来确认的,你是不是要订这张机票,你是不是要交这笔钱,它是用于什么。

  • 第二个就是对于购买者的消费协议或者法律法规。比如说我一些免责协议,要明确的确认好。

  • 第三个系统性能不好的时候,右边就给大家展示了一个很明确的最终的订单的确认的这种话术。它会很明确的告诉你:“请您确认”,它有这个很明确的说法,是这个东西吗?它是在做明显的确认。

image

  • 隐性确认

隐性确认,根据名字我们就可以看的出来,它是在暗示你,不是在明确的说请您确认。

给大家举两个例子,我们看第一个例子:

  • 用户说:“今天天气怎么样”;

  • 机器人说:“北京今天的天气晴转多云”;

其实这个就是隐性确认,它也是在偷偷的跟你确认,你是不是在问我北京的天气。如果你说不是,上海的天气怎么样?那机器人也会说:“上海的天气小雨加雪”或者类似怎么样。所以这个时候你要让用户知道,我已经识别到你的信息。

再比如说第二个再给大家举个例子 :

  • 世界上最高的山峰是什么?

如果机器人没有识别的很好的时候,那它就可以说:“世界上最高山峰珠穆朗玛峰”,说明我知道你的意思是什么,在问我世界上最高的山峰,我识别到了,那世界上最高的山峰珠穆朗玛峰,这种回答远比回答说:“珠穆朗玛峰”,要更舒服,贴切和智能。

一般隐性确认的场景,则是在对获取信息的识别度,识别准确度较高的时候,为了减少出错进行确认的。

image

  • 置信度综合的显性确认和隐形确认

以上是给大家举的例子,是置信度综合的显性确认和隐性确认,这个是看情况而定的。

简单说是看情况而定,比如这是一个智能音响的例子,你跟机器人说再买一些纸巾,那么机器人根据对你话术的识别有一个置信度。技术里面叫confidedce,也可以理解为概率。

当它觉得你80% 的概率会再买一些纸巾,它会直接说:“好的,已经为您订购了更多纸巾”。

如果因为声音较远或者背景嘈杂,他觉得你只有45%-79% 的概率是说在买纸巾的时候,它就会去问你:“你是想再订购一些纸巾吗?”。

如果杂音更多或者它听到了其它的东西,低于45%的概率觉得你在买纸巾,它可以直接问:“对不起,我没有听清你说的话,你想要买什么?”。

当然,80,45也都是一个在现实的场景中迭代总结的数据,任何一个系统不会有一个统一的标准数据的。

image

  • 确认策略话术对比

最后再给大家做一个对比,那么左边是我没有放任何的确认话术:

  • 帮我日历上加个备忘

  • 哪一天?

  • 星期六

  • 几点?

  • 下午2点

  • 什么事?

  • 张三的生日聚会

  • 最后说已保存,然后张三的生日聚会,星期六下午2点

这个时候用户的感知是非常硬冷的,总觉得机器人的信息不一定是准确信息。这是缺少隐性确认的话术进行引导的原因,会让用户会觉得很困扰。

以下是修改后的案例:

  • 用户说:“帮我在日历上加个备忘录”;

  • “好的什么时候?”,机器人说好的就是我知道我要给你加备忘录了;

  • “星期六下午2点”;

  • “收到,我知道了,星期六下午2点,活动名称是什么?”;

  • “张三的生日聚会”;

这个时候你有没有觉得更踏实一点了呢。

image

  • 随机策略

随机策略是很简单的,因为机器人是我们去设计的,我们希望机器人更加的贴近人,所以回答的时候,尽量加一些随机的策略,避免应答的单调或套路化。

比如说好的,没问题,收到,OK都可以这么说。只要用户觉得机器人好像还满聪明的,不会很刻板。

image

  • 使用对话时标识

第七个是使用对话式标识。什么叫对话式标识?

对话式标识是让用户了解交谈进展,以及进展情况的重要方式。当系统在对话中使用了一些基本的对话礼仪以后,用户的参与度会更高,并且会以同样的方式进行回复,就像胶水一样将各个部分连接在一起。

比如说时间线:

  • 首先;

  • 完成一半了;

  • 最后;

比如说我有三个问题想问你:

  • 首先您是要买车吗?

  • 好的,我知道了;

  • 请问您洗车的频率是多少?

  • 最后想问一下,你是不是接受我这家公司呀?

类似这样的一个调研问卷,远比你直接抛给他三个问题要好。

第二个是接受回应时段

  • 谢谢;

  • 知道了;

  • 好的;

  • 不好意思;

这个之前就有例子给大家介绍了。

积极反馈:

  • 干得好;

  • 很高兴听到这个消息;

类似这样比较适合做医疗助理,那么比如说用户已经按你的要求测量了血压等,这个时候你可以给用户一个积极的反馈,用户会更愿意按照你接下来的操作去往下进行。

image

这是一个医疗的例子,左边:

  • “你昨晚睡了几个小时?”;

  • “你昨天吃了几份水果?”;

  • “你吃药了吗?”;

  • “再见!”;

感觉非常生硬,冷冰冰的。

但我们看另外一种话术设计:

  • “我会问你几个有关你身体健康的问题,第一个问题,你昨晚睡了几个小时?”;

  • “然后不错,我收到你的回答了,你昨天吃了几份水果”;

  • “我们说四份”;

  • “那我了解了,最后一个问题”;

用户就知道自己走到哪一步了,他知道我跟你说吃完了,基本上我可以跟你结束对话了,所以它最后也说:“暂时就这些了,我以后再问你,再见”。

希望大家通过这种对话式标识,让你的机器人看起来更舒服。

image

  • 异常处理

再有一个是加入异常处理,比如说可以主动询问:

  • 很抱歉,我没有听懂您的意思;

第二类是增强错误提示信息,比如机器人说:

  • 请告诉我您的航班号码,我来帮您查询预约信息;

用户随便说一个数字,机器人说:

  • 我没有识别到,您的航班号应该是四个数字,而且是在CA之后;

机器人很快就反应过来了。

  • 哦,那是这个,1807;

然后这样的话,会通过这种对话去告诉它,你应该去引导他给出一个正确答案。

最后实在没有办法了,我们可以把他转交给人工。

image

  • 设计对话通用模块

还有一块是设计对话通用的模块,比如说主菜单。这一块是想跟大家说CUI和GUI是有一些共同的地方的。

GUI里边有的主菜单、帮助健或退出键,我们CUI中或者对话的这种交互中一定要有的,只不过它可能代表的是一种意图。你要去设计这种意图,用户说什么样的话会触发。

  • 比如用户说:“桔小秘,你能做什么呢?”,这是一种意图触发主菜单;

  • “接下来我该怎么办”,这是一种意图,触发帮助;

  • “再见”,这也是一种意图,触发的是退出;

那么很多人会只顾着设计自己的故事线,设计自己的愉悦路径,就把这些最基本的GUI里面要注意的点忘记了。

image

  • 设计延迟话术

再给大家最后再讲几个设计延迟的话术。

其实很多时候,查询的过程是需要一些时间的,或者说我们去买一张机票,可能需要等代理商确认以后才能出票,你都要明确告知你的用户:“请稍等,我在查询相关记录”或“请稍等,我正在订票”,让用户知道我需要等待多久,远比你等三分钟之后再跟他说:“您好,给您做好了”。用户为着三分钟等着就很焦躁,你不如先告诉他,再让他等三分钟。

image

  • 设计歧义消除话术

还有一个就是设计歧义的消除话术,也是一个例子吧:

  • 给Linda打一个电话;

  • 好的手机还是座机?

  • 用户说:“手机”;

  • 正在拨打Linda的手机号。

这也是通过一些隐性确认的方式,去做了歧义的消除。

image

  • 主动学习

最后再给大家举一个例子,也是希望大家能够有这个意识,人的表达会存在各种各样的情况,不管用户说什么,不要把它当场一个错误来处理,而是去寻找如何把它变成一个主动学习的机会。

那么举一个例子就是:

  • 梅球王在小组赛中最后进了几个球?

其实机器人根本就不知道梅球王是谁,那你不要把它当成一个错误,你可以问他

  • 请问梅球王是谁?是里奥内尔·梅西吗?

  • 用户说:“是”;

  • 那机器人就可以说:“梅西进了一个球”;

把每一种对话的交互都转变成一种提供价值的互动机会,机器像人一样在交流中学习。

这就是我们在对话系统设计话术中的一些例子和注意事项,希望大家能够有所收获,我们下期再见。