亚马逊AWS官方博客

使用 Dashbot 分析和优化 Amazon Lex 对话

本博文由 Dashbot 的联合创始人兼首席执行官 Arte Merritt 共同撰写。用他们自己的话说,“Dashbot 是一个用于聊天机器人和语音技能的分析平台,使企业能够通过可指导行动的见解和工具,提高参与度、满意度和转化率。

部署机器人之后,分析机器人交互、从此分析中学习并利用这些经验来改善最终用户体验至关重要。对话界面比网站和移动应用程序更易分析。可以直接通过对话推断用户行为,而不必通过将页面视图和选择事件组合在一起来猜测用户需求。用户会用自己的语言说出想要什么,并传达他们的需求、渴望、期望和沮丧。您可以根据这些宝贵的数据,自行决定聆听、学习和优化应用程序。

我们很高兴地宣布,您现在可以轻松地将 Amazon Lex 界面与 Dashbot 集成在一起,Dashbot 是一个从头开发的分析和优化平台,用于分析和理解对话应用程序。Dashbot 提供您期待从分析平台获得的报告,例如用户数量、留存指标和漏斗跟踪。此外,Dashbot 还提供几种专门针对对话应用程序开发的解决方案,例如可搜索的记录、对话路径和短语聚类。 在本文中,我们将描述如何使用 Dashbot 功能来分析与 Amazon Lex 机器人的交互。

解决方案架构

您将使用一个 AWS Lambda 函数,从 Amazon CloudWatch Logs 流式传输对话日志数据。您将设置一个事件,从日志组触发 Lambda 函数。Lambda 函数会将 JSON 数据发送到您的 Dashbot 帐户。有了这些资源之后,您就可以在 Dashbot 中创建仪表板了。

借助此解决方案,您可以使用 Amazon Lex 对话日志数据捕获机器人交互,并使用 Dashbot 服务对其进行分析。下图显示了针对意图的重要消息:

在 Dashbot 上创建帐户

要设置 Dashbot 帐户,请执行以下步骤:

  1. 导航至 dashbot.io。
  2. 选择注册。注意:您需要提供您的电子邮件地址、公司名称和密码。
  3. 选择添加 ChatBot。
  4. 对于机器人名称,输入您的机器人名称。在本文中,我们使用上一篇博文中的“AutoLoanBot”示例。
  5. 对于平台,选择 Lex。
  6. 您可以选择类别和生产状态。
  7. 选择注册。

以下屏幕截图说明了 Dashbot 的帐户设置。

注册聊天机器人后,系统会创建一个 API 密钥。记录此 AP I密钥以供后续使用。

为 Amazon Lex 启用对话日志

要将您的机器人交互发送到 Dashbot,请为您的 Amazon Lex 机器人启用对话日志文本。您可以使用我们介绍的上一篇博文中创建的 AutoLoanBot 示例,也可以使用自己的机器人。

  1. 首先,在Amazon CloudWatch Logs创建一个名为 car-loan-bot-text-logs 的新日志组
  2. 接下来,创建一个名为 LexCarLoanBotRole 的 IAM 角色,以允许 Amazon Lex 创建日志流并将日志事件发送到 car-loan-bot-text-logs 日志组中。
  3. 在 Amazon Lex 控制台上,选择 AutoLoanBot
  4. 选择“设置”。
  5. 选择别名,并确保您的机器人具有别名。我们将创建一个别名测试,指向Latest机器人版本。
  6. 如果您尚未发布机器人别名,则需要首先进行此操作。 选择发布,在选择别名下拉列表中选择别名(例如 test),然后选择发布。
  7. 现在在侧边栏中选择“对话日志”。
  8. 选择与您的机器人别名相对应的“设置”齿轮图标。
  9. 在日志类型下,选择“文本”日志。
  10. 对于日志组名称,从下拉列表中选择 car-loan-bot-text-logs
  11. 对于 IAM 角色,从下拉列表中选择 LexCarLoanBotRole
  12. 选择“保存”。

将您的 Amazon Lex 对话日志与 Dashbot 集成

现在您正将对话记录到CloudWatch Logs,配置订阅以将这些消息发送到 Dashbot。请执行以下步骤。

  1. 在控制台上导航到 AWS Lambda 服务。
  2. 选择创建函数,并选择从头开始创作。
  3. 输入函数名称,例如 lex-dashbot-integration
  4. 选择运行时语言支持的最新 Node.js 版本。
  5. 选择创建具有基本 Lambda 权限的新角色。
  6. 选择创建函数。
  7. 在函数代码中,对于代码输入种类,选择“从 Amazon S3 上传文件”并输入以下 URL:https://aws-ml-blog.s3.amazonaws.com/artifacts/lex-dashbot-integration/8231d7e369435c68383681d23df4011a
  8. 将处理程序名称更改为 src/index.handler
  9. 在环境变量中,选择编辑,添加环境变量,然后添加一个变量使用键 DASHBOT_API_KEY,对于值,使用上面获得的 API 密钥,然后选择保存。
  10. 选择添加触发器,然后选择 CloudWatch Logs 进行触发器配置。
  11. 从下拉列表中选择 car-loan-bot-text-logs 日志组。
  12. 输入筛选器名称,例如 dashbot-filter,然后选择添加。
  13. 选择保存以保存 Lambda 函数。

测试集成

设置完成后,可以通过将消息发送到 Amazon Lex 机器人来测试集成。如果您使用的是 AutoLoanBot 示例,则可以下载测试脚本以生成日志数据(对话日志不记录通过 AWS 管理控制台进行的交互)。要下载测试脚本,请选择 test-bot.zip

将消息发送到应用程序后,您可以在 Dashbot 的实时记录部分中看到它们。例如,以下屏幕截图显示了一条记录,其中包括用户的表达、它们被映射到的意图以及机器人的响应。

在机器人的生命周期内使用 Dashbot

将数据发送到 Dashbot 几天后,就可以查看报告了。本文显示了留存报告、对话路径、对话目标报告和短语聚类。您还可以查看指标计数、漏斗和细分受众。

留存报告

留存报告可帮助您了解客户多久返回应用程序的频率。以下屏幕截图显示了现有用户留存报告。

对话路径

通过对话路径,您可以查看用户在应用程序中使用的最常见路径。您可以看到他们成功遵循预期路径的位置,以及他们退出流程的位置。以下屏幕截图显示了 AutoLoanBot 示例的对话路径。

对话目标

目标对话跟踪可帮助您了解有多少用户实现了其目标,例如完成购买或升级问题。以下屏幕截图显示了一个升级报告。

短语聚类

您可以查看按语义分组的消息。以下屏幕截图显示了如何将消息列表与 NotHandled 意图结合使用,以改善 ThankYou 意图的训练数据。

小结

Dashbot 提供了一套全面的报告,可用于分析 Amazon Lex 机器人的性能。您可以快速部署 AWS Lambda 函数,以将近实时的速度安全地将 Amazon Lex 对话日志发送到Dashbot 帐户,并使用Dashbot 优化对话应用程序需求。有关如何以最佳方式分析和优化机器人的更多信息,请访问 Dashbot 网站或直接联系 Dashbot

本篇作者

Arte Merritt

是聊天机器人分析平台 Dashbot 的首席执行官和联合创始人。在此之前,他创立了移动分析平台 Motally,并通过将其出售给诺基亚成功退出。他在分析领域拥有 20 多年的经验,曾与 Yahoo Mobile 等公司和各类初创公司合作。Arte 是麻省理工学院的校友。

Harshal Pimpalkhute

作为 Amazon Lex团队的产品经理,Harshal Pimpalkhute 投入大量时间尝试使机器(友好地)与人类互动。

Brian Yost

Brian Yost 是 AWS Professional Services 的高级顾问。在闲暇时间,他喜欢山地骑行、自酿啤酒和技术研究。