对话式设计要点:构建聊天机器人的技巧
已发表: 2022-03-10如果你仔细观察,人与人之间的互动是非常迷人的——社交尴尬、沟通方式、知识传递的方式、讲述故事的方式和建立信任的方式。
但是当一台机器唤起同样的反应时会发生什么呢?
会话界面已成为 UX 设计的新热点。 谷歌即将发布新的虚拟助手聊天机器人; Facebook 已经推出了带有聊天机器人的更新版 Messenger 平台; 微软甚至声称未来的操作系统不是 Windows,而是“作为平台的对话”。
关于 SmashingMag 的进一步阅读:
- 对话界面:我们今天在哪里? 我们将走向何方?
- 对话会伤害还是帮助 Chatbot UX?
- 如何使用 Node.js 开发聊天机器人
所有大型行业参与者都已经发现,人工智能 (AI) 的进步可以解决一个非常重要的用户体验问题:让不知名的品牌网站和应用程序感觉非常个性化。
聊天机器人可以创造一种更真实、量身定制的体验,这种体验可以与商店的体验相提并论——你会从销售人员那里得到微笑、闲聊和友好的眨眼,这使得整个购买体验更加个性化和愉快. 对于品牌而言,这代表了一个机会,可以扩展和管理与客户的关系,并超越“仅仅是一种产品”。
然而,从用户体验的角度来看,构建一个真正有用且有吸引力的聊天机器人仍然是一个挑战。 尽管我们现在拥有出色的机器学习技术,推动了人工智能和自然语言处理 (NLP) 技术的发展,但我们可以创建的助手类型仍然有限,我们需要最大限度地利用现有技术。 Chatbots 杂志的创始人 Matt Schlicht 创建了一个非常全面的指南,总结了聊天机器人生态系统的现状和设计师的机会。
最近,我参与了 Alty 的聊天机器人项目——一个 Facebook 即时通讯机器人,用于与潜在客户聊天,向他们介绍公司和所提供的服务,并发送电子邮件查询。
这种体验相对较新且具有挑战性。 与标准图形用户界面 (GUI) 不同,该应用程序需要在用户输入很少的情况下无缝运行,通过利用存储的信息提供新价值,并预测用户需求。 标准模式和流程在对话式设计中并不真正起作用,否则它们需要进行重大调整。 检查 Messenger 平台的 Bot UI Kit,由 Mockuup 和 Botframe 提供 - 一个简单的原型工具,用于模拟由 Alsadir Monk 开发的对话,以更好地了解该平台上的常见流程。
1.选择一个工具包
如前所述,您可能遇到的第一个挑战是您几乎无法控制应用程序的外观。 您不需要对排版、布局或样式大惊小怪。 如果您正在构建一个语音控制聊天机器人,它甚至没有视觉方面! 因此,放弃大多数标准工具并使用新的有用工具来增强您的工具包。
对于我们的项目,我们选择了最简单的工具 — Chatfuel,这是一款免费、直观的 Facebook 管理器机器人构建器,具有拖放界面,几乎不需要任何编码。
但是,如果您计划构建更高级的机器人,则值得研究以下工具:
- Twine 这个非线性文本编辑器为您的对话框创建文本脚本和消息序列。
- 机智 这个不可或缺的工具将帮助您将语音和文本命令转换为动作。 社区创建了数十个方便的命令,您可以添加自定义命令。
- Botkit Howdy 的 Botkit 提供了一组方便的命令和现成的代码,供您构建您的第一个 Slack 聊天机器人。
- Api.ai 最近被 Google 收购,这个强大而全面的平台将帮助您构建任何类型的会话 UX 界面。
- Botwiki 这个 wiki 回答了所有常见的聊天机器人问题。
我们在标准应用程序中使用的标准控件或样式很少适用于对话式设计。
2. 提示用户如何开始
对话式设计彻底改变了用户与应用交互的方式。 通常,当用户打开一个新的 iOS 应用程序时,他们会看到一些熟悉的元素,例如菜单、用于登录或创建帐户的面板、按钮等——这些元素他们已经知道如何基于常见的交互模式。
然而,与聊天机器人的第一次相遇并不那么传统。 用户将盯着空白屏幕,迷失在下一步要做什么或如何与应用程序交互的假设中。 他们面临两个简单的问题:
- “我不知道我应该做什么。”
- “这东西到底能为我做什么?”
对于大多数用户来说,聊天机器人似乎并不直观。 因此,您的首要任务是提示用户接下来将要发生的事情。 从快速介绍和直接的号召性用语开始,例如:
保持简短和简单。 邀请用户体验您的应用程序的一项快速优势并立即享受结果。
对于 Alty 的机器人,我们选择在对话中包含按钮有几个关键原因:
- 对于某些用户来说,在旅途中打字可能会很麻烦,而且聊天机器人并不总是足够聪明来检测错别字(尽管我们稍后会讨论如何处理这个问题)。
- 按钮可以向用户提示机器人可以回答哪些问题以及可以执行哪些操作。
3. 制定正确的对话流程
你希望你的机器人看起来像一个巫师,而不是一个障碍,对吧?
设计聊天机器人最具挑战性的部分之一是使对话流程尽可能自然和高效。 然而,人类交互通常是混乱和非线性的。 以下是一些优化应用程序性能的技巧。
教你的机器人区分不同类型的问题
创建您的机器人能够有效处理和回答的问题的初始范围。 您可以使用一个名为 qTypes 的优秀库,其中包含 40 多个关于如何回答问题的子分类。 qType 表示用户期望的回复类型,qSubType 表示问题的格式:
- 。 对于替代选择问题,机器人被要求在两种选择之间进行选择(例如,“这件衬衫是红色还是绿色?”)。
- WH 。 这些问题从谁、什么、何时、何地或为什么开始。
- 恩。 这些是是或否的问题(例如,“你有狗吗?”)。
- TG 。 一个标签问题不是一个实际的问题,而是一个保持对话畅通的选项(例如,“这个海滩很可爱,不是吗?”)。
当您的机器人收到标准问题之一时,它可以根据库中的数据生成更准确的回复:
避免问反问,因为大多数用户倾向于回应他们,即使聊天机器人只是礼貌。
既然您的机器人能够理解问题,下一个挑战是教应用程序呈现适当的命令作为回报。
更有效地验证输入数据
标准的 GUI 允许您在处理输入数据时轻松地对其进行细化。 这个电子邮件地址有效吗? 这个用户名可用吗? 这个电话号码有效吗? 您可以在处理之前轻松限制和优化输入的数据。
然而,在对话式设计中,事情变得有点复杂。 用户可以随意说出或键入他们想要的任何内容; 因此,在构建问题和处理答案时,您需要很聪明。
提供提示。 尽可能避免开放式问题,因为它们通常会导致更多的混乱。 相反,提示您提供您期望的答案。 例如:
你想看什么样的案例研究? 我们有用于旅行、社交网络、设计和个人理财的应用程序。
或者,您可以根据您正在构建的平台的格式呈现信息——例如,Facebook Messenger 的列表:
另外,确认。 如果答案有效,请重复以确保一切正确,然后继续下一个问题:
知道了。 旅游应用。 你有什么预算?
或者提示出了什么问题。 如果输入的数据无效,请再次说明您需要什么样的答案。 理想情况下,区分你不理解的答案和很好但你不能接受的答案:
不要忘记用户正在与您的应用程序交谈。 他们可能会使用不同的词来描述同一件事——例如,“星期四”、“星期四”、“明天”或有错字的词。 您可以要求他们确认他们的条目,或者专注于为您的聊天机器人创建更高级的消息序列。
您可以通过 Normalizer 运行输入的数据来优化输入的数据,Normalizer 是一个将英国和加拿大拼写转换为美国英语的库,解释常见的缩写词并修复 4,000 多个拼写错误的单词。
等待关键输入。 在某些情况下,您需要用户输入一些您无法继续进行的基本信息。 在标准 GUI 中,该问题通常通过弹出模式窗口来解决,该窗口阻止对所有内容的访问,直到用户完成任务:“您验证了您的电子邮件地址吗?”,窗口提示“是”或“否”。
但是,在对话式设计中,您应该以稍微不同的方式解决这个问题。 这种循环对机器人来说可能会很烦人,所以一定要解释你需要的确切动作以及你为什么如此迫切地需要它。 为此目的准备一些对话片段,以防止聊天机器人变得重复:
通常,请三思而后行,确定某些信息是否至关重要。 只要有可能,进行有根据的猜测,或在后续步骤中再次询问相同的信息。
另一种选择是使用按钮和预先建议的文本,用户可以在提问和提供回复时从中选择。 按钮应该可以提高用户输入的整体质量,但是,它们可能会略微降低参与度。 因此,最好仅在您需要接收必要数据以进行操作时才使用它们。
随着人工智能技术的进步,训练机器人做出某些反应并教它们根据存储在数据库中的先前交互来猜测用户的意图可能会变得更容易。 然而,今天的大多数聊天机器人都没有花哨的人工智能大脑来回应用户。 因此,为了获得更好的用户体验,您需要自己完成这项工作。
4.专注于显微镜
在开发聊天机器人时,设计师应该像文案一样思考。 内容和对话框将定义您产品的风格。 最好的应用程序通常是那些具有有趣对话方式的应用程序。 因此,重点关注以下方面:
- 遵循与实际与人交谈时相同的用户流程。
- 该机器人不应该听起来太聪明,使用复杂的语法或语言结构。 保持简单和简洁。
- 不要使用特定性别的代词,因为你永远不知道谁在谈话的另一边。
- 准备一组略有不同的罐头回复,使对话更人性化。
- 在用户感到迷茫时添加帮助消息和建议。
- 为不受支持的主题撰写诙谐的回复,以免机器人看起来很愚蠢。
5. 逐渐显露特征
标准 GUI 通常会同时显示屏幕上可用的所有功能。 用户可以将鼠标悬停在图标上,单击按钮并访问菜单以查看应用程序的功能。
然而,与聊天机器人交互似乎是用户在向虚无说话。 因此,提示每一步,并逐渐突出不熟悉的功能。 让我们探讨一下这意味着什么。
在收到用户的初始命令后,解释接下来将发生什么以及机器人将做什么来完成任务。 建议下一步可能的步骤和/或链接到常见问题解答页面或用户手册。
首次成功交互后解锁附加功能。 禁用“训练模式”,并开始建议其他功能和更高级的提示。 这些功能和提示基于用户的历史记录和先前输入的数据。
提示用户新的事情要做。 例如,主动推荐机器人的其他一些很酷的功能:
嘿,你要开派对了! 你要我点 5 个大比萨吗?
例如,对话敏捷性是 Taco bot 的主要优势之一。 该公司使用 Wit.ai 为不同的对话场景提供支持,甚至开一些玩笑。 该平台的自然语言处理技术现在也用于为 Facebook 的 M 虚拟助手提供支持,允许机器人呈现不同的订购方式。 例如,“我可以吃墨西哥卷饼吗?”、“墨西哥卷饼,请”,甚至搞笑地回应“我喝醉了”的请求,这会触发“好的。 一杯水添加到您的订单”回复。 此外,用户可以键入“无奶酪”之类的单行评论,机器人将理解该信息指的是之前订购的墨西哥卷饼。
但是,如果聊天机器人发起对话,请确保它提供相关建议,因为您不想看起来像一个讨厌的垃圾邮件发送者,对吧?
聊天机器人和语音识别
语音命令正在成为 Siri 和 Google Now 的一部分,但开发此类机器人显然需要人力和物力资源。 即使是负责语音识别的最强大的神经网络,目前也很难训练。 正如 Andrew Gibiansky 指出的那样,最常见的挑战是,虽然小错误很容易消除,但由于相乘,较大的重复出现的错误可能会变得更大。
例如,如果有口音的用户将 Apple 发音为Eupple ,网络可能会以这种方式记住该命令。 同音字是语音识别的另一个主要挑战; 像“花”和“面粉”这样的词听起来相同,理解正确的上下文可能很困难。
因此,如果您的目标是构建一个简单的聊天机器人,那么目前选择语音命令可能不是您的最佳选择,除非您准备好在架构和先进的机器学习技术堆栈上进行大量投资。
最后的笔记
虽然聊天机器人可以成为创造更个性化客户体验的绝佳工具,但对话式设计仍然存在一定的局限性。 正如 Mariya Yao 所指出的,在某些情况下,对话可以帮助或伤害用户体验。
在为您的企业构建聊天机器人之前,您应该明确定义其目的以及它可以为用户带来的确切价值。 教机器人做一件非常好的事情,例如提供天气预报或介绍公司的服务范围,然后再进一步试验更高级的功能。 这是我们在根据用户反馈开发 April 机器人时学到的关键一课。