最近看了几篇很不错的机器人文章,就想着一边翻译,再一边写点自己的想法。日常工作时沉浸在机器人平台、多轮场景以及各种解析器中,需要这样来从不同的角度刺激下,或许会有些新的想法出来。
今天这篇是来自 Anna Prist 在 Medium 发布的《How to make your Chatbot Sound Natural》
先概述下Anna提到在设计机器人对话时,要注意的六点
- 语境 (对话中机器人需要进行上下文理解)
- 个性(机器人需要拥有自己的个性)
- 简明(机器人的用词表述需要简明、清晰)
- 灵活性(需要考虑到用户的表述会多样)
- 自然性(使用些人类对话中的自然表述,如礼貌性表达)
- 主动性(引导对话进行,不要让对话中断)
我们习惯了技术的快速革新,甚至我们都无法想象如果没有了技术的未来会是怎么样的。随着我们不断的向前推进,交互设备以及交互设计都在不断进步。也多亏了那些小说以及电影让我们知道了如何与机器去进行交互—我们可以使用语音指令、手势操作以及虚拟屏幕,就像电影中汤姆·克鲁斯做过的那样:
(可以 youtube 上搜索「Minority Report’s gesture-based user interface」进行观看)
在日常互动中,你可以使用像触摸、语音和手势之类的交互方式,这对我们来说是很容易的,这并不需要学习。使用「自然」一词是因为互动是我们人类的基本行为。从我们生命的第一天开始,我们就自然而然的去跟周围的一切互动,尝试去抓住或移动东西、尝试去说话去交流。这些交互方式反映在人机互动中同样会是自然的。
微软的首席研究员 Bill Buxton 曾说,语音用户界面可能会是最自然的用户界面,尤其是在驾驶汽车的时候。很显然,当你手放在方向盘上,眼睛盯着前方关注路况。通过声音,就可以为你传输大量的信息,这成为当前场景下最有效的沟通(互动)方式。通过技术的进步,使得我们可以与机器进行对话、互动。
语音是一种很常见的人类技能,因此也可以假定你的用户已经具备了该技能。对于 VUI 开发人员来说,下一个挑战在于创建对话/技能/行为,以及训练聊天机器人/虚拟助理来进行交流并且让它们好用。
这个挑战相当的艰巨,因为要让机器去理解我们的意图就必须还得联系并了解上下文对话。为了要听起来自然,也应该具备个性等等。下面我们列出了一些技巧,可以用于创建聊天机器人和虚拟助理。
语境(上下文)
作为人类,我们可以很自然地使用语境,我们都不需要去刻意去思考这件事。我们可以自然的知道如何跟不同的人或在不同的地方以何种方式进行对话。我们会用不同的语气或方式跟孩子、父母、朋友和同事进行交谈。我们在家里的时候可以大声而直率的讲话,但在公共场合时,我们就会保持形象并注意自己的说话语气和用词。
而聊天机器人和虚拟助理是没有这种场景化的知识和意识的。这就是为什么要提这个「语境」的原因了。一些基本的数据信息,如用户的查询记录/答案、用户授权后获得的信息、用户表达的信息等等这些,不要去问那些你(机器人)已经知道的事情,不要给有经验的用户还不断提供新手引导。
个性
当聊天机器人或虚拟助理拥有了个性会听起来很自然。例如:Alexa 就很好玩,它对各种事物都有自己的见解。甚至,它的观点和喜好会因所在国家/地区而不同。比如在美国时问它喜欢什么啤酒和在德国时问它是不一样的。亚马逊的开发人员在开始创建 Alexa 时,他们只是希望不要让它听起来像一台没有情感的机器。然而没想到会有如此多的人爱上了 Alexa 的性格。而 Alexa 也因拥有性格在与用户互动中增加了信任度。这个原则一定程度上会限制自动生成响应的能力,然而对用户体验却是至关重要。
简明
简短的用词可以减轻认知负担、节省时间以及听起来比较自然。缩短文本去展示真正重要的信息,省略用户已经知道的事实和说明。如果你的机器人带有显示屏,你还可以将一些信息放在屏幕上进行归纳或隐藏等。
灵活性
必须要预料到,用户会在对话的过程中随时改变信息。甚至用户会用各种不同的表达来回答你的问题。
自然性
机器人的讲话必须自然,需要避免重复和比较官方的语言。尽可能的使用隐式确认和主动监听技术,来告诉用户你获取到的关键信息和内容。并且不要忘记那些礼貌性的表述,如再见、感谢、请这样的用词等。
主动性
为了避免出现用户不知道下一步该怎么做的情况,需要在监视对话框中将出路(下一步)考虑进去。如通过问题或指导性的标记来进行对话,提供相关的按钮指引等。
虽然对话设计会受限于技术的开发水平,但是使用这些技巧能够在一定程度上有助于进行轻松自然的对话。这个领域还相对较新,我们都需要从不断的尝试和错误中来吸取教训,因此也不要害怕犯错。
要记住,好的对话是自然的对话。
以上就是译文内容了
其他
接下来,想就几个点再说一说
关于机器人个性
在我们与机器人对话时,一般会涉及到四个不同类型的对话,开放域的聊天、任务驱动的对话、问答(FAQ)和推荐。
但很多时候,这些不同类型的支持都是来自于不同的团队。不同团队将其不同功能赋予给了这个机器人。当这个机器人与用户进行对话时,用户会明显感觉到不自然。我们稍微回想下,当你跟你朋友聊天,如果对方突然变成了你朋友的男朋友/女朋友在打字说话,一般情况下是能感觉出来的。
关于灵活性
人类语言的表述真的过于灵活而丰富了,同样的一个词,在不同的语境下,甚至不同的语调都代表着不同的意思,这着实加大了机器人来理解人类语言的难度。
关于场景
同样的功能,在不同的场景下,人类对其要求也是不同的。举个例子,也是我最近跟我的天猫精灵互动时的感受。
有时睡的比较晚,大概在晚上两点多的时候,我说「天猫精灵帮我定个早上八点的闹钟」,这时天猫精灵会保持原音量来回答我。是的,如果我之前白天很欢乐很大音量的听过歌,这时我就要被天猫精灵超大嗓音给惊吓到了(已被吓到好多次了)。
于是我会把音量降低再降低。然而早上天猫精灵大概会在七点五十九分?的时候突然以正常音量说「您的闹钟即将响起」(明明我已经把音量调低了),于是我就这样被这句话突然的吓醒..……
所以单这样一个定闹钟的功能,在不同的场景下,我们也是希望它能更自然点、贴心点、聪明点。
嗯,今天就写到这了~