本指南介绍专门用于设计语音代理的最佳做法。您在设计语音代理时,目标是帮助用户(最终用户)完成任务,而无需上报给人工代理。用户应该感觉他们与语音代理建立了自然、交互式的协作对话。
您还应该查看所有代理类型的一般常规代理设计指南以及在使用 Dialogflow 服务时的最佳做法。
衡量代理质量
如需衡量代理的用户体验质量,请考虑跟踪以下指标:
误编路由:终止位置有误的调用方数。
第一次调用解析:第一次调用或联系时解析的调用数。
平均处理时间:解决用户问题所需的时间。
客户满意度:您的语音代理在用户调查问卷中的得分情况。
回合次数:完成用户任务所需的交流次数。
用户流失:用户取消对话的频率。
语音识别
以下提示可帮助您的代理识别最终用户语音:
- 代理应鼓励最终用户使用长短语或完整句子。这有助于提高识别质量。
- 考虑使用网络钩子来确认可能无法准确识别或需要验证的最终用户输入。
- 使用无匹配事件来要求最终用户更慢更清楚地传达信息。
对话结构
与语音代理的对话通常按以下顺序进行组织:
活动 | 示例 | 备注 |
---|---|---|
打开活动 | 用户登录或致电您的联络中心。 语音代理:您好,这里是 Travel Inc.。您需要什么帮助吗? |
语音代理会以欢迎辞开始对话。 |
主要序列 | 用户:我想预订飞机票。 语音代理:好的,您想去哪里? 用户:危地马拉,5 月 19 日晚上 9 点。 语音代理:好的,我们为您预订了一张 5 月 19 日晚上 9 点去危地马拉的机票。 |
任务由用户定义,由语音代理完成。语音代理可能需要几轮对话才能收集所有必要的信息。 |
关闭活动 | 语音代理:还有什么我可以帮到您的吗? 用户:没有了。 语音代理:好的,谢谢和我聊天! |
当用户的请求得到满足时,便准备结束对话。 |
欢迎消息
在设计发送给用户的开场消息时,请考虑如何尽快找到第一个主题。欢迎辞应该简短明了。下面是一些建议:
- 使用“Hello”之类的短语接听来电。
- 使用“这是 XYZ 公司的语音代理/助理”之类的语句识别语音代理。
- 显示类似于“今天您需要什么帮助吗?”这类语句
任何额外的信息都可能会让用户感到不满,并导致他们上报给人工代理。但是,您可能需要出于法律原因(如告知用户可能会录制对话)延长欢迎辞。
避免使对话听起来不自然或不平衡的信息。例如:
正确做法: | 错误做法: |
---|---|
对您希望用户使用的语言进行建模。例如,如果您希望用户用一两句话来解释事情,则可以将语音代理限制在每回合一到两句话。 | 不要用“通过一两句话告诉我……”或者“您可以说……”这样的句子来指导用户说话。 |
专注于用户想要完成的任务,以及在对话失败时设计错误处理策略。 | 请勿使用“我可以帮助您解决复杂的问题”这样的句子来告知用户语音代理可以执行的操作。 |
对话回合对
典型的对话由回合对组成,例如以下类型的交流:
- 问答 - 语音代理最常见的方式
- 接受/拒绝邀请
- 问候-问候
有时,一个回合对可能会包含额外的措辞,例如解释我们为何要提问、与我们想问的问题相关的背景信息或对用户回答作出的回应。例如,请考虑以下问答回合对:
语音代理:每日费用为 10 美元。(背景信息/说明) 您是否想继续添加此项福利?(问题)
用户:是。(answer)
语音代理:太好了!(回应)
另请参阅常规代理设计最佳做法指南的 Fulfillment 部分,了解有关 fulfillment 放置的准则。
对话修复
对话修复是纠正误解、听错和发音错误以恢复对话的做法。修复对话可以通过显示语音代理正在倾听他们的请求来帮助建立用户的信任。
一些最佳做法包括:
明确并使用用户在前面回合中提供的上下文。请避免问显而易见和多余的问题,例如“我没听懂”、“我不理解”或“我遇到了问题”。
为用户提供机会进行自我修复,这意味着允许用户以他们认为最佳的方式修复他们的回合,以确保在对话中包含代理。避免使用“尝试更换措辞”或“您可以说 x、y 或 z”等语句。
使用“您是说 x 吗?”结构来检查理解。
下表介绍了一些正确做法和错误做法示例:
正确做法: | 错误做法: |
---|---|
用户:我将要前往意大利。 语音代理:抱歉,哪个国家/地区? |
用户:我将要前往意大利。 语音代理:很遗憾,我听不清楚。您能再说一遍吗?你要去哪里? |
用户:我想支付 80 美元。 语音代理:您是说 80 美元吗?(仅重复需要确认的信息) |
用户:我想支付 80 美元。 语音代理:您要支付 80 美元吗?(重复冗余的“希望付款”信息) |
错误处理
以下部分介绍了如何处理对话失败的情况。
无匹配
当语音代理无法找到与用户所说的内容匹配的意图时,系统将调用无匹配事件。
首次发生无匹配事件时,请尝试以下操作:
向用户重复提问,但要用更短的方式重新整理问题,以指出缺少的信息。通过只关注缺失的信息,语音代理会隐式传达他们已经听到了用户其余的语句。
您可以在重述问题之前添加“抱歉”,以表示您这边出现了问题。
在第二个无匹配事件中,更清楚地表明语音代理正在努力倾听。例如,请考虑以下交流:
用户:我将要前往意大利
语音代理:抱歉,哪个国家/地区?
用户:意大利
语音代理:抱歉,您要前往哪个国家/地区?
无输入
如果您的语音代理没有收到用户的语音回复,请按与第一次相同的方式重复问题。在无输入事件的第二个实例中,您可以重述原始问题,但请确保该问题的所有原始组成部分都存在。
限制无匹配和无输入重复
为避免让用户陷入错误处理事件的循环中,请为每个页面实现最多 3 个无匹配/无输入。在发生第三个无匹配或无输入事件时,将用户上报给人工客服。
无语音超时
如果用户需要在继续操作之前查看信息或做出决定,请增加无语音超时设置,以便为用户提供足够的时间来作出响应。
在以下示例中,无语音超时设置为 2 秒,时间太短,用户无法阅读短信并做出决定:
语音代理:我已向您的设备发送了一条短信。点击链接即可了解旅行通行证。我将会播放音乐,以便您有时间查看文字并与我联系。<停顿 2 秒 l10n-attrs-original-order="second,pause"> 要继续吗?
用户:我仍在查看。
语音代理:您想要将旅行通行证添加到计划中吗?
对话技巧
本部分介绍有助于语音代理与用户建立信任并使对话更顺畅的技巧。
设计富有实用价值的问题
为语音代理设计明确且可操作的问题,以询问用户。 例如,请思考以下正确做法和错误做法:
正确做法: | 错误做法: |
---|---|
询问开放式的问题,如“您何时去旅行?”,提示用户提供日期,如果用户知道,则提供日期;否则回答“我不知道”。 | 不要询问“您是否知道旅行日期?”,这只会提示回答“是”或“否”,且实用价值较低。 |
询问“您想查看其他包裹的订单状态吗?” | 请勿询问“您想继续保持其他包裹的订单状态吗?” |
您还应让语音代理针对以下情况做好准备:用户可能会像通常自然对话那样隐式回答问题。例如,请考虑以下互动:
语音代理:转到账号,然后点击使用情况,然后点击按行显示使用情况。到达后请告诉我。
用户:我看不到 3 个月前或更早的数据。
用户的响应表明他们已成功到达目标屏幕,但仍需要更多帮助。您的语音代理应该预测此类暗示,而不是期望用户只说“我明白了”或“我不明白”。
获得用户信任
语音代理可通过使用确认功能和特定详细信息来向用户表明他们正在倾听。如果语音代理提供通用答案,用户可能会感觉语音代理听起来不自然。
使用确认功能。例如,请考虑以下交流,其中“没问题”用作确认:
用户:我想为星期一设置付款安排方案。
语音代理:没问题。您想在星期一支付多少费用?
添加特定的详细信息,表明语音代理正在主动倾听用户。例如,在上述交流中,短语“在星期一”是表示语音代理听到用户所说内容的特定详细信息。
尽快处理用户的请求,并排除任何不必要的步骤。在以下示例中,无关信息可能会导致用户不满:
用户:我所在区域是否发生服务中断?
语音代理:我们知道保持连接对您的重要性。我们来找出导致此问题的原因。请将问题所在行的后 4 位数告诉我们。如果问题出现在多行中,只需暂时提供一行。
用户:1234
语音代理:谢谢。我们来看看此行的后续步骤。现在我们开始吧。暂时停用然后重新启用 HD Voice 即可达到目的...成功了吗?
确保用户和语音代理之间的对话是平衡的。如果语音代理主导了对话,用户可能会感到对话中缺乏代理而感到不舒服。优先考虑“人物/地点/内容/时间/方式”问题,而不是“是/否”问题。
确保用户的对话在他们想要升级为人工代理时顺利转换。