构建机器人教程

本页是一个教程,其讲述了 Classics, Inc. 的 Bot Builder 管理员 Akela Wolfe 如何构建新机器人。 本教程的目标是帮助您:

  • 熟悉 Bot Builder 用户界面。
  • 了解 Bot Builder 机器人的主要配置以及它们如何协同工作,例如意图、实体、故事和规则。
  • 了解创建和使用 Bot Builder 机器人的工作流。

在学习本教程之前,请阅读有关 Bot Builder 入门的帮助页面。 其介绍了基本的对话式 AI 概念,并将其与 Bot Builder 配置相关联。

如果您愿意,您可以跟着 Akela 来学习。 下面每个部分的下拉列表中都包含执行每项任务所需的步骤。

教程范围

本教程不会产生完全工作的机器人。 它指导您完成构建和管理单个用例的过程。 许多机器人将处理多个用例。

本教程仅涉及与 Bot Builder 机器人直接相关的步骤。 其不包括在 CXone Mpower 中设置和配置数字渠道关闭 联系人与坐席或机器人交互的一种方式。 通道可以是语音、电子邮件、聊天、社交媒体等。路由队列关闭 系统使用路由队列决定将案例路由给的坐席。 您的系统管理员创建路由队列,以便将某些案例路由给专长于该类案例的坐席。所需的步骤。 机器人需要这些才能在生产环境中运行。 当您准备好创建自己的机器人时,请遵循实施流程,该流程涉及了设置和管理机器人所需的所有步骤。

准备

Akela 接到的任务是创建一个新机器人。 她的经理希望该机器人能够回答基本的客户服务问题,例如如何更改密码、更新帐户详细信息等。 她与经理合作,将以下用例确定为机器人的起点:

  • 更改密码
  • 更改地址
  • 更改电话号码
  • 更改计费信用卡

Akela 决定她要处理的第一个用例是更改密码。 她与组织中的帮助台坐席交谈并审查交互关闭 通过某个渠道与坐席进行的完整对话。 例如,交互可以是语音呼叫、电子邮件、聊天或社交媒体对话。记录和记录文本。 通过使用此输入,她构建了一个典型的密码重置交互文件。

她之前曾在 Bot Builder 工作过,因此 Akela 知道她的 CXone Mpower 员工配置文件具有访问 Bot Builder 所需的权限: Bot Builder > 启动 Bot Builder

创建新机器人

Akela 登录 CXone Mpower 并为机器人创建一个新的员工配置文件。 这是必需的,因为 CXone MpowerBot Builder 机器人视为用户实体。 所有用户实体必须在 平台 中具有员工配置文件。

创建了机器人的员工配置文件后,Akela 在 Bot Builder 中创建一个新机器人。 她为其指定的名称与该机器人员工配置文件中使用的名称相同,为 John Bot

创建意图

在查看了她收集的真实交互后,Akela 整理了一个典型的成功密码重置请求的示例。 对于此意图,其被称为愉快路径。 以下是她的示例:

联系人:你好。

机器人:您好,我可以怎样提供帮助?

联系人:我忘记密码了。

机器人:很遗憾听到这个消息。 您可以在我们的网站上进行重置。

联系人:我该怎么做?

机器人:单击登陆页面右上角的“忘记密码”。 然后输入您的电子邮件地址,系统会为您发送一个重置密码的链接。

联系人:谢谢!

机器人:不客气。 您还需要什么帮助吗?

联系人:不,你帮了很大的忙。 再见。

机器人: 谢谢您联系我们。 再见。

Akela 确定此愉快路径中有五个意图:

  • 问候(您好
  • Reset_password(我忘记了密码)
  • 说明(我该怎么做?
  • 谢谢(谢谢您提供了非常大的帮助
  • 再见(再见

Akela 创建了这些意图:

  1. Bot Builder 中,Akela 转到 NLU 部分的“意图”选项卡。
  2. 她创建了一个名为 Conversation_defaults 的文件夹。
  3. 在该文件夹中,她创建了一个名为问候的意图。
  4. Akela 浏览了她收集的交互示例,并添加了联系人使用的所有不同问候作为问候意图的示例。 她添加了您好howdyyo,等等。
  5. 然后她又添加了两个意图,感谢再见。 她为其中每一个都添加了示例,包括谢谢非常感谢非常感谢您。 对于再见意图,她添加了再见再会好的,再见
  6. 接下来,Akela 创建一个名为 password_reset 的文件夹。
  7. 她添加了名为 Reset_password解释的意图,然后为她交互示例中为每个意图均添加了示例:
    • 对于 Reset_password,她添加的示例如我需要更改我的密码我的密码错误我的密码需要更新如何更改我的密码
    • 对于解释,她添加了一些示例,例如我该怎么做我没有看到该选项它在哪里
  8. 当 Akela 在交互示例中找到她的意图时,她继续为她的意图添加示例。 所有这些意图都有中等数量的示例。 她知道更多的示例可帮助她的机器人学习。 但她也知道不建议编造示例。 她现在没有更多要添加的示例,但可在使用她的机器人时添加更多示例。

创建规则

Akela 确定规则是向她的机器人示教她创建的一些意图的正确方式。 规则可示教机器人在每次识别出意图时对意图给出相同的应答。 这非常适合问候、告别和感谢等;这些是她想要使用规则的意图。

Akela 执行的操作如下:

  1. 她在 Bot Builder “对话”部分的规则选项卡上创建了一个名为 Conversation_defaults 的文件夹。
  2. 在该新文件夹中,Akela 添加了一个名为问候的规则。
  3. Akela 使用您好作为示例联系人消息 带有圆角且里面有一张脸的正方形。 来触发问候规则。 当她按 Enter 时,她的机器人正确预测了问候意图,因此她确认了此结果。
  4. 接下来,Akela 添加机器人应答 带有圆角且里面有一个机器人头的正方形。。 她希望机器人用自己的问候语进行响应,因此她添加了消息机器人操作,然后输入嗨,今天我可以怎样提供帮助? 作为她希望机器人发送给联系人的消息。
  5. 最后,她决定,如果联系人经常使用该机器人,他们可能会注意到该机器人总是做出相同的响应。 为了使体验更像是与人交谈,Akela 在机器人的响应中添加了一些变化 图标,以两个交叉箭头表示。 机器人将随机使用其中一条消息。 除了第一条消息之外,机器人现在还可以说嗨,感谢您与我们联系。 我能为您做什么? 您好,今天有什么可以帮您的吗?
  6. Akela 重复此过程并创建再见规则。 她使用再见作为触发联系人消息 带有圆角且里面有一张脸的正方形。
  7. 机器人正确预测了再见意图,因此 Akela 确认了此结果。
  8. 接下来,她添加机器人的应答。 她添加了再见! 作为“消息”操作,以及将祝您有美好的一天。祝您今天好好休息! 作为变化 图标,以两个交叉箭头表示
  9. Akela 添加的最后一个规则是谢谢。 对于此规则,她使用谢谢作为触发联系人消息 带有圆角且里面有一张脸的正方形。。 机器人预测了正确的意图,Akela 确认了此结果。
  10. 然后她添加机器人的应答。 她添加了不客气! 作为“消息”操作,以及将我很乐意提供帮助。当然,我随时提供帮助。 作为变化 图标,以两个交叉箭头表示

创建故事

Akela 将为剩下的两个意图(Reset_password 和解释)创建故事。 她引用了她计划的有关忘记密码的愉快路径故事。 经过思考,她决定将“解释”意图与 Reset_password 意图结合起来。 这将缩短对话并改善客户体验。

Bot Builder 中,创建她的故事:

  1. 首先,她在 NLU >“意图”选项卡上隐藏了 一只眼睛,有一条对角线穿过它。“解释”意图。 这会将其从机器人中排除。 她现在想保留它,但不想将这些意图示例添加到 Reset_password 意图中。 她希望提供这些信息作为对密码请求的应答将意味着没有人会问“我该怎么做”的问题。
  2. 在“对话”部分的“故事”选项卡上,Akela 创建一个名为 Password 的文件夹。
  3. 在该新文件夹中,她创建了一个 Reset_password 故事。
  4. 她以联系人信息我需要更改我的密码开始此故事。
  5. 她添加了包含两个部分的机器人应答: 
    • 首先是“消息”操作,该操作带有文本很遗憾听到这个消息。 我可以帮忙! 您可以在我们的网站上执行此操作:
    • 第二个是“富链接”操作,她向该操作中添加了一个可转到有关重置密码的 Jungle 网站页面的链接:www.jungle.com/passwordreset。 她包含了 Jungle 徽标的图像,该图像将显示在带有链接的消息中。

Akela 创建的这个故事只包括与 Reset_password 意图上下文相关的对话其中一部分内容。 注意这一点非常重要,因为向故事中添加与其意图不太相关的更多内容会使机器人感到困惑。

训练和测试机器人

在为第一个用例创建每个意图、规则和故事后,Akela 单击训练和阶段。 这将创建一个包含这些配置的新机器人模型。 但这只是训练的第一步。 在为密码重置用例添加规则和故事后,Akela 需要测试机器人预测和响应用例中的意图的能力。

为此,她开始在 Bot Builder 中进行测试和训练:

  1. Akela 做的第一件事是单击训练和阶段,以确保她的机器人及时了解她所做的所有更改。
  2. 在训练进行期间,Akela 找到了密码重置用例的真实对话示例。
  3. 她单击与您的机器人交谈 图标,由对话气泡表示,其位于训练和阶段按钮旁边。
  4. Akela 选择其中一个对话示例并扮演了联系人的角色。 她像脚本一样遵循该示例,并以您好开始此对话。
  5. 机器人表现完美。 Akela 在聊天窗口中单击重置并开始下一个对话示例。
  6. 这次对话不太顺利。 机器人正确预测了 Reset_password 意图,但在使用 URL 进行响应后,联系人回复了哦,这很简单。 不知道为什么我没有看到它。
  7. Akela 记下了这个未识别的消息,以便稍后解决它。
  8. 她继续测试。 她发现机器人发送 URL 消息后,另外两个联系人回复了意外消息: 
    • 一个人说咄,哈哈! 那很明显! 另一个人说我以前怎么会没看到呢? 谢谢
    • 第二个应答包含单词感谢,因此机器人预测了“感谢”意图。 但 Akela知道,如果没有这个词,机器人将不会做出适当的响应。
  9. 在测试不同的对话示例时,机器人没有预测出我的帐户被锁定的正确意图。 Akela 将此示例添加到 Reset_password 意图中。
  10. 她重置此聊天窗口并重复该示例对话。 这次,机器人正确预测了该意图。
  11. Akela 注意到,尽管我的帐户被锁定触发了 Reset_password 意图,但机器人的应答我很遗憾听到这个消息! 您可以在我们的网站上执行此操作。 不是一个适当的应答。
  12. Akela 现在有两项任务需要完成,以完善她的机器人对此意图的应答:
    • 为任何意外消息创建回退。
    • 创建一个针对联系人因解决方案很简单而感到宽慰的表达的意图。

创建回退

通过测试,Akela 发现,如果联系人说了一些意想不到的话,机器人不知道如何响应。 她决定创建回退方案来解决这种情况。 回退分为三种:操作、NLU 和富消息传递。 Akela 确定,对于当前的情况,NLU 回退是她需要的类型。

  1. 在“对话”>“回退”选项卡上,她单击页面左侧列表中的 NLU
  2. 她查看“基本”和“高级”选项,然后选择高级
  3. 在“高级”页面上,她决定不更改步骤 1 的默认机器人消息。
  4. 对于步骤 2,Akela 添加了一个“消息”操作,然后添加了一个“移交”操作,如下图所示。

优化意图、规则和故事

Akela 致力于解决,从而修复联系人因解决方案很简单而感到宽慰的表达:

  1. Akela 转到 NLU >“意图”选项卡,然后在 Conversation_defaults 文件夹中创建宽慰意图。 她正在创建的意图是通用的,与任何情况都不具体相关。 这意味着只要联系人表达了宽慰之情,机器人便能够做出响应。
  2. 她添加了她已经找到的示例,包括嗯,这很明显我怎么会没看到它哦,这很容易
  3. 接下来,她使用她的一个示例作为联系人信息来创建一个故事。 她让机器人通过“消息”操作进行响应,该操作表示我很高兴能提供帮助! 您还需要什么帮助吗?

重复测试

解决了初次测试中发现的问题后,Akela 重复进行了测试。 当她没有发现任何其他问题时,她决定将她的机器人部署到生产中。

部署并上线

Akela 的新机器人将使用数字实时聊天关闭 坐席和联系人实时交互渠道。 该渠道已经在她组织的测试环境中进行了测试,因此她知道它可以正常工作。 在部署机器人之前,她在生产环境中设置了该渠道,并且验证了新聊天窗口所在网站的更新页面是否已准备好部署。

接下来,Akela 将她的机器人部署到 Bot Builder 的生产环境中,并进入首选项设置以切换到在线。 然后她通知负责该网站的团队,他们可使用此新版本更新此页面。

查看对话数据

在她的机器人上线几天后,Akela 在 Bot BuilderInsights > 对话选项卡上查看对话数据。 她很快发现,许多用户在同一条消息中同时表达了感谢和再见。 她认为,如果创建了一个多意图,那么对话将会更流畅,这样机器人就可以一起响应这些意图。 多意图涉及联系人在一条消息中具有两个意图的情况。 她开始工作:

  1. 在 Conversation_defaults 文件夹中,她创建了一个名为感谢 + 再见的意图。 加号 (+) 使其成为一个多意图。
  2. Aklea 从她收集的交互示例中添加了这些意图的示例。 她添加的示例如这很有效。 再见谢谢,稍后再聊感谢您的帮助,再见谢谢,再见
  3. 接下来,她创建了一个使用“感谢 + 再见”意图的规则。 此机器人应答是一个“消息”操作,内容为不客气。 祝您生活愉快!