【干货】12条提升对话机器人用户体验的设计原则

文 | 吾来设计团队

整理 | 吾来君


前言

随着智能对话技术的发展,对话机器人越来越多地出现在人们的日常工作和生活中。或许我们在不同的地方都遭遇过机械生硬、令人失望的对话机器人。那么,在没有表情、动作、语气等交流方式的局限下,如何利用对话设计创造出令用户乐于交互的对话机器人?本文将结合真实案例,介绍我们在对话机器人设计时遵循的基本原则和技巧,让机器人的用户体验变得更加简单友好

1

传递有价值的信息

对话机器人应该围绕用户需求,在对话过程中传递对用户有价值的信息,我们可以根据以下原则来判断信息的价值。

 原则1: 不要传递冗余信息

冗余的信息会给用户带来认知压力,伤害用户体验。具体而言,在CUI (Conversational User Interface)下,冗余的信息通常会在屏幕上占据大量区域,给用户的阅读带来压力。在VUI (Voice User Interface)下,冗余的信息需要较长的时间进行播报,浪费用户的时间。

X 错误示例

用户

我想线下咨询,你们北京有门店吗?

机器人

XX集团北京门店的地址是北京市XX区XX街XX大厦6层,咨询电话/服务监督热线:010-12345678。其他分公司有:上海、广州、武汉、济南、深圳、南京、成都、杭州、沈阳、西安、青岛、长沙、烟台,想了解分公司具体地址和联系方式请回复“XX分公司”。

上方错误示例,用户想了解北京门店信息,但机器人不仅回复了北京门店的信息,还介绍了其他哪些城市有分公司,而这些信息并不是用户想要的,属于冗余信息。如果改为下方正确示例的方式会更好。

〇 正确示例

用户

我想线下咨询,你们北京有门店吗?

机器人

XX集团北京门店的地址是北京市XX区XX街XX大厦6层,咨询电话/服务监督热线:010-12345678。

 原则2: 信息要易于理解

机器人对用户所说的话,要让用户易于理解,且能够基于此做出下一步动作。

X 错误示例

我想咨询留学

机器人

请问准备到什么阶段了?

什么意思?

上方错误示例,机器人问“准备到什么阶段了”,对于不熟悉留学申请流程的用户,很难理解这句话是什么意思。此外,留学需要准备的东西很多,即便对于正在准备中的用户,也不容易回答这个问题。如果改为下方正确示例1的方式会更好。

正确示例

用户

我想咨询留学

机器人

语言考试、择校、文书等准备得怎么样了?

用户

刚考完托福,想去加州艺术学院

X 错误示例2

用户

订下午三点半到四点半的会议室

机器人

该开始时间有误,开始时间应晚于当前时间15:57

上方错误示例2,机器人的回复表达比较生硬,用户需要花时间才能理解。如果改为下方正确示例2的方式会更好。

正确示例2

用户

订下午三点半到四点半的会议室

机器人

现在已经15:57,不能预定今天15:30的会议室了

2

主动管理用户预期

用户在使用对话机器人时,因为可以使用自然语言进行交互,我们很难限制用户说什么和不说什么。同时,今天的自然语言理解和对话技术还存在很多不成熟的地方,我们不可能做出一个全能的对话机器人。因此,我们需要主动管理用户的预期,帮助用户更好地使用对话机器人,从而提升用户的体验。

 原则3: 告诉用户机器人能做什么

与其让用户通过试错来了解机器人能做什么和不能做什么,不如开门见山告诉用户。我们可以通过多种途径告诉用户机器人能做什么,比如欢迎语或者兜底回复

X 错误示例

机器人

我是留学咨询机器人,有什么可以帮你?

 用户

可以帮我查托福分数吗?

 机器人

对不起,这个问题我还没学会。

上方错误示例,机器人只定位了自己可以做“留学咨询”,但没有明确说明可以为用户做什么,导致用户预期过高,以为机器人可以查询托福分数。如果改为下方正确示例的方式会更好。

〇 正确示例

机器人

 我是留学咨询机器人,可以根据你的情况,为你推荐资深留学申请顾问。请问你想 去哪里留学?

用户

我想去美国读硕士

机器人

请问想读什么专业?

 原则4: 告诉用户该怎么说

由于今天的自然语言理解技术还不成熟,机器人不一定能理解用户说的所有内容。对于一些比较复杂的概念或表达方式,机器人可以主动引导用户该怎么说。

〇 正确示例1

机器人

请提供详细地址,最好包含省、市、区、街道、门牌号。

〇 正确示例2

机器人

请提供一下订单号(订单号格式是CO+8位数字)。

 原则5: 告诉用户需要等待

有些场景下,机器人处理用户的请求需要花一定的时间。例如去数据库查询信息识别用户上传的图片通过RPA (Robotic Process Automation)执行一个任务等。这种情况下,机器人应主动告知用户需要等待。

〇 正确示例1

用户

[上传了一张发票图片]

机器人

正在识别发票并验证真伪,请稍等。

约10秒钟后...

机器人

发票识别验真完成,金额450元。

〇 正确示例2

用户

帮我查一下XX公司的5万元付款有没有到账

机器人

正在使用RPA机器人执行查询,预计需要1分钟,稍后告诉你结果。

约1分钟后...

机器人

2019年6月20日 14:45 收到XX公司转账5万元。

3

让用户知道机器人的状态

对话式的交互过程中,用户无法直观的了解机器人所处的状态,例如机器人是否理解了用户所说的话、机器人接下来要干什么。这是CUI或VUI相比GUI的一个劣势。因此,我们需要在对话过程中,用适当的方式让用户知道机器人的状态,从而提升用户体验

 原则6: 使用确认策略

对话过程中,机器人可以使用确认策略来达到两个目的:

1. 告诉用机器人理解了用户的需求

2. 让用户进行确认

确认策略主要有:显性确认、隐性确认、通用确认三种,下面分别介绍。

  •   显性确认

显性确认通常在机器人要执行一些重要的操作时使用,例如当机器人要为用户进行下单转账等操作时。这类操作一旦出错,往往会给用户带来很不好的体验,因此需要用户进行确认,机器人再进行下一步操作。同时,显性确认也为用户提供了思考和决策的时间

〇 正确示例1

机器人

你预定了6月29日10:00-11:00的大会议室,确认要取消吗?

〇 正确示例2

机器人

7月1日北京到上海东航MU5138,价格700元,确认下单吗?

  •   隐性确认

隐性确认是指在机器人话术中,向用户告知已经理解或获取的信息。和显性确认不同,隐性确认不需要用户进行回复来确认。隐性确认具有以下价值:

1. 让用户明确知道机器人理解了对话中的关键信息;

2. 为用户提供个性化的体验;

3. 将机器人的理解错误暴露出来。

〇 正确示例1

用户

我想申请计算机硕士

机器人

好的,有想去的学校吗?

用户

哥伦比亚大学

机器人

好的,我安排专门负责申请哥伦比亚大学计算机专业硕士的老师和你聊聊,方便留一下手机号吗?

上方正确示例1,机器人最后一句中下划线标记的“哥伦比亚大学计算机专业硕士”就属于隐性确认,它一方面告知用户机器人已经理解了这些信息,同时给用户更加个性化的感受。

假设今天是周五(6月20日),下周一是6月24日,下下周一是7月1日。

X 错误示例2

用户

查一下下周一北京天气

机器人

天气晴,气温25-32度

上方错误示例2,用户要查“下周一”的天气,但机器人理解成了“下下周一”,但因为机器人的回复中没有隐性的确认,用户并不知道机器人提供的是错误的信息。如果使用隐性确认,对话如下。

〇 正确示例2

用户

查一下下周一北京天气

机器人

北京7月1日天气晴,气温25-32度

用户

不对,是下周一

机器人

北京6月24日天气多云,气温22-30度

上方正确示例2,机器人消息中下划线标记的“北京7月1日”“北京6月24日”都属于隐性确认。通过隐性确认,用户发现机器人理解错误,因此进行了再次询问,机器人提供了正确的答案

  •   通用确认

适用于开放式对话,不做具体反馈,机器人通过“嗯、然后呢”等方式让对话继续,让交互体验更加自然、流畅。

〇 正确示例

机器人

留学申请需要的语言考试、择校、文书等环节准备的怎么样了?

用户

想去加州艺术学院

机器人

嗯嗯

用户

刚刚考完托福

机器

好的

用户

但是考的不太好,咱们有没有语言培训的服务?

机器人

明白了,我们有针对语言考试的培训课程

上方正确示例,机器人问了一个开放问题供用户自由发挥,所以选择只用“嗯”、“好的”附和用户,鼓励用户多分享一些留学准备信息。需要注意的是,如果过多的使用通用确认,会让用户认为机器人没有真正理解,带来不好的体验。

 原则7: 使用对话标识

对话标识是让对话更加人性化、更有吸引力的设计方法。对话标识让用户能更好了解对话进展,知道处于对话流程的哪个环节,从而让用户参与度更高。使用对话标识有三种方法:时间线、接收回执、积极反馈,下面分别介绍。

X 错误示例

机器人

让我来问你一些问题吧,你想去哪个国家?

用户

美国

机器人

准备申请什么学位?

用户

硕士

机器人

喜欢的专业是什么?

用户

人机交互

机器人

语言考了吗?

用户

考完了,托福95分

机器人

有理想的学校吗?

用户

加州艺术学院

上方错误示例,是一种常见的信息收集对话流程设计,机器人一个接一个的问用户问题,给用户的感觉比较机械生硬。我们试着加入一些调料看看会产生什么变化吧。

  •   时间线

通过加入“首先”、“完成一半了”、“最后”等描述,让用户更好掌握对话的进度。

〇 正确示例

机器人

我会问你5个问题,帮你推荐合适的留学顾问。首先,你想去哪个国家?

用户

美国

机器人

那准备申请什么学位?

用户

硕士

机器人

喜欢的专业是什么?

用户

人机交互

机器人

我就快问完了,语言考了吗?

用户

考完了,托福95分

机器人

最后一个问题,有理想的学校吗?

用户

加州艺术学院

  •   接受回执

通过加入“谢谢”、“知道了”、“好的”、“我很抱歉”等基础对话礼仪用语,让机器人对用户的反馈更加自然、人性化。

〇 正确示例

机器人

我会问你5个问题,帮你推荐合适的留学顾问。首先,你想去哪个国家?

用户

美国

机器人

知道了,那准备申请什么学位?

用户

硕士

机器人

好的,喜欢的专业是什么?

用户

人机交互

机器人

我就快问完了,语言考了吗?

用户

考完了,托福95分

机器人

最后一个问题,有理想的学校吗?

用户

加州艺术学院

机器人

谢谢你的耐心配合,辛苦了!

  •  积极反馈

通过加入“干得好”、“很高兴听到这个消息”等积极、正面的语言,让用户感受更好,参与度更高。

〇 正确示例

机器人

我会问你5个问题,帮你推荐合适的留学顾问。首先,你想去哪个国家?

用户

美国

机器人

知道了,那准备申请什么学位?

用户

硕士

机器人

好的,喜欢的专业是什么?

用户

人机交互

机器人

人机交互是这几年很热门、很棒的专业!

机器人

我就快问完了,语言考了吗?

用户

考完了,托福95分

机器人

非常高的分数!你的语言很好!

机器人

最后一个问题,有理想的学校吗?

用户

谢谢,我想去加州艺术学院

机器人

加州艺术学院很不错,人机交互专业在全美排名很高

机器人

谢谢你的耐心配合,辛苦了!

4

充分考虑各种异常

在对话的过程中,用户的行为往往超出我们的预期。例如,用户提供的信息不完整机器人无法理解用户说的话等等。这些情况一旦发生,往往导致对话无法正常进行。因此,我们应该在对话设计时就考虑到每一句对话可能发生的所有异常情况。以下是一些对话中常见的异常情况及处理方法。

 原则8: 理解用户的各种说法

同样含义的一句话、一个词语可以有很多表述方式,是否能够正确识别是检验机器人智能程度的重要指标。虽然这很难,但我们不应该放弃。在设计时,我们要考虑周全,竭尽全力的设计机器人让其能应对用户各种可能的说话方式。在上线后,我们持续收集线上真实用户的各种说法并补充到对话中,让机器人适应性越来越强

X 错误示例1

机器人

好的,我们最后确认一下,您要预订这个会议室吗?(确认/取消)

用户

订吧

机器人

不好意思我不太明白,请输入确认或取消

上方错误示例1,当机器人需要用户确认时虽然明确提供了“确认”指令,但在对话场景下用户会自然的说出他们习惯表达确认的方式。下方正确示例1中,对用户可能表达确认的方式充分设计不能保证所有说法都能覆盖,至少能够保证不强迫用户学习唯一的说话方式

〇 正确示例1

机器人

好的,我们最后确认一下,您要预订这个会议室吗?(确认/取消)

用户

订吧/定吧/可以/行/OK/好的/确认/是的…

机器人

预定成功!很高兴为您服务

X 错误示例2

机器人

好的,我们最后确认一下,您要预订这个会议室吗?(确认/取消)

用户

可以改下时间吗

机器人

不好意思我不太明白,请输入确认或取消

错误示例2中,“改时间”属于确认和取消之外的一种意图,如果我们没有提前设计,机器人就会无法应答。

〇 正确示例2

机器人

好的,我们最后确认一下,您要预订这个会议室吗?(确认/取消)

用户

可以改下时间吗

机器人

没问题,改到什么时间呢?

 原则9: 错误处理

对话系统需要对用户的错误具有包容性。当用户对系统不够了解的时候,会不可避免的犯错,错误可能会导致用户极度沮丧,我们不应该指责、暗示用户做错了,机器人不能识别用户的话不代表这是个错误。但如果处理得当,这会是帮助用户重建信任和信心的好机会。因此我们需要高度专注于如何帮助用户尽可能自然的返回对话流程。以下是一些常见错误的处理方法

 
  • 未匹配

用户说了什么,但是系统无法识别

〇 正确示例

机器人

同学你好啊,我是Adrian,有什么能我能帮忙的吗?

用户

????????????

机器人

留学、语培等相关问题有任何疑问都可以问我~

用户

我想了解留学业务

上方正确示例,用户输入了表情,但是机器人无法识别,我们通过重复提问,同时提供更更多选择的方式引导用户回到对话流程中。

  •  未输入

系统提示用户说话,但没有收到用户的任何反馈

〇 正确示例

  用户

你好

 机器人

同学你好,有什么想要了解的吗?

用户未回复...

 机器人

还在吗?留学、语培、留学生活等相关问题都可以问我的

用户仍未回复...

 机器人

同学走了吗?没关系,有问题可以随时找我,回头见

上方正确示例,与未识别的策略相似,如果用户长时间没有说话,我们会通过重复提问的方式来指导用户回到流程。一般遇到这种情况,我们推测用户可能是遇到了问题,是信息太多还是信息太少?通过对上下文的理解用户所处的环境使用的终端来推断具体情况。

这个例子中推断因为信息太少,用户不知道该如何开始对话,所以重复提问时我们增加了更多选项让用户选择。如果用户持续没有输入,那么我们应该适时体面的结束对话,而不是傻傻的一直重复问题。

 原则10: 消除不确定性

用户和机器人对话一定带有某种意图,但有时并不能清楚的描述出来,甚至需要我们提供建议。这时我们需要通过清晰的引导,不断缩小选择范围帮助用户聚焦促使用户做出判断

〇 正确示例1

 用户

我想留学,但不太确定去什么学校

 机器人

好的,你有想要去的国家吗?(国家列表)

 用户

美国(点击选择)

机器人

准备申请什么学位呢?(学位列表)

 用户

硕士(点击选择)

 机器

有感兴趣的专业吗?

 用户

人机交互

 机器人

了解了,密歇根大学和加州艺术学院人机交互专业世界排名都挺靠前,可以考虑

上方正确示例1,用户带着想要留学的意图,但是自己没有太确定适合什么学校。所以我们通过选项帮用户排除、筛选部分可选项后,推荐最适合的学校让用户更容易抉择。

〇 正确示例2

用户

关闭客厅的灯

机器人

好的,你有客厅顶灯和客厅台灯,您要关闭哪一个设备?

用户

全都关掉

上方正确示例2,用户“关灯”的命令范围有点宽泛,所以我们通过澄清可选项来确定用户的意图。

5

提供个性化的体验

一个好的对话机器人不仅能理解用户所说的话,也要知道用户是谁。除了用户所说的话,用户的属性、标签、历史行为等都可以作为对话机器人的信息输入,为用户提供个性化的内容和服务,让机器人变得更加智能

吾来开放平台提供的Lv.4机器人通过个性对话让机器人对话变得更加智能,感兴趣的读者可以阅读之前的文章如何判断一个对话机器人有多智能?

 原则11: 新用户 VS 老用户

我们可以为新用户提供充分的指导和帮助,但对于老用户来说这些贴心的引导会变成累赘的信息。如果我们能够分析用户和机器人沟通的频率和次数判断用户对系统的熟练程度,就能为不同活跃度的用户提供更合适的对话体验和服务

用户第一次交互

机器人

同学你好啊,我是Adrian,关于留学、语培等相关问题都可以问我~

用户

你好,我想咨询留学的问题

机器人

好的,请问这位同学怎么称呼?

用户

我姓谢

用户第二次交互

机器人

谢同学你好,我们又见面了,托福考得怎么样了?

用户

考完了,但是成绩不是特别理想

机器人

我们这边有专门的托福冲刺培训,想免费试听一下吗?

用户第三次交互

机器人

谢同学好啊!帮你约好的周三晚上8点的免费托福冲刺课,别忘了去听

用户

好的,我正好想问问课程的具体细节

 原则12: 尽量不去主动询问

我们可以通过对用户历史信息的收集和记忆,以及通过外部CRM获取用户属性,帮助机器人更好的理解用户,跳过冗长的信息收集,直接提供更具个性化的对话体验和服务。

〇 正确示例

机器人

请确认以下信息:姓名是XXX,地址是XXXX,手机尾号是1690,对吗?

用户

是的,你怎么知道我的信息?

机器人

您是我们的老客户,我们当然记得您~

上方正确示例,展示了通过接入客户CRM系统,让用户不用再次输入个人信息,只需要简单确认就能完成下单,提高了用户的效率。

结语

基于用户场景、需求和痛点,利用吾来平台开放、易用的机器人搭建能力,灵活运用本文介绍的对话设计原则和技巧,相信你也可以快速、轻松搭建出体验友好、用户乐于交互的对话机器人

期待更多干货!

点击「在看」支持原创!

????????????

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在信号处理领域,DOA(Direction of Arrival)估计是一项关键技术,主要用于确定多个信号源到达接收阵列的方向。本文将详细探讨三种ESPRIT(Estimation of Signal Parameters via Rotational Invariance Techniques)算法在DOA估计中的实现,以及它们在MATLAB环境中的具体应用。 ESPRIT算法是由Paul Kailath等人于1986年提出的,其核心思想是利用阵列数据的旋转不变性来估计信号源的角度。这种算法相比传统的 MUSIC(Multiple Signal Classification)算法具有较低的计算复杂度,且无需进行特征值分解,因此在实际应用中颇具优势。 1. 普通ESPRIT算法 普通ESPRIT算法分为两个主要步骤:构造等效旋转不变系统和估计角度。通过空间平移(如延时)构建两个子阵列,使得它们之间的关系具有旋转不变性。然后,通过对子阵列数据进行最小二乘拟合,可以得到信号源的角频率估计,进一步转换为DOA估计。 2. 常规ESPRIT算法实现 在描述中提到的`common_esprit_method1.m`和`common_esprit_method2.m`是两种不同的普通ESPRIT算法实现。它们可能在实现细节上略有差异,比如选择子阵列的方、参数估计的策略等。MATLAB代码通常会包含预处理步骤(如数据归一化)、子阵列构造、旋转不变性矩阵的建立、最小二乘估计等部分。通过运行这两个文件,可以比较它们在估计精度和计算效率上的异同。 3. TLS_ESPRIT算法 TLS(Total Least Squares)ESPRIT是对普通ESPRIT的优化,它考虑了数据噪声的影响,提高了估计的稳健性。在TLS_ESPRIT算法中,不假设数据噪声是高斯白噪声,而是采用总最小二乘准则来拟合数据。这使得算法在噪声环境下表现更优。`TLS_esprit.m`文件应该包含了TLS_ESPRIT算法的完整实现,包括TLS估计的步骤和旋转不变性矩阵的改进处理。 在实际应用中,选择合适的ESPRIT变体取决于系统件,例如噪声水平、信号质量以及计算资源。通过MATLAB实现,研究者和工程师可以方便地比较不同算法的效果,并根据需要进行调整和优化。同时,这些代码也为教学和学习DOA估计提供了一个直观的平台,有助于深入理解ESPRIT算法的工作原理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值